1
0

Separate interrupt bit from cause field in trace bundle

This commit is contained in:
Andrew Waterman 2017-09-27 12:41:30 -07:00
parent a86a9c5564
commit 583adeee88

View File

@ -155,7 +155,8 @@ class TracedInstruction(implicit p: Parameters) extends CoreBundle {
val insn = UInt(width = iLen) val insn = UInt(width = iLen)
val priv = UInt(width = 3) val priv = UInt(width = 3)
val exception = Bool() val exception = Bool()
val cause = UInt(width = 1 + log2Ceil(xLen)) val interrupt = Bool()
val cause = UInt(width = log2Ceil(xLen))
val tval = UInt(width = coreMaxAddrBits max iLen) val tval = UInt(width = coreMaxAddrBits max iLen)
} }
@ -773,7 +774,8 @@ class CSRFile(perfEventSets: EventSets = new EventSets(Seq()))(implicit p: Param
t.insn := insn t.insn := insn
t.iaddr := io.pc t.iaddr := io.pc
t.priv := Cat(reg_debug, reg_mstatus.prv) t.priv := Cat(reg_debug, reg_mstatus.prv)
t.cause := Cat(cause(xLen-1), cause(log2Ceil(xLen)-1, 0)) t.cause := cause
t.interrupt := cause(xLen-1)
t.tval := badaddr_value t.tval := badaddr_value
} }