1
0

rocketchip: rename some periphery ports

This commit is contained in:
Henry Cook 2017-02-23 14:25:17 -08:00
parent 6c3011d513
commit a281ad8ad2
7 changed files with 87 additions and 82 deletions

@ -1 +1 @@
Subproject commit 50db343d5192cd39fa5786e217517c2f139cda64 Subproject commit 3ef63639284b2b56f415e1540c58d85d88c360db

2
firrtl

@ -1 +1 @@
Subproject commit b69e787c0a698b7fb703ccd8d24003f83207e296 Subproject commit 568f25b221884eeb0db362c902c933f734c7e47e

View File

@ -12,6 +12,7 @@ import uncore.devices._
import util._ import util._
import rocket._ import rocket._
/** BareTop is the root class for creating a top-level RTL module */
abstract class BareTop(implicit p: Parameters) extends LazyModule { abstract class BareTop(implicit p: Parameters) extends LazyModule {
ElaborationArtefacts.add("graphml", graphML) ElaborationArtefacts.add("graphml", graphML)
} }
@ -26,17 +27,20 @@ abstract class BareTopModule[+L <: BareTop, +B <: BareTopBundle[L]](_outer: L, _
val io = _io () val io = _io ()
} }
/** Base Top with no Periphery */ /** HasTopLevelNetworks provides buses that will serve as attachment points,
trait TopNetwork extends HasPeripheryParameters { * for use in sub-traits that connect individual agents or external ports.
val module: TopNetworkModule */
trait HasTopLevelNetworks extends HasPeripheryParameters {
val module: HasTopLevelNetworksModule
// Add a SoC and peripheral bus val socBus = LazyModule(new TLXbar) // Wide or unordered-access slave devices (TL-UH)
val socBus = LazyModule(new TLXbar) val peripheryBus = LazyModule(new TLXbar) // Narrow and ordered-access slave devices (TL-UL)
val peripheryBus = LazyModule(new TLXbar) val intBus = LazyModule(new IntXbar) // Interrupts
val intBus = LazyModule(new IntXbar) val l2FrontendBus = LazyModule(new TLBuffer) // Master devices talking to the frontside of the L2
val l2 = LazyModule(new TLBuffer) val mem = Seq.fill(nMemoryChannels) { LazyModule(new TLXbar) } // Ports out to DRAM
val mem = Seq.fill(p(coreplex.BankedL2Config).nMemoryChannels) { LazyModule(new TLXbar) }
// The peripheryBus hangs off of socBus;
// here we convert TL-UH -> TL-UL
peripheryBus.node := peripheryBus.node :=
TLBuffer()( TLBuffer()(
TLWidthWidget(socBusConfig.beatBytes)( TLWidthWidget(socBusConfig.beatBytes)(
@ -44,23 +48,23 @@ trait TopNetwork extends HasPeripheryParameters {
socBus.node))) socBus.node)))
} }
trait TopNetworkBundle extends HasPeripheryParameters { trait HasTopLevelNetworksBundle extends HasPeripheryParameters {
val outer: TopNetwork val outer: HasTopLevelNetworks
} }
trait TopNetworkModule extends HasPeripheryParameters { trait HasTopLevelNetworksModule extends HasPeripheryParameters {
val io: TopNetworkBundle val outer: HasTopLevelNetworks
val outer: TopNetwork val io: HasTopLevelNetworksBundle
} }
/** Base Top with no Periphery */ /** Base Top class with no peripheral devices or ports added */
class BaseTop(implicit p: Parameters) extends BareTop class BaseTop(implicit p: Parameters) extends BareTop
with TopNetwork { with HasTopLevelNetworks {
override lazy val module = new BaseTopModule(this, () => new BaseTopBundle(this)) override lazy val module = new BaseTopModule(this, () => new BaseTopBundle(this))
} }
class BaseTopBundle[+L <: BaseTop](_outer: L) extends BareTopBundle(_outer) class BaseTopBundle[+L <: BaseTop](_outer: L) extends BareTopBundle(_outer)
with TopNetworkBundle with HasTopLevelNetworksBundle
class BaseTopModule[+L <: BaseTop, +B <: BaseTopBundle[L]](_outer: L, _io: () => B) extends BareTopModule(_outer, _io) class BaseTopModule[+L <: BaseTop, +B <: BaseTopBundle[L]](_outer: L, _io: () => B) extends BareTopModule(_outer, _io)
with TopNetworkModule with HasTopLevelNetworksModule

View File

