Fix DebugPlugin step by step
This commit is contained in:
parent
2dac7dae32
commit
5aa0b86d96
|
@ -213,18 +213,17 @@ class DebugPlugin(val debugClockDomain : ClockDomain, hardwareBreakpointCount :
|
|||
iBusFetcher.haltIt()
|
||||
}
|
||||
|
||||
when(stepIt) {
|
||||
//Assume nothing will stop the CPU in the decode stage
|
||||
when(stepIt && iBusFetcher.incoming()) {
|
||||
iBusFetcher.haltIt()
|
||||
when(decode.arbitration.isValid) {
|
||||
haltIt := True
|
||||
decode.arbitration.flushNext := True
|
||||
}
|
||||
}
|
||||
|
||||
//Avoid having two C instruction executed in a single step
|
||||
if(pipeline(RVC_GEN)){
|
||||
val cleanStep = RegNext(stepIt && decode.arbitration.isFiring) init(False)
|
||||
decode.arbitration.removeIt setWhen(cleanStep)
|
||||
execute.arbitration.flushNext setWhen(cleanStep)
|
||||
}
|
||||
|
||||
io.resetOut := RegNext(resetIt)
|
||||
|
|
Loading…
Reference in New Issue