mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Renamed DCacheStall to LSUStall in hart and hazard.
Added missing logic in lsu.
This commit is contained in:
parent
f234875779
commit
c954fb510b
2
wally-pipelined/src/cache/dcache.sv
vendored
2
wally-pipelined/src/cache/dcache.sv
vendored
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -152,6 +152,7 @@ module lsu
|
|||||||
|
|
||||||
logic CommittedMfromDCache;
|
logic CommittedMfromDCache;
|
||||||
logic PendingInterruptMtoDCache;
|
logic PendingInterruptMtoDCache;
|
||||||
|
logic FlushWtoDCache;
|
||||||
|
|
||||||
|
|
||||||
pagetablewalker pagetablewalker(
|
pagetablewalker pagetablewalker(
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user