From 2c3c1da5c32126e1c224f7a8d07b06de7740c935 Mon Sep 17 00:00:00 2001 From: Jonathan Woodruff Date: Tue, 9 Jan 2024 17:12:39 +0000 Subject: [PATCH] Solve last issue to allow doExeMem and doFinishMem. --- builds/Resources/Include_Common.mk | 2 +- src_Core/RISCY_OOO/procs/lib/DTlb.bsv | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/builds/Resources/Include_Common.mk b/builds/Resources/Include_Common.mk index 8748263..329695b 100644 --- a/builds/Resources/Include_Common.mk +++ b/builds/Resources/Include_Common.mk @@ -98,7 +98,7 @@ BSC_COMPILATION_FLAGS += \ -suppress-warnings G0020 -steps-max-intervals 10000000 \ -steps-warn-interval 1000000 \ -promote-warnings T0054 \ - +RTS -K128M -RTS -show-range-conflict + +RTS -K128M -RTS -show-range-conflict -show-schedule # -D NO_SPEC_TRAINING -D NO_SPEC_REDIRECT -D NO_SPEC_STRAIGHT_PATH -D SPEC_RSB_FIXUP -D NO_SPEC_RSB_PUSH -D NO_SPEC_STL -D RVFI diff --git a/src_Core/RISCY_OOO/procs/lib/DTlb.bsv b/src_Core/RISCY_OOO/procs/lib/DTlb.bsv index 5998c7e..777a54e 100644 --- a/src_Core/RISCY_OOO/procs/lib/DTlb.bsv +++ b/src_Core/RISCY_OOO/procs/lib/DTlb.bsv @@ -181,8 +181,8 @@ module mkDTlb#( RWire#(void) wrongSpec_doPRs_conflict <- mkRWire; RWire#(void) wrongSpec_procReq_conflict <- mkRWire; - Integer req_port = 1; - Integer resp_port = 0; + Integer req_port = 0; + Integer resp_port = 1; let pendValid_noMiss = getVEhrPort(pendValid, 0); let pendValid_wrongSpec = getVEhrPort(pendValid, 0); @@ -208,7 +208,7 @@ module mkDTlb#( let pendSpecBits_correctSpec = getVEhrPort(pendSpecBits, 2); // free list of pend entries, to cut off path from procResp to procReq - Fifo#(DTlbReqNum, DTlbReqIdx) freeQ <- mkCFFifo; + Fifo#(TAdd#(DTlbReqNum,1), DTlbReqIdx) freeQ <- mkCFFifo; Reg#(Bool) freeQInited <- mkReg(False); Reg#(DTlbReqIdx) freeQInitIdx <- mkReg(0); @@ -628,7 +628,7 @@ module mkDTlb#( // poison entries for(Integer i = 0 ; i < valueOf(DTlbReqNum) ; i = i+1) begin if(kill_all || pendSpecBits_wrongSpec[i][x] == 1'b1) begin - pendPoisoned_Resp[i] <= True; + pendPoisoned_Req[i] <= True; end end // make conflicts with procReq, doPRs, procResp