forked from Github_Repos/cvw
The E stage needs to be flushed on InvalidateICacheM. FlushM should be asserted.
This commit is contained in:
parent
0b1e59d075
commit
cfd522da6b
@ -78,7 +78,7 @@ module hazard(
|
||||
assign FlushF = BPPredWrongE | InvalidateICacheM;
|
||||
assign FlushD = FirstUnstalledD | TrapM | RetM | BPPredWrongE | InvalidateICacheM;
|
||||
assign FlushE = FirstUnstalledE | TrapM | RetM | BPPredWrongE | InvalidateICacheM;
|
||||
assign FlushM = FirstUnstalledM | TrapM | RetM;
|
||||
assign FlushM = FirstUnstalledM | TrapM | RetM | InvalidateICacheM;
|
||||
// on Trap the memory stage should be flushed going into the W stage,
|
||||
// except if the instruction causing the Trap is an ecall or ebreak.
|
||||
assign FlushW = FirstUnstalledW | (TrapM & ~(BreakpointFaultM | EcallFaultM));
|
||||
|
Loading…
Reference in New Issue
Block a user