From 2f2fe0a9736e675ac57c0ee2c55c54ca9efcb38b Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Tue, 20 Jun 2017 17:21:53 -0700 Subject: [PATCH] clint: don't ask for what you know (nTiles) --- src/main/scala/coreplex/RISCVPlatform.scala | 2 +- src/main/scala/uncore/devices/Clint.scala | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/scala/coreplex/RISCVPlatform.scala b/src/main/scala/coreplex/RISCVPlatform.scala index e52af304..b42ed557 100644 --- a/src/main/scala/coreplex/RISCVPlatform.scala +++ b/src/main/scala/coreplex/RISCVPlatform.scala @@ -25,7 +25,7 @@ trait CoreplexRISCVPlatform extends CoreplexNetwork { plic.node := TLFragmenter(pbusBeatBytes, pbusBlockBytes)(pbus.node) plic.intnode := int_xbar.intnode - val clint = LazyModule(new CoreplexLocalInterrupter(nTiles, p(ClintKey))) + val clint = LazyModule(new CoreplexLocalInterrupter(p(ClintKey))) clint.node := TLFragmenter(pbusBeatBytes, pbusBlockBytes)(pbus.node) lazy val dts = DTS(bindingTree) diff --git a/src/main/scala/uncore/devices/Clint.scala b/src/main/scala/uncore/devices/Clint.scala index 5a7d3c4e..90e8aa13 100644 --- a/src/main/scala/uncore/devices/Clint.scala +++ b/src/main/scala/uncore/devices/Clint.scala @@ -32,7 +32,7 @@ case class ClintParams(baseAddress: BigInt = 0x02000000) def address = AddressSet(baseAddress, ClintConsts.size-1) } -class CoreplexLocalInterrupter(nTiles: Int, params: ClintParams)(implicit p: Parameters) extends LazyModule +class CoreplexLocalInterrupter(params: ClintParams)(implicit p: Parameters) extends LazyModule { import ClintConsts._ @@ -66,6 +66,7 @@ class CoreplexLocalInterrupter(nTiles: Int, params: ClintParams)(implicit p: Par reg := newTime >> i } + val nTiles = intnode.edgesOut.size val timecmp = Seq.fill(nTiles) { Seq.fill(timeWidth/regWidth)(Reg(UInt(width = regWidth))) } val ipi = Seq.fill(nTiles) { RegInit(UInt(0, width = 1)) }