devices: maskrom has helper object attach instead of trait (#1698)
* devices: maskrom has helper object attach instead of trait * maskrom: remove unused param key
This commit is contained in:
parent
9ac2d897c9
commit
840d2a2226
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue