看门狗目标寄存器初始值改为0xffffffff,看门狗计数器逻辑修改

This commit is contained in:
Ruige Lee
2025-08-22 15:38:51 +08:00
parent eb4c46a310
commit d2899df8b4
2 changed files with 10 additions and 9 deletions

View File

@@ -422,7 +422,7 @@ trait ShinTopWatchDog{ this: ShinTopBase =>
for( i <- 0 until 16 ){
when( isWdtSMEnable(i) & (wdtSMCnt(i) < interface.io.cReg.wdtTarCnt(i+1)) ){
wdtSMCnt(i) := wdtSMCnt(i) + 1.U
} .elsewhen( ~isWdtSMEnable(i) ){
} .elsewhen( ~isWdtSMEnable(i) || (wdtSMCnt(i) >= interface.io.cReg.wdtTarCnt(i+1)) ){
wdtSMCnt(i) := 0.U
}
@@ -446,7 +446,7 @@ trait ShinTopWatchDog{ this: ShinTopBase =>
when( isWdtRec2RtnEnable & (wdtRec2RtnCnt < interface.io.cReg.wdtTarCnt(0)) ){
wdtRec2RtnCnt := wdtRec2RtnCnt + 1.U
} .elsewhen( ~isWdtRec2RtnEnable ){
} .elsewhen( ~isWdtRec2RtnEnable || (wdtRec2RtnCnt >= interface.io.cReg.wdtTarCnt(0)) ){
wdtRec2RtnCnt := 0.U
}
@@ -460,8 +460,9 @@ trait ShinTopWatchDog{ this: ShinTopBase =>
when( interface.io.cReg.wdtEnable.extract(17) & (wdtRec2RecCnt < interface.io.cReg.wdtTarCnt(17)) ){
wdtRec2RecCnt := wdtRec2RecCnt + 1.U
} .elsewhen(
~interface.io.cReg.wdtEnable.extract(17) |
downCDRIn.io.axis.fire
~interface.io.cReg.wdtEnable.extract(17) ||
downCDRIn.io.axis.fire ||
(wdtRec2RecCnt >= interface.io.cReg.wdtTarCnt(17))
){
wdtRec2RecCnt := 0.U
}