diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index 0a4b53c..46ea84f 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -506,14 +506,14 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => //看门狗17 val wdtRec2RecCnt = RegInit(0.U(32.W)) - when( interface.io.cReg.wdtEnable.extract(17) & (wdtRec2RecCnt < interface.io.cReg.wdtTarCnt(17)) ){ - wdtRec2RecCnt := wdtRec2RecCnt + 1.U - } .elsewhen( + when( ~interface.io.cReg.wdtEnable.extract(17) || downCDRInAxis.io.axis.fire || (wdtRec2RecCnt >= interface.io.cReg.wdtTarCnt(17)) ){ wdtRec2RecCnt := 0.U + } .elsewhen( interface.io.cReg.wdtEnable.extract(17) & (wdtRec2RecCnt < interface.io.cReg.wdtTarCnt(17)) ){ + wdtRec2RecCnt := wdtRec2RecCnt + 1.U } interface.io.wdtTrigger(17) := wdtRec2RecCnt === interface.io.cReg.wdtTarCnt(17)