修正看门狗中断的脉冲模式,补充使能控制和脉冲控制

This commit is contained in:
Ruige Lee
2025-08-04 11:47:17 +08:00
parent 0090c4e44b
commit 8a2c1418c8

View File

@@ -1006,11 +1006,11 @@ trait InterfaceSystem{ this: InterfaceBase =>
when( io.intHWTrig(0) ){ when( io.intHWTrig(0) ){
intStatus(29) := true.B intStatus(29) := true.B
} }
//上行接收硬件错误
when( io.intHWTrig(1) ){ when( io.intHWTrig(1) ){
intStatus(30) := true.B intStatus(30) := true.B
} }
//上行接收硬件错误
//写清中断 //写清中断
for( i <- 0 until 8 ){ for( i <- 0 until 8 ){
@@ -1038,9 +1038,10 @@ trait InterfaceSystem{ this: InterfaceBase =>
(io.intMstTrig(0) & cReg.intEnable(0)) | //主站发送完成 (io.intMstTrig(0) & cReg.intEnable(0)) | //主站发送完成
(io.intMstTrig(1) & cReg.intEnable(1)) | //主站接收完成 (io.intMstTrig(1) & cReg.intEnable(1)) | //主站接收完成
false.B | //主站发送周期到了 false.B | //主站发送周期到了
io.wdtTrigger.reduce(_|_) | //主站接收看门狗溢出 (~RegNext(io.wdtTrigger.reduce(_|_), false.B) & io.wdtTrigger.reduce(_|_) & cReg.intEnable(4)) | //主站接收看门狗溢出
(0 until 8).map{ i => io.intSlvTrig(i) & cReg.intEnable(8+i)}.reduce(_|_) | //从站SM请求 (0 until 8).map{ i => io.intSlvTrig(i) & cReg.intEnable(8+i)}.reduce(_|_) | //从站SM请求
io.intHWTrig(0) | io.intHWTrig(1)//下行接收硬件错误 io.intHWTrig(0) | //下行接收硬件错误
io.intHWTrig(1) //上行接收硬件错误
when( intPulseResetCnt === intPulseWidth ){ when( intPulseResetCnt === intPulseWidth ){
intPulse := false.B intPulse := false.B