expose pending interrupts in status register
This commit is contained in:
		| @@ -56,8 +56,6 @@ class CtrlDpathIO extends Bundle() | ||||
|   val status = new Status().asInput | ||||
|   val fp_sboard_clr  = Bool(INPUT); | ||||
|   val fp_sboard_clra = UFix(INPUT, 5); | ||||
|   val irq_timer = Bool(INPUT); | ||||
|   val irq_ipi   = Bool(INPUT); | ||||
|   val pcr_replay = Bool(INPUT) | ||||
| } | ||||
|  | ||||
| @@ -407,10 +405,8 @@ class Control(implicit conf: RocketConfiguration) extends Component | ||||
|   val ctrl_killx = Bool() | ||||
|   val ctrl_killm = Bool() | ||||
|  | ||||
|   val id_maskable_interrupts = List( | ||||
|     (io.dpath.irq_ipi,   IRQ_IPI), | ||||
|     (io.dpath.irq_timer, IRQ_TIMER)) | ||||
|   var id_interrupts = id_maskable_interrupts.map(i => (io.dpath.status.im(i._2) && i._1, UFix(CAUSE_INTERRUPT+i._2))) | ||||
|   val sr = io.dpath.status | ||||
|   var id_interrupts = (0 until sr.ip.getWidth).map(i => (sr.im(i) && sr.ip(i), UFix(CAUSE_INTERRUPT+i))) | ||||
|  | ||||
|   val (vec_replay, vec_stalld) = if (conf.vec) { | ||||
|     // vector control | ||||
|   | ||||
		Reference in New Issue
	
	Block a user