dcache: Move way selection and forwarding earlier
authorPaul Mackerras <paulus@ozlabs.org>
Sat, 28 Aug 2021 10:11:55 +0000 (20:11 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Sat, 28 Aug 2021 10:11:55 +0000 (20:11 +1000)
commitf812832ad78d422fb5d30b8b6765c236a16b41e2
tree0ff0384e0c7e3e7a6aeb312319726ffc10a49a69
parent8bbb0018b4afb0f93de5c000d12abc6b10dae332
dcache: Move way selection and forwarding earlier

This moves the way multiplexer for the data from the BRAM, and the
multiplexers for forwarding data from earlier stores or refills,
before a clock edge rather than after, so that now the data output
from the dcache comes from a clean latch.  To do this we remove the
extra latch on the output of the data BRAM (i.e. ADD_BUF=false) and
rearrange the logic.  The choice whether to forward or not now depends
not on way comparisons but rather on a tag comparisons, for the sake
of timing.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
dcache.vhdl