diff --git a/rocket/src/main/scala/ctrl_vec.scala b/rocket/src/main/scala/ctrl_vec.scala index 55466cd2..df3b15d5 100644 --- a/rocket/src/main/scala/ctrl_vec.scala +++ b/rocket/src/main/scala/ctrl_vec.scala @@ -231,11 +231,11 @@ class rocketCtrlVec extends Component val reg_hold = Reg(resetVal = Bool(false)) - when (wb_vec_xcpthold) { reg_hold := Bool(true) } + when (valid_common && wb_vec_xcpthold) { reg_hold := Bool(true) } when (io.eret) { reg_hold := Bool(false) } - io.iface.evac := wb_vec_xcptevac.toBool - io.iface.kill := wb_vec_xcptkill.toBool + io.iface.evac := valid_common && wb_vec_xcptevac.toBool + io.iface.kill := valid_common && wb_vec_xcptkill.toBool io.iface.hold := reg_hold io.stalld := reg_xcptwait