修正看门狗0
This commit is contained in:
@@ -414,11 +414,31 @@ trait ShinTopWatchDog{ this: ShinTopBase =>
|
||||
wdtSMCnt(i) := 0.U
|
||||
}
|
||||
|
||||
assert( wdtSMCnt(i) <= interface.io.cReg.wdtTarCnt(i+1), "Assert Failed! wdtSMCnt is larger than wdtTarCnt, Special situation?" )
|
||||
assert( wdtSMCnt(i) <= interface.io.cReg.wdtTarCnt(i+1), s"Assert Failed! wdtSMCnt($i) is larger than wdtTarCnt, Special situation?" )
|
||||
|
||||
interface.io.wdtTrigger(i+1) := wdtSMCnt(i) === interface.io.cReg.wdtTarCnt(i+1)
|
||||
}
|
||||
interface.io.wdtTrigger(0) := slaveParser.io.isRecWdtTrigger
|
||||
|
||||
|
||||
val isWdtRecEnable = RegInit(false.B)
|
||||
val wdtRecCnt = Reg(UInt(32.W))
|
||||
|
||||
when( upCDRIn.io.axis.fire & upCDRIn.io.axis.bits.tlast ){
|
||||
isWdtRecEnable := false.B
|
||||
} .elsewhen( ~isWdtRecEnable & downCDROut.io.axis.fire & interface.io.cReg.wdtEnable.extract(0) ){
|
||||
isWdtRecEnable := true.B
|
||||
}
|
||||
|
||||
when( isWdtRecEnable & (wdtRecCnt < interface.io.cReg.wdtTarCnt(0)) ){
|
||||
wdtRecCnt := wdtRecCnt + 1.U
|
||||
} .elsewhen( ~isWdtRecEnable ){
|
||||
wdtRecCnt := 0.U
|
||||
}
|
||||
|
||||
assert( wdtRecCnt < interface.io.cReg.wdtTarCnt(0), "Assert Failed! wdtRecCnt is larger than wdtTarCnt, Special situation?" )
|
||||
|
||||
interface.io.wdtTrigger(0) := wdtRecCnt === interface.io.cReg.wdtTarCnt(0)
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -70,8 +70,6 @@ class SlaveParserIO extends Bundle{
|
||||
|
||||
val intHWTrig = Output(Vec(2, Bool()))
|
||||
val intHWClr = Input (Vec(2, Bool()))
|
||||
|
||||
val isRecWdtTrigger = Output(Bool())
|
||||
}
|
||||
|
||||
abstract class SlaveParserBase extends Module{
|
||||
@@ -707,9 +705,8 @@ trait SlaveParserProbe{ this: SlaveParserBase =>
|
||||
|
||||
|
||||
// val ProbeRecAim = 511.U
|
||||
val probeRecCnt = RegInit(0.U(32.W))
|
||||
val isWatchDogOverflow = probeRecCnt === io.cReg.wdtTarCnt(0)
|
||||
io.isRecWdtTrigger := isWatchDogOverflow
|
||||
val probeRecCnt = RegInit(0.U(9.W))
|
||||
val isWatchDogOverflow = probeRecCnt.andR
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user