From 4db017dac3b5ee584cb3a8bff39d82a0ee057c3b Mon Sep 17 00:00:00 2001 From: Ross Thompson Date: Tue, 27 Sep 2022 17:24:35 -0500 Subject: [PATCH] Possible fix for ifu/lsu arbiration issue. --- pipelined/src/ebu/ebu.sv | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pipelined/src/ebu/ebu.sv b/pipelined/src/ebu/ebu.sv index 6def3a96e..e8d35c9ff 100644 --- a/pipelined/src/ebu/ebu.sv +++ b/pipelined/src/ebu/ebu.sv @@ -97,6 +97,8 @@ module ebu logic [2:0] LocalBurstType; logic CntReset; logic [3:0] Threshold; + logic IFUReqD; + assign HCLK = clk; assign HRESETn = ~reset; @@ -195,7 +197,10 @@ module ebu // Controller 1 (LSU) assign save[1] = 1'b0; assign restore[1] = 1'b0; - assign dis[1] = 1'b0; + assign dis[1] = CurrState == ARBITRATE ? 1'b0 : (IFUReqD & ~(HREADY & FinalBeat)); assign sel[1] = NextState == ARBITRATE ? 1'b1: LSUReq; + flopr #(1) ifureqreg(clk, ~HRESETn, IFUReq, IFUReqD); + + endmodule