1
0

coreplex: include optional tile name for downstream name stabilization

This commit is contained in:
Henry Cook 2017-08-30 15:23:10 -07:00
parent 183fefb2b9
commit 32cb358c81
3 changed files with 9 additions and 6 deletions

View File

@ -52,17 +52,17 @@ trait HasRocketTiles extends HasSystemBus
case AsynchronousCrossing(depth, sync) => {
val wrapper = LazyModule(new AsyncRocketTile(c, i)(pWithExtra))
sbus.fromAsyncTiles(depth, sync) :=* wrapper.masterNode
wrapper.slaveNode :*= pbus.toAsyncSlaves(sync)
wrapper.slaveNode :*= pbus.toAsyncSlaves(sync)(c.name)
wrapper
}
case RationalCrossing(direction) => {
val wrapper = LazyModule(new RationalRocketTile(c, i)(pWithExtra))
sbus.fromRationalTiles(direction) :=* wrapper.masterNode
wrapper.slaveNode :*= pbus.toRationalSlaves
wrapper.slaveNode :*= pbus.toRationalSlaves(c.name)
wrapper
}
}
wrapper.suggestName("tile") // Try to stabilize this name for downstream tools
c.name.foreach(wrapper.suggestName) // Try to stabilize this name for downstream tools
// Local Interrupts must be synchronized to the core clock
// before being passed into this module.

View File

@ -18,7 +18,8 @@ case class RocketTileParams(
rocc: Seq[RoCCParams] = Nil,
btb: Option[BTBParams] = Some(BTBParams()),
dataScratchpadBytes: Int = 0,
boundaryBuffers: Boolean = false) extends TileParams {
boundaryBuffers: Boolean = false,
name: Option[String] = Some("tile")) extends TileParams {
require(icache.isDefined)
require(dcache.isDefined)
}

View File

@ -63,14 +63,16 @@ abstract class TLBusWrapper(params: TLBusParams)(implicit p: Parameters) extends
def bufferToSlaves: TLOutwardNode = outwardBufNode
def toAsyncSlaves(sync: Int = 3): TLAsyncOutwardNode = {
def toAsyncSlaves(sync: Int = 3)(name: Option[String] = None): TLAsyncOutwardNode = {
val source = LazyModule(new TLAsyncCrossingSource(sync))
name.foreach(source.suggestName)
source.node :*= outwardNode
source.node
}
def toRationalSlaves: TLRationalOutwardNode = {
def toRationalSlaves(name: Option[String] = None): TLRationalOutwardNode = {
val source = LazyModule(new TLRationalCrossingSource())
name.foreach(source.suggestName)
source.node :*= outwardNode
source.node
}