From 9c10fda22f62420e78048fa3139e3772744b53fe Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Mon, 24 Jan 2022 14:11:07 +0000 Subject: [PATCH] hmm there seems to have been an error in DTLB Read, where if a write *and* a read occurred at the same time, the old DTLB-valid entry was given. add similar "forwarding" that is used in Memory. DTLB-valid is actually a register not a Memory, where the DTLB way/tags are a Memory, hence the bug --- src/soc/experiment/dcache.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/soc/experiment/dcache.py b/src/soc/experiment/dcache.py index f12a736e..bbb655f0 100644 --- a/src/soc/experiment/dcache.py +++ b/src/soc/experiment/dcache.py @@ -558,18 +558,24 @@ class DTLBUpdate(Elaboratable): #comb += wr_valid.en.eq(1<