[libre-riscv-dev] TLB

Luke Kenneth Casson Leighton lkcl at lkcl.net
Mon Apr 22 17:26:17 BST 2019


ok daniel, c/f above, i added in a "mode" argument to
SetAssociativeCache which selects a random set/entry in the MemorySet
array (MemorySet: new class), and if that mode is True, it uses the
new LFSR2 (thank you to jacob).

what i don't know is whether i got that right or not.  also i
introduced a bug where the PLRU encoder was not connected properly,
i've corrected that.

unit tests are going to be pretty critical for this.  also i may do
some ASCII art as i am *really* losing track of the connections
between the modules, it's really not obvious.

so, i am proobably done / happy now... looong day.... lots of TODO
comments added, where i think flush/invalidate and flush_all are
needed (if you can do that?), also error handling, i think it goes
into a lock-up in the read FSM on a multi-hit, can you check?


More information about the libre-riscv-dev mailing list