litedram: Defer clearing of tags & valids to improve timing
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 10 Jun 2020 08:00:12 +0000 (18:00 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 12 Jun 2020 11:01:34 +0000 (21:01 +1000)
commitb23fd6c5f16b6a8effb31b0816e635c39fd9a44e
tree03c2625e277cf6d686a9e76c90ec3f979901db69
parent7192ee825ff663503d892b8a08e62e1c3fbedb01
litedram: Defer clearing of tags & valids to improve timing

Currently, there's a huge mux gathering the output of all the PLRUs
to select the victim way on cache miss. This is fed combinationally
into the clearing of the valid and tags.

In order to help timing, let's store it instead and perform the
clearing on the next cycle. The L2 doesn't respond to requests
when not in IDLE state so this should have no negative effects.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
litedram/extras/litedram-wrapper-l2.vhdl