From b4ba8c221bfcce95dc82c236675815e7b606dd28 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Sat, 15 Jan 2022 18:44:24 +0000 Subject: [PATCH] try using req.op in RELOAD_WAIT_ACK to detect whether request can complete next cycle --- src/soc/experiment/dcache.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/soc/experiment/dcache.py b/src/soc/experiment/dcache.py index 267a0e44..228f9add 100644 --- a/src/soc/experiment/dcache.py +++ b/src/soc/experiment/dcache.py @@ -1561,10 +1561,10 @@ class DCache(Elaboratable): # Compare the whole address in case the # request in r1.req is not the one that # started this refill. - with m.If(req.valid & r1.req.same_tag & - ((r1.dcbz & r1.req.dcbz) | - (~r1.dcbz & (r1.req.op == Op.OP_LOAD_MISS))) & - (r1.store_row == get_row(req.real_addr))): + with m.If(r1.full & r1.req.same_tag & + ((r1.dcbz & req.dcbz) | + (r1.req.op == Op.OP_LOAD_MISS)) & + (r1.store_row == get_row(r1.req.real_addr))): sync += r1.full.eq(r1_next_cycle) sync += r1.slow_valid.eq(1) with m.If(r1.mmu_req): -- 2.30.2