coreplex: one IntNode per tile
This commit is contained in:
parent
e97844f71e
commit
d52615c39e
@ -96,7 +96,7 @@ trait CoreplexRISCV {
|
|||||||
// Build a set of Tiles
|
// Build a set of Tiles
|
||||||
val lazyTiles = p(BuildTiles) map { _(p) }
|
val lazyTiles = p(BuildTiles) map { _(p) }
|
||||||
val legacy = LazyModule(new TLLegacy()(outerMMIOParams))
|
val legacy = LazyModule(new TLLegacy()(outerMMIOParams))
|
||||||
val tileIntNode = IntInternalOutputNode() // this should be moved into the Tile...
|
val tileIntNodes = lazyTiles.map { _ => IntInternalOutputNode() } // this should be moved into the Tile...
|
||||||
|
|
||||||
val debug = LazyModule(new TLDebugModule())
|
val debug = LazyModule(new TLDebugModule())
|
||||||
val plic = LazyModule(new TLPLIC(hasSupervisor, maxPriorities = 7))
|
val plic = LazyModule(new TLPLIC(hasSupervisor, maxPriorities = 7))
|
||||||
@ -112,7 +112,7 @@ trait CoreplexRISCV {
|
|||||||
clint.node := TLFragmenter(cbus_beatBytes, cbus_lineBytes)(cbus.node)
|
clint.node := TLFragmenter(cbus_beatBytes, cbus_lineBytes)(cbus.node)
|
||||||
|
|
||||||
plic.intnode := mmioInt
|
plic.intnode := mmioInt
|
||||||
lazyTiles.foreach { _ => tileIntNode := plic.intnode }
|
tileIntNodes.foreach { _ := plic.intnode }
|
||||||
}
|
}
|
||||||
|
|
||||||
trait CoreplexRISCVBundle {
|
trait CoreplexRISCVBundle {
|
||||||
@ -214,8 +214,8 @@ trait CoreplexRISCVModule {
|
|||||||
tile.hartid := UInt(i)
|
tile.hartid := UInt(i)
|
||||||
tile.resetVector := io.resetVector
|
tile.resetVector := io.resetVector
|
||||||
tile.interrupts.debug := outer.debug.module.io.debugInterrupts(i)
|
tile.interrupts.debug := outer.debug.module.io.debugInterrupts(i)
|
||||||
tile.interrupts.meip := outer.tileIntNode.bundleOut(i)(0)
|
tile.interrupts.meip := outer.tileIntNodes(i).bundleOut(0)(0)
|
||||||
tile.interrupts.seip.foreach(_ := outer.tileIntNode.bundleOut(i)(1))
|
tile.interrupts.seip.foreach(_ := outer.tileIntNodes(i).bundleOut(0)(1))
|
||||||
}
|
}
|
||||||
|
|
||||||
outer.debug.module.io.db <> io.debug
|
outer.debug.module.io.db <> io.debug
|
||||||
|
Loading…
Reference in New Issue
Block a user