dcache: Improve timing of valid/done outputs
authorPaul Mackerras <paulus@ozlabs.org>
Sat, 11 Jul 2020 07:46:03 +0000 (17:46 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Mon, 20 Jul 2020 04:24:54 +0000 (14:24 +1000)
commitdc8980d5a5dfab744e0df551a63208994927802d
tree8a2032e87a52e4a8509fe237427ece9a21e92d5e
parent893d2bc6a24f9d1dbae374e7aa01b2abda57d140
dcache: Improve timing of valid/done outputs

This makes d_out.valid and m_out.done come directly from registers in
order to improve timing.  The inputs to the registers are set by the
same conditions that cause r1.hit_load_valid, r1.slow_valid,
r1.error_done and r1.stcx_fail to be set.

Note that the STORE_WAIT_ACK state doesn't test r1.mmu_req but assumes
that the request came from loadstore1.  This is because we normally
have r1.full = 0 in this state, which means that r1.mmu_req can
change at any time.

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