From 840d2a2226319c50fc6d0d7bd1186c00dd8df511 Mon Sep 17 00:00:00 2001 From: Henry Cook Date: Fri, 9 Nov 2018 15:25:26 -0800 Subject: [PATCH] devices: maskrom has helper object attach instead of trait (#1698) * devices: maskrom has helper object attach instead of trait * maskrom: remove unused param key --- src/main/scala/devices/tilelink/MaskROM.scala | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/scala/devices/tilelink/MaskROM.scala b/src/main/scala/devices/tilelink/MaskROM.scala index 23de2547..941b510f 100644 --- a/src/main/scala/devices/tilelink/MaskROM.scala +++ b/src/main/scala/devices/tilelink/MaskROM.scala @@ -5,25 +5,11 @@ package freechips.rocketchip.devices.tilelink import Chisel._ import freechips.rocketchip.config.{Field, Parameters} import freechips.rocketchip.diplomacy._ -import freechips.rocketchip.subsystem.BaseSubsystem import freechips.rocketchip.tilelink._ import freechips.rocketchip.util._ case class MaskROMParams(address: BigInt, name: String, depth: Int = 2048, width: Int = 32) -case object PeripheryMaskROMKey extends Field[Seq[MaskROMParams]] - -trait HasPeripheryMaskROMSlave { this: BaseSubsystem => - val maskROMParams = p(PeripheryMaskROMKey) - val maskROMs = maskROMParams map { params => - val maskROM = LazyModule(new TLMaskROM(params)) - maskROM.node := cbus.coupleTo("MaskROM") { - TLFragmenter(maskROM.beatBytes, cbus.blockBytes) :*= TLWidthWidget(cbus) := _ - } - maskROM - } -} - class TLMaskROM(c: MaskROMParams)(implicit p: Parameters) extends LazyModule { val beatBytes = c.width/8 val node = TLManagerNode(Seq(TLManagerPortParameters( @@ -69,3 +55,15 @@ class TLMaskROM(c: MaskROMParams)(implicit p: Parameters) extends LazyModule { in.e.ready := Bool(true) } } + +object MaskROM { + def attach(params: MaskROMParams, bus: TLBusWrapper)(implicit p: Parameters): TLMaskROM = { + val maskROM = LazyModule(new TLMaskROM(params)) + maskROM.node := bus.coupleTo("MaskROM") { + TLFragmenter(maskROM.beatBytes, bus.blockBytes) :*= TLWidthWidget(bus) := _ + } + InModuleBody { maskROM.module.clock := bus.module.clock } + InModuleBody { maskROM.module.reset := bus.module.reset } + maskROM + } +}