@ -37,16 +37,17 @@ case object ZeroConfig extends Field[ZeroConfig]
/** Utility trait for quick access to some relevant parameters */ /** Utility trait for quick access to some relevant parameters */
trait HasPeripheryParameters { trait HasPeripheryParameters {
implicit val p: Parameters implicit val p: Parameters
lazy val peripheryBusConfig = p(PeripheryBusConfig) def peripheryBusConfig = p(PeripheryBusConfig)
lazy val socBusConfig = p(SOCBusConfig) def socBusConfig = p(SOCBusConfig)
lazy val cacheBlockBytes = p(CacheBlockBytes) def cacheBlockBytes = p(CacheBlockBytes)
lazy val peripheryBusArithmetic = p(PeripheryBusArithmetic) def peripheryBusArithmetic = p(PeripheryBusArithmetic)
def nMemoryChannels = p(coreplex.BankedL2Config).nMemoryChannels
} }
///// /////
trait PeripheryExtInterrupts { trait PeripheryExtInterrupts {
this: TopNetwork => this: HasTopLevelNetworks =>
val nExtInterrupts = p(NExtTopInterrupts) val nExtInterrupts = p(NExtTopInterrupts)
val extInterrupts = IntInternalInputNode(nExtInterrupts) val extInterrupts = IntInternalInputNode(nExtInterrupts)
@ -57,14 +58,14 @@ trait PeripheryExtInterrupts {
} }
trait PeripheryExtInterruptsBundle { trait PeripheryExtInterruptsBundle {
this: TopNetworkBundle { this: HasTopLevelNetworksBundle {
val outer: PeripheryExtInterrupts val outer: PeripheryExtInterrupts
} => } =>
val interrupts = UInt(INPUT, width = outer.nExtInterrupts) val interrupts = UInt(INPUT, width = outer.nExtInterrupts)
} }
trait PeripheryExtInterruptsModule { trait PeripheryExtInterruptsModule {
this: TopNetworkModule { this: HasTopLevelNetworksModule {
val outer: PeripheryExtInterrupts val outer: PeripheryExtInterrupts
val io: PeripheryExtInterruptsBundle val io: PeripheryExtInterruptsBundle
} => } =>
@ -74,7 +75,7 @@ trait PeripheryExtInterruptsModule {
///// /////
trait PeripheryMasterAXI4Mem { trait PeripheryMasterAXI4Mem {
this: TopNetwork => this: HasTopLevelNetworks =>
val module: PeripheryMasterAXI4MemModule val module: PeripheryMasterAXI4MemModule
private val config = p(ExtMem) private val config = p(ExtMem)
@ -107,14 +108,14 @@ trait PeripheryMasterAXI4Mem {
} }
trait PeripheryMasterAXI4MemBundle { trait PeripheryMasterAXI4MemBundle {
this: TopNetworkBundle { this: HasTopLevelNetworksBundle {
val outer: PeripheryMasterAXI4Mem val outer: PeripheryMasterAXI4Mem
} => } =>
val mem_axi4 = outer.mem_axi4.bundleOut val mem_axi4 = outer.mem_axi4.bundleOut
} }
trait PeripheryMasterAXI4MemModule { trait PeripheryMasterAXI4MemModule {
this: TopNetworkModule { this: HasTopLevelNetworksModule {
val outer: PeripheryMasterAXI4Mem val outer: PeripheryMasterAXI4Mem
val io: PeripheryMasterAXI4MemBundle val io: PeripheryMasterAXI4MemBundle
} => } =>
@ -123,7 +124,7 @@ trait PeripheryMasterAXI4MemModule {
///// /////
trait PeripheryZero { trait PeripheryZero {
this: TopNetwork => this: HasTopLevelNetworks =>
val module: PeripheryZeroModule val module: PeripheryZeroModule
private val config = p(ZeroConfig) private val config = p(ZeroConfig)
@ -138,13 +139,13 @@ trait PeripheryZero {
} }
trait PeripheryZeroBundle { trait PeripheryZeroBundle {
this: TopNetworkBundle { this: HasTopLevelNetworksBundle {
val outer: PeripheryZero val outer: PeripheryZero
} => } =>
} }
trait PeripheryZeroModule { trait PeripheryZeroModule {
this: TopNetworkModule { this: HasTopLevelNetworksModule {
val outer: PeripheryZero val outer: PeripheryZero
val io: PeripheryZeroBundle val io: PeripheryZeroBundle
} => } =>
@ -154,7 +155,7 @@ trait PeripheryZeroModule {
// PeripheryMasterAXI4MMIO is an example, make your own cake pattern like this one. // PeripheryMasterAXI4MMIO is an example, make your own cake pattern like this one.
trait PeripheryMasterAXI4MMIO { trait PeripheryMasterAXI4MMIO {
this: TopNetwork => this: HasTopLevelNetworks =>
private val config = p(ExtBus) private val config = p(ExtBus)
val mmio_axi4 = AXI4BlindOutputNode(Seq(AXI4SlavePortParameters( val mmio_axi4 = AXI4BlindOutputNode(Seq(AXI4SlavePortParameters(
@ -175,14 +176,14 @@ trait PeripheryMasterAXI4MMIO {
} }
trait PeripheryMasterAXI4MMIOBundle { trait PeripheryMasterAXI4MMIOBundle {
this: TopNetworkBundle { this: HasTopLevelNetworksBundle {
val outer: PeripheryMasterAXI4MMIO val outer: PeripheryMasterAXI4MMIO
} => } =>
val mmio_axi4 = outer.mmio_axi4.bundleOut val mmio_axi4 = outer.mmio_axi4.bundleOut
} }
trait PeripheryMasterAXI4MMIOModule { trait PeripheryMasterAXI4MMIOModule {
this: TopNetworkModule { this: HasTopLevelNetworksModule {
val outer: PeripheryMasterAXI4MMIO val outer: PeripheryMasterAXI4MMIO
val io: PeripheryMasterAXI4MMIOBundle val io: PeripheryMasterAXI4MMIOBundle
} => } =>
@ -192,26 +193,26 @@ trait PeripheryMasterAXI4MMIOModule {
///// /////
// PeripherySlaveAXI4 is an example, make your own cake pattern like this one. // PeripherySlaveAXI4 is an example, make your own cake pattern like this one.
trait PeripherySlaveAXI4 extends TopNetwork { trait PeripherySlaveAXI4 extends HasTopLevelNetworks {
private val config = p(ExtIn) private val config = p(ExtIn)
val l2_axi4 = AXI4BlindInputNode(Seq(AXI4MasterPortParameters( val l2FrontendAXI4Node = AXI4BlindInputNode(Seq(AXI4MasterPortParameters(
masters = Seq(AXI4MasterParameters( masters = Seq(AXI4MasterParameters(
id = IdRange(0, 1 << config.idBits)))))) id = IdRange(0, 1 << config.idBits))))))
l2.node := l2FrontendBus.node :=
TLSourceShrinker(1 << config.sourceBits)( TLSourceShrinker(1 << config.sourceBits)(
TLWidthWidget(config.beatBytes)( TLWidthWidget(config.beatBytes)(
AXI4ToTL()( AXI4ToTL()(
AXI4Fragmenter()( AXI4Fragmenter()(
l2_axi4)))) l2FrontendAXI4Node))))
} }
trait PeripherySlaveAXI4Bundle extends TopNetworkBundle { trait PeripherySlaveAXI4Bundle extends HasTopLevelNetworksBundle {
val outer: PeripherySlaveAXI4 val outer: PeripherySlaveAXI4
val l2_axi4 = outer.l2_axi4.bundleIn val l2_frontend_bus_axi4 = outer.l2FrontendAXI4Node.bundleIn
} }
trait PeripherySlaveAXI4Module extends TopNetworkModule { trait PeripherySlaveAXI4Module extends HasTopLevelNetworksModule {
val outer: PeripherySlaveAXI4 val outer: PeripherySlaveAXI4
val io: PeripherySlaveAXI4Bundle val io: PeripherySlaveAXI4Bundle
// nothing to do // nothing to do
@ -221,7 +222,7 @@ trait PeripherySlaveAXI4Module extends TopNetworkModule {
// Add an external TL-UL slave // Add an external TL-UL slave
trait PeripheryMasterTLMMIO { trait PeripheryMasterTLMMIO {
this: TopNetwork => this: HasTopLevelNetworks =>
private val config = p(ExtBus) private val config = p(ExtBus)
val mmio_tl = TLBlindOutputNode(Seq(TLManagerPortParameters( val mmio_tl = TLBlindOutputNode(Seq(TLManagerPortParameters(
@ -241,14 +242,14 @@ trait PeripheryMasterTLMMIO {
} }
trait PeripheryMasterTLMMIOBundle { trait PeripheryMasterTLMMIOBundle {
this: TopNetworkBundle { this: HasTopLevelNetworksBundle {
val outer: PeripheryMasterTLMMIO val outer: PeripheryMasterTLMMIO
} => } =>
val mmio_tl = outer.mmio_tl.bundleOut val mmio_tl = outer.mmio_tl.bundleOut
} }
trait PeripheryMasterTLMMIOModule { trait PeripheryMasterTLMMIOModule {
this: TopNetworkModule { this: HasTopLevelNetworksModule {
val outer: PeripheryMasterTLMMIO val outer: PeripheryMasterTLMMIO
val io: PeripheryMasterTLMMIOBundle val io: PeripheryMasterTLMMIOBundle
} => } =>
@ -258,24 +259,24 @@ trait PeripheryMasterTLMMIOModule {
///// /////
// NOTE: this port is NOT allowed to issue Acquires // NOTE: this port is NOT allowed to issue Acquires
trait PeripherySlaveTL extends TopNetwork { trait PeripherySlaveTL extends HasTopLevelNetworks {
private val config = p(ExtIn) private val config = p(ExtIn)
val l2_tl = TLBlindInputNode(Seq(TLClientPortParameters( val l2FrontendTLNode = TLBlindInputNode(Seq(TLClientPortParameters(
clients = Seq(TLClientParameters( clients = Seq(TLClientParameters(
sourceId = IdRange(0, 1 << config.idBits)))))) sourceId = IdRange(0, 1 << config.idBits))))))
l2.node := l2FrontendBus.node :=
TLSourceShrinker(1 << config.sourceBits)( TLSourceShrinker(1 << config.sourceBits)(
TLWidthWidget(config.beatBytes)( TLWidthWidget(config.beatBytes)(
l2_tl)) l2FrontendTLNode))
} }
trait PeripherySlaveTLBundle extends TopNetworkBundle { trait PeripherySlaveTLBundle extends HasTopLevelNetworksBundle {
val outer: PeripherySlaveTL val outer: PeripherySlaveTL
val l2_tl = outer.l2_tl.bundleIn val l2_frontend_bus_tl = outer.l2FrontendTLNode.bundleIn
} }
trait PeripherySlaveTLModule extends TopNetworkModule { trait PeripherySlaveTLModule extends HasTopLevelNetworksModule {
val outer: PeripherySlaveTL val outer: PeripherySlaveTL
val io: PeripherySlaveTLBundle val io: PeripherySlaveTLBundle
// nothing to do // nothing to do
@ -284,7 +285,7 @@ trait PeripherySlaveTLModule extends TopNetworkModule {
///// /////
trait PeripheryBootROM { trait PeripheryBootROM {
this: TopNetwork => this: HasTopLevelNetworks =>
val coreplex: CoreplexRISCVPlatform val coreplex: CoreplexRISCVPlatform
private val bootrom_address = 0x1000 private val bootrom_address = 0x1000
@ -295,13 +296,13 @@ trait PeripheryBootROM {
} }
trait PeripheryBootROMBundle { trait PeripheryBootROMBundle {
this: TopNetworkBundle { this: HasTopLevelNetworksBundle {
val outer: PeripheryBootROM val outer: PeripheryBootROM
} => } =>
} }
trait PeripheryBootROMModule { trait PeripheryBootROMModule {
this: TopNetworkModule { this: HasTopLevelNetworksModule {
val outer: PeripheryBootROM val outer: PeripheryBootROM
val io: PeripheryBootROMBundle val io: PeripheryBootROMBundle
} => } =>
@ -310,20 +311,20 @@ trait PeripheryBootROMModule {
///// /////
trait PeripheryTestRAM { trait PeripheryTestRAM {
this: TopNetwork => this: HasTopLevelNetworks =>
val testram = LazyModule(new TLRAM(AddressSet(0x52000000, 0xfff), true, peripheryBusConfig.beatBytes)) val testram = LazyModule(new TLRAM(AddressSet(0x52000000, 0xfff), true, peripheryBusConfig.beatBytes))
testram.node := TLFragmenter(peripheryBusConfig.beatBytes, cacheBlockBytes)(peripheryBus.node) testram.node := TLFragmenter(peripheryBusConfig.beatBytes, cacheBlockBytes)(peripheryBus.node)
} }
trait PeripheryTestRAMBundle { trait PeripheryTestRAMBundle {
this: TopNetworkBundle { this: HasTopLevelNetworksBundle {
val outer: PeripheryTestRAM val outer: PeripheryTestRAM
} => } =>
} }
trait PeripheryTestRAMModule { trait PeripheryTestRAMModule {
this: TopNetworkModule { this: HasTopLevelNetworksModule {
val outer: PeripheryTestRAM val outer: PeripheryTestRAM
val io: PeripheryTestRAMBundle val io: PeripheryTestRAMBundle
} => } =>
@ -332,19 +333,19 @@ trait PeripheryTestRAMModule {
///// /////
trait PeripheryTestBusMaster { trait PeripheryTestBusMaster {
this: TopNetwork => this: HasTopLevelNetworks =>
val fuzzer = LazyModule(new TLFuzzer(5000)) val fuzzer = LazyModule(new TLFuzzer(5000))
peripheryBus.node := fuzzer.node peripheryBus.node := fuzzer.node
} }
trait PeripheryTestBusMasterBundle { trait PeripheryTestBusMasterBundle {
this: TopNetworkBundle { this: HasTopLevelNetworksBundle {
val outer: PeripheryTestBusMaster val outer: PeripheryTestBusMaster
} => } =>
} }
trait PeripheryTestBusMasterModule { trait PeripheryTestBusMasterModule {
this: TopNetworkModule { this: HasTopLevelNetworksModule {
val outer: PeripheryTestBusMaster val outer: PeripheryTestBusMaster
val io: PeripheryTestBusMasterBundle val io: PeripheryTestBusMasterBundle
} => } =>

View File

@ -13,18 +13,18 @@ import coreplex._
/// Core with JTAG for debug only /// Core with JTAG for debug only
trait PeripheryJTAG extends TopNetwork { trait PeripheryJTAG extends HasTopLevelNetworks {
val module: PeripheryJTAGModule val module: PeripheryJTAGModule
val coreplex: CoreplexRISCVPlatform val coreplex: CoreplexRISCVPlatform
} }
trait PeripheryJTAGBundle extends TopNetworkBundle { trait PeripheryJTAGBundle extends HasTopLevelNetworksBundle {
val outer: PeripheryJTAG val outer: PeripheryJTAG
val jtag = new JTAGIO(true).flip val jtag = new JTAGIO(true).flip
} }
trait PeripheryJTAGModule extends TopNetworkModule { trait PeripheryJTAGModule extends HasTopLevelNetworksModule {
val outer: PeripheryJTAG val outer: PeripheryJTAG
val io: PeripheryJTAGBundle val io: PeripheryJTAGBundle
@ -38,18 +38,18 @@ trait PeripheryJTAGModule extends TopNetworkModule {
/// Core with DTM for debug only /// Core with DTM for debug only
trait PeripheryDTM extends TopNetwork { trait PeripheryDTM extends HasTopLevelNetworks {
val module: PeripheryDTMModule val module: PeripheryDTMModule
val coreplex: CoreplexRISCVPlatform val coreplex: CoreplexRISCVPlatform
} }
trait PeripheryDTMBundle extends TopNetworkBundle { trait PeripheryDTMBundle extends HasTopLevelNetworksBundle {
val outer: PeripheryDTM val outer: PeripheryDTM
val debug = new DebugBusIO().flip val debug = new DebugBusIO().flip
} }
trait PeripheryDTMModule extends TopNetworkModule { trait PeripheryDTMModule extends HasTopLevelNetworksModule {
val outer: PeripheryDTM val outer: PeripheryDTM
val io: PeripheryDTMBundle val io: PeripheryDTMBundle
@ -58,19 +58,19 @@ trait PeripheryDTMModule extends TopNetworkModule {
/// Core with DTM or JTAG based on a parameter /// Core with DTM or JTAG based on a parameter
trait PeripheryDebug extends TopNetwork { trait PeripheryDebug extends HasTopLevelNetworks {
val module: PeripheryDebugModule val module: PeripheryDebugModule
val coreplex: CoreplexRISCVPlatform val coreplex: CoreplexRISCVPlatform
} }
trait PeripheryDebugBundle extends TopNetworkBundle { trait PeripheryDebugBundle extends HasTopLevelNetworksBundle {
val outer: PeripheryDebug val outer: PeripheryDebug
val debug = (!p(IncludeJtagDTM)).option(new DebugBusIO().flip) val debug = (!p(IncludeJtagDTM)).option(new DebugBusIO().flip)
val jtag = (p(IncludeJtagDTM)).option(new JTAGIO(true).flip) val jtag = (p(IncludeJtagDTM)).option(new JTAGIO(true).flip)
} }
trait PeripheryDebugModule extends TopNetworkModule { trait PeripheryDebugModule extends HasTopLevelNetworksModule {
val outer: PeripheryDebug val outer: PeripheryDebug
val io: PeripheryDebugBundle val io: PeripheryDebugBundle
@ -86,16 +86,16 @@ trait PeripheryDebugModule extends TopNetworkModule {
/// Real-time clock is based on RTCPeriod relative to Top clock /// Real-time clock is based on RTCPeriod relative to Top clock
trait PeripheryCounter extends TopNetwork { trait PeripheryCounter extends HasTopLevelNetworks {
val module: PeripheryCounterModule val module: PeripheryCounterModule
val coreplex: CoreplexRISCVPlatform val coreplex: CoreplexRISCVPlatform
} }
trait PeripheryCounterBundle extends TopNetworkBundle { trait PeripheryCounterBundle extends HasTopLevelNetworksBundle {
val outer: PeripheryCounter val outer: PeripheryCounter
} }
trait PeripheryCounterModule extends TopNetworkModule { trait PeripheryCounterModule extends HasTopLevelNetworksModule {
val outer: PeripheryCounter val outer: PeripheryCounter
val io: PeripheryCounterBundle val io: PeripheryCounterBundle
@ -111,16 +111,16 @@ trait PeripheryCounterModule extends TopNetworkModule {
/// Coreplex will power-on running at 0x1000 (BootROM) /// Coreplex will power-on running at 0x1000 (BootROM)
trait HardwiredResetVector extends TopNetwork { trait HardwiredResetVector extends HasTopLevelNetworks {
val module: HardwiredResetVectorModule val module: HardwiredResetVectorModule
val coreplex: CoreplexRISCVPlatform val coreplex: CoreplexRISCVPlatform
} }
trait HardwiredResetVectorBundle extends TopNetworkBundle { trait HardwiredResetVectorBundle extends HasTopLevelNetworksBundle {
val outer: HardwiredResetVector val outer: HardwiredResetVector
} }
trait HardwiredResetVectorModule extends TopNetworkModule { trait HardwiredResetVectorModule extends HasTopLevelNetworksModule {
val outer: HardwiredResetVector val outer: HardwiredResetVector
val io: HardwiredResetVectorBundle val io: HardwiredResetVectorBundle

View File

@ -10,12 +10,12 @@ import uncore.devices._
import util._ import util._
import coreplex._ import coreplex._
trait RocketPlexMaster extends TopNetwork { trait RocketPlexMaster extends HasTopLevelNetworks {
val module: RocketPlexMasterModule val module: RocketPlexMasterModule
val coreplex = LazyModule(new DefaultCoreplex) val coreplex = LazyModule(new DefaultCoreplex)
coreplex.l2in :=* l2.node coreplex.l2in :=* l2FrontendBus.node
socBus.node := coreplex.mmio socBus.node := coreplex.mmio
coreplex.mmioInt := intBus.intnode coreplex.mmioInt := intBus.intnode
@ -23,11 +23,11 @@ trait RocketPlexMaster extends TopNetwork {
(mem zip coreplex.mem) foreach { case (xbar, channel) => xbar.node :=* channel } (mem zip coreplex.mem) foreach { case (xbar, channel) => xbar.node :=* channel }
} }
trait RocketPlexMasterBundle extends TopNetworkBundle { trait RocketPlexMasterBundle extends HasTopLevelNetworksBundle {
val outer: RocketPlexMaster val outer: RocketPlexMaster
} }
trait RocketPlexMasterModule extends TopNetworkModule { trait RocketPlexMasterModule extends HasTopLevelNetworksModule {
val outer: RocketPlexMaster val outer: RocketPlexMaster
val io: RocketPlexMasterBundle val io: RocketPlexMasterBundle
val clock: Clock val clock: Clock

View File

@ -29,7 +29,7 @@ class TestHarness()(implicit p: Parameters) extends Module {
val mmio_sim = Module(LazyModule(new SimAXIMem(1, 4096)).module) val mmio_sim = Module(LazyModule(new SimAXIMem(1, 4096)).module)
mmio_sim.io.axi4 <> dut.io.mmio_axi4 mmio_sim.io.axi4 <> dut.io.mmio_axi4
val l2_axi4 = dut.io.l2_axi4(0) val l2_axi4 = dut.io.l2_frontend_bus_axi4(0)
l2_axi4.ar.valid := Bool(false) l2_axi4.ar.valid := Bool(false)
l2_axi4.aw.valid := Bool(false) l2_axi4.aw.valid := Bool(false)
l2_axi4.w .valid := Bool(false) l2_axi4.w .valid := Bool(false)