icache: Do PLRU update one cycle later
authorPaul Mackerras <paulus@ozlabs.org>
Fri, 10 Jul 2020 00:04:56 +0000 (10:04 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 14 Jul 2020 23:36:06 +0000 (09:36 +1000)
commit144d8e3c612e603496481547ea2f27b9a26c0253
tree1e3664e507023ca92064fbebc2da86b9163a0b9f
parent2081bdaa27d3422afdde3972d118819e55e3883f
icache: Do PLRU update one cycle later

This does the PLRU update based on r.hit_valid and r.hit_way rather
than req_is_hit and req_hit_way, which means there is now a register
between the TLB and cache tag lookup and the PLRU update, which
should help with timing.

As a result, the PLRU victim way selection becomes valid one cycle
later, in the cycle when r.state = CLR_TAG.  So we have to use the
PLRU output directly in the CLR_TAG state and r.store_way in the
WAIT_ACK state.

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