diff --git a/uncore/src/main/scala/prci.scala b/uncore/src/main/scala/prci.scala index 3d59d16b..13064c44 100644 --- a/uncore/src/main/scala/prci.scala +++ b/uncore/src/main/scala/prci.scala @@ -11,15 +11,18 @@ import cde.{Parameters, Field} /** Number of tiles */ case object NTiles extends Field[Int] +class PRCIInterrupts extends Bundle { + val mtip = Bool() + val meip = Bool() + val seip = Bool() + val debug = Bool() +} + class PRCITileIO(implicit p: Parameters) extends Bundle { val reset = Bool(OUTPUT) val id = UInt(OUTPUT, log2Up(p(NTiles))) - val interrupts = new Bundle { - val mtip = Bool() + val interrupts = new PRCIInterrupts { val msip = Bool() - val meip = Bool() - val seip = Bool() - val debug = Bool() }.asOutput override def cloneType: this.type = new PRCITileIO().asInstanceOf[this.type] @@ -30,12 +33,7 @@ class PRCI(implicit val p: Parameters) extends Module with HasTileLinkParameters with HasAddrMapParameters { val io = new Bundle { - val interrupts = Vec(p(NTiles), new Bundle { - val mtip = Bool() - val meip = Bool() - val seip = Bool() - val debug = Bool() - }).asInput + val interrupts = Vec(p(NTiles), new PRCIInterrupts).asInput val tl = new ClientUncachedTileLinkIO().flip val tiles = Vec(p(NTiles), new PRCITileIO) }