bug修复:定义CDR清中断和中断到来同时发生的行为
This commit is contained in:
@@ -414,20 +414,20 @@ 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),
|
||||||
intRxEnd(1), intRxEnd(0),
|
intRxEnd(1), intRxEnd(0),
|
||||||
intTxFifoDeq(1), intTxFifoDeq(0),
|
intTxFifoDeq(1), intTxFifoDeq(0),
|
||||||
intRxFifoEnq(1), intRxFifoEnq(0)
|
intRxFifoEnq(1), intRxFifoEnq(0)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
io.interrupt :=
|
io.interrupt :=
|
||||||
intTxEnd(0) |
|
intTxEnd(0) |
|
||||||
intTxEnd(1) |
|
intTxEnd(1) |
|
||||||
|
|||||||
Reference in New Issue
Block a user