A scheduling experiment to try to get doRegReadMem and doExeMem

executing in the same clock cycle.  It doesn't seem to work (yet).
This commit is contained in:
Jonathan Woodruff
2024-01-09 11:52:29 +00:00
parent 32d094082b
commit b733e05a86
2 changed files with 7 additions and 7 deletions

View File

@@ -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);

View File

@@ -855,7 +855,7 @@ module mkSplitLSQ(SplitLSQ);
Vector#(StQSize, Ehr#(2, Addr)) st_paddr <- replicateM(mkEhr(?));
Vector#(StQSize, Ehr#(2, Bool)) st_isMMIO <- replicateM(mkEhr(?));
Vector#(StQSize, Ehr#(2, MemDataByteEn)) st_shiftedBE <- replicateM(mkEhr(?));
Vector#(StQSize, Ehr#(1, MemTaggedData)) st_stData <- replicateM(mkEhr(?));
Vector#(StQSize, Ehr#(2, MemTaggedData)) st_stData <- replicateM(mkEhr(?));
Vector#(StQSize, Ehr#(2, Maybe#(Trap))) st_fault <- replicateM(mkEhr(?));
Vector#(StQSize, Ehr#(2, Bool)) st_allowCapAmoLd <- replicateM(mkEhr(?));
Vector#(StQSize, Ehr#(2, Bool)) st_computed <- replicateM(mkEhr(?));
@@ -889,9 +889,9 @@ module mkSplitLSQ(SplitLSQ);
let st_shiftedBE_issue = getVEhrPort(st_shiftedBE, 1);
let st_shiftedBE_deqSt = getVEhrPort(st_shiftedBE, 1);
let st_stData_issue = getVEhrPort(st_stData, 0);
let st_stData_deqSt = getVEhrPort(st_stData, 0);
let st_stData_updData = getVEhrPort(st_stData, 0); // write
let st_stData_issue = getVEhrPort(st_stData, 1);
let st_stData_deqSt = getVEhrPort(st_stData, 1);
let st_fault_updAddr = getVEhrPort(st_fault, 0); // write
let st_fault_deqSt = getVEhrPort(st_fault, 1);
@@ -1501,8 +1501,8 @@ module mkSplitLSQ(SplitLSQ);
method Action updateData(StQTag t, MemTaggedData d);
`ifndef INORDER_CORE
// in-order core allocates entry and write data in the same rule
doAssert(st_valid_updData[t], "entry must be valid");
doAssert(!st_computed_updData[t], "entry cannot be computed");
//doAssert(st_valid_updData[t], "entry must be valid");
//doAssert(!st_computed_updData[t], "entry cannot be computed");
`endif
st_stData_updData[t] <= d;
endmethod