Renamed DCacheStall to LSUStall in hart and hazard.

Added missing logic in lsu.
This commit is contained in:
Ross Thompson 2021-07-15 10:16:16 -05:00
parent f234875779
commit c954fb510b
4 changed files with 6 additions and 5 deletions

View File

@ -433,7 +433,7 @@ module dcache
case (CurrState) case (CurrState)
STATE_READY: begin STATE_READY: begin
// TLB Miss // TLB Miss
if(AnyCPUReqM & DTLBMissM) begin if(AnyCPUReqM & DTLBMissM) begin
NextState = STATE_PTW_READY; NextState = STATE_PTW_READY;
end end
// amo hit // amo hit

View File

@ -31,7 +31,7 @@ module hazard(
// Detect hazards // Detect hazards
input logic BPPredWrongE, CSRWritePendingDEM, RetM, TrapM, input logic BPPredWrongE, CSRWritePendingDEM, RetM, TrapM,
input logic LoadStallD, StoreStallD, MulDivStallD, CSRRdStallD, input logic LoadStallD, StoreStallD, MulDivStallD, CSRRdStallD,
input logic DCacheStall, ICacheStallF, input logic LSUStall, ICacheStallF,
input logic FPUStallD, FStallD, input logic FPUStallD, FStallD,
input logic DivBusyE,FDivBusyE, input logic DivBusyE,FDivBusyE,
// Stall & flush outputs // Stall & flush outputs
@ -59,7 +59,7 @@ module hazard(
assign StallDCause = (LoadStallD | StoreStallD | MulDivStallD | CSRRdStallD | FPUStallD | FStallD) & ~(TrapM | RetM | BPPredWrongE); // stall in decode if instruction is a load/mul/csr dependent on previous assign StallDCause = (LoadStallD | StoreStallD | MulDivStallD | CSRRdStallD | FPUStallD | FStallD) & ~(TrapM | RetM | BPPredWrongE); // stall in decode if instruction is a load/mul/csr dependent on previous
assign StallECause = DivBusyE | FDivBusyE; assign StallECause = DivBusyE | FDivBusyE;
assign StallMCause = 0; assign StallMCause = 0;
assign StallWCause = DCacheStall | ICacheStallF; assign StallWCause = LSUStall | ICacheStallF;
assign StallF = StallFCause | StallD; assign StallF = StallFCause | StallD;
assign StallD = StallDCause | StallE; assign StallD = StallDCause | StallE;

View File

@ -152,6 +152,7 @@ module lsu
logic CommittedMfromDCache; logic CommittedMfromDCache;
logic PendingInterruptMtoDCache; logic PendingInterruptMtoDCache;
logic FlushWtoDCache;
pagetablewalker pagetablewalker( pagetablewalker pagetablewalker(

View File

@ -126,7 +126,7 @@ module wallypipelinedhart
// IMem stalls // IMem stalls
logic ICacheStallF; logic ICacheStallF;
logic DCacheStall; logic LSUStall;
@ -233,7 +233,7 @@ module wallypipelinedhart
.DTLBHitM(DTLBHitM), // not connected remove .DTLBHitM(DTLBHitM), // not connected remove
.LSUStall(DCacheStall)); // change to DCacheStall .LSUStall(LSUStall)); // change to LSUStall