diff --git a/pipelined/src/hazard/hazard.sv b/pipelined/src/hazard/hazard.sv index 999406a99..d369bd43b 100644 --- a/pipelined/src/hazard/hazard.sv +++ b/pipelined/src/hazard/hazard.sv @@ -62,7 +62,7 @@ module hazard( assign StallFCause = CSRWritePendingDEM & ~(TrapM | RetM | BPPredWrongE); assign StallDCause = (LoadStallD | StoreStallD | MDUStallD | 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) & ~(TrapM); assign StallMCause = 0; assign StallWCause = LSUStall | IFUStallF;