From 3e540a3ca3c14df3b5aa8a6aa0c1e4a8b608d170 Mon Sep 17 00:00:00 2001 From: Ross Thompson Date: Fri, 2 Sep 2022 19:58:41 -0500 Subject: [PATCH] Possible fix to AHB burst eviction bug. If HREADY went low during a burst seq the next data phase would only last 1 cycle. --- pipelined/src/lsu/lsu.sv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelined/src/lsu/lsu.sv b/pipelined/src/lsu/lsu.sv index 6e83175b..4ead5b0f 100644 --- a/pipelined/src/lsu/lsu.sv +++ b/pipelined/src/lsu/lsu.sv @@ -274,7 +274,7 @@ module lsu ( mux2 #(`XLEN) LSUHWDATAMux(.d0(ReadDataWordM[`XLEN-1:0]), .d1(LSUWriteDataM[`XLEN-1:0]), .s(SelUncachedAdr), .y(LSUHWDATA_noDELAY)); - flop #(`XLEN) wdreg(clk, LSUHWDATA_noDELAY, LSUHWDATA); // delay HWDATA by 1 cycle per spec; *** assumes AHBW = XLEN + flopen #(`XLEN) wdreg(clk, LSUHREADY, LSUHWDATA_noDELAY, LSUHWDATA); // delay HWDATA by 1 cycle per spec; *** assumes AHBW = XLEN // *** bummer need a second byte mask for bus as it is XLEN rather than LLEN. // probably can merge by muxing LSUPAdrM's LLEN/8-1 index bit based on HTRANS being != 0.