Fix PLRU
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 25 Aug 2022 03:14:20 +0000 (13:14 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 25 Aug 2022 03:14:20 +0000 (13:14 +1000)
commitfa4baa2800178a9caaea18c4915ab39f04875c66
treee6bf513108c902bb620555fc00953af7984b83bb
parent050185e2caabfb7a0ec11a433955fca18781d83a
Fix PLRU

Jacob Lifshay found a couple of issues with the PLRU implementation:

 - The tree array is one bit too long. This is harmless as this bit is never
accessed and thus should be optimized out

 - The PLRU read is using the wrong nodes when going down the tree, which leads
to incorrect results.

This fixes it and improves the test bench a bit. I have verified the expected
output using a hand-written tree states, observed the mismatch with the
current implementation and verified the fix.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
plru.vhdl
plru_tb.vhdl