From 4645b61fd372f3a8ddd77936bf37e3b41380ef4b Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 5 Oct 2017 22:23:58 -0700 Subject: [PATCH] Decouple BaseTile from HasTileLinkMasterPort --- src/main/scala/groundtest/Coreplex.scala | 2 +- src/main/scala/groundtest/Tile.scala | 1 - src/main/scala/tile/BaseTile.scala | 7 ++----- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/main/scala/groundtest/Coreplex.scala b/src/main/scala/groundtest/Coreplex.scala index 63730436..d6dab576 100644 --- a/src/main/scala/groundtest/Coreplex.scala +++ b/src/main/scala/groundtest/Coreplex.scala @@ -25,7 +25,7 @@ class GroundTestCoreplex(implicit p: Parameters) extends BaseCoreplex }) )} - tiles.foreach { sbus.fromSyncTiles(BufferParams.default) :=* _.masterNode } + tiles.flatMap(_.dcacheOpt).foreach { sbus.fromSyncTiles(BufferParams.default) :=* _.node } val pbusRAM = LazyModule(new TLRAM(AddressSet(testRamAddr, 0xffff), false, pbus.beatBytes)) pbusRAM.node := pbus.toVariableWidthSlaves diff --git a/src/main/scala/groundtest/Tile.scala b/src/main/scala/groundtest/Tile.scala index 78a4aa63..5484466b 100644 --- a/src/main/scala/groundtest/Tile.scala +++ b/src/main/scala/groundtest/Tile.scala @@ -31,7 +31,6 @@ case object GroundTestTilesKey extends Field[Seq[GroundTestTileParams]] abstract class GroundTestTile(params: GroundTestTileParams)(implicit p: Parameters) extends BaseTile(params)(p) { val slave = None val dcacheOpt = params.dcache.map { dc => LazyModule(HellaCache(0, dc.nMSHRs == 0)) } - dcacheOpt.foreach { tileBus.node := _.node } override lazy val module = new GroundTestTileModule(this, () => new GroundTestTileBundle(this)) } diff --git a/src/main/scala/tile/BaseTile.scala b/src/main/scala/tile/BaseTile.scala index a6f5bebe..03e24429 100644 --- a/src/main/scala/tile/BaseTile.scala +++ b/src/main/scala/tile/BaseTile.scala @@ -99,19 +99,16 @@ trait CanHaveInstructionTracePort extends Bundle with HasTileParameters { /** Base class for all Tiles that use TileLink */ abstract class BaseTile(tileParams: TileParams)(implicit p: Parameters) extends BareTile - with HasTileParameters - with HasTileLinkMasterPort { + with HasTileParameters { override lazy val module = new BaseTileModule(this, () => new BaseTileBundle(this)) } class BaseTileBundle[+L <: BaseTile](_outer: L) extends BareTileBundle(_outer) - with HasTileLinkMasterPortBundle with HasExternallyDrivenTileConstants with CanHaveInstructionTracePort class BaseTileModule[+L <: BaseTile, +B <: BaseTileBundle[L]](_outer: L, _io: () => B) extends BareTileModule(_outer, _io) - with HasTileParameters - with HasTileLinkMasterPortModule { + with HasTileParameters { require(xLen == 32 || xLen == 64) require(paddrBits <= maxPAddrBits) require(resetVectorLen <= xLen)