bug修复:定义CDR清中断和中断到来同时发生的行为

This commit is contained in:
Ruige Lee
2025-02-27 17:27:15 +08:00
parent 983b0337c3
commit 9937485831

View File

@@ -414,10 +414,8 @@ with RoCC2CDRImplLimitTimmer with RoCC2CDRImplOutTimmer
val interruptReg = RegInit(0.U(32.W)) val interruptReg = RegInit(0.U(32.W))
when( isTLClearInterrupt ){ when(true.B){
interruptReg := interruptReg & ~wdata interruptReg := (interruptReg & Mux( isTLClearInterrupt, ~wdata, "hFFFFFFFF".U)) | Cat(
} .otherwise{
interruptReg := interruptReg | Cat(
intTxEnd(1), intTxEnd(0), intTxEnd(1), intTxEnd(0),
intRxError(1), intRxError(0), intRxError(1), intRxError(0),
intRxStart(1), intRxStart(0), intRxStart(1), intRxStart(0),
@@ -428,6 +426,8 @@ with RoCC2CDRImplLimitTimmer with RoCC2CDRImplOutTimmer
} }
io.interrupt := io.interrupt :=
intTxEnd(0) | intTxEnd(0) |
intTxEnd(1) | intTxEnd(1) |