loadstore1: Make r1.req.addr not depend on l_in.valid
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 13 Sep 2021 07:25:52 +0000 (17:25 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 14 Sep 2021 00:30:52 +0000 (10:30 +1000)
commitbb5f3563867d66ce2848c5853a6d2b4177d98e69
tree72c250c5685408af9f6c9e69705879a998e5ad79
parent2224b28c2cccb95179a6624dedcad791ab68807f
loadstore1: Make r1.req.addr not depend on l_in.valid

Some critical path reports showed r1.req.addr depending on l_in.valid,
which then depended ultimately on the dcache's r1.ls_valid.  In fact
we can update r1.req.addr (and other fields of r1.req, except for
r1.req.valid) independently of l_in.valid as long as busy = 0.
We do also need to preserve r1.req.addr0 when l_in.valid = 0, so we
pull it out of r1.req and store it separately in r1.

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