Add TLBuffers on the L1 backends and blind exit points (#513)
* [coreplex] add TLBuffers on the exit points from the Tile and Coreplex * [config] WithBootROMFile
This commit is contained in:
parent
74b6a8d02b
commit
9a6634cd40
@ -212,3 +212,7 @@ class WithoutFPU extends Config((site, here, up) => {
|
||||
class WithFPUWithoutDivSqrt extends Config((site, here, up) => {
|
||||
case FPUKey => Some(FPUConfig(divSqrt = false))
|
||||
})
|
||||
|
||||
class WithBootROMFile(bootROMFile: String) extends Config((site, here, up) => {
|
||||
case BootROMFile => bootROMFile
|
||||
})
|
||||
|
@ -28,9 +28,9 @@ trait CoreplexNetwork extends HasCoreplexParameters {
|
||||
intBar.intnode := mmioInt
|
||||
|
||||
cbus.node :=
|
||||
TLBuffer()(
|
||||
TLAtomicAutomata(arithmetic = true)( // disable once TLB uses TL2 metadata
|
||||
TLWidthWidget(l1tol2_beatBytes)(
|
||||
TLBuffer()(
|
||||
l1tol2.node)))
|
||||
|
||||
mmio :=
|
||||
|
@ -20,7 +20,7 @@ trait HasSynchronousRocketTiles extends CoreplexRISCVPlatform {
|
||||
}))}
|
||||
|
||||
rocketTiles.foreach { r =>
|
||||
r.masterNodes.foreach { l1tol2.node := _ }
|
||||
r.masterNodes.foreach { l1tol2.node := TLBuffer()(_) }
|
||||
r.slaveNode.foreach { _ := cbus.node }
|
||||
}
|
||||
|
||||
|
@ -36,9 +36,10 @@ trait TopNetwork extends HasPeripheryParameters {
|
||||
val intBus = LazyModule(new IntXbar)
|
||||
|
||||
peripheryBus.node :=
|
||||
TLBuffer()(
|
||||
TLWidthWidget(socBusConfig.beatBytes)(
|
||||
TLAtomicAutomata(arithmetic = peripheryBusArithmetic)(
|
||||
socBus.node))
|
||||
socBus.node)))
|
||||
}
|
||||
|
||||
trait TopNetworkBundle extends HasPeripheryParameters {
|
||||
|
@ -103,9 +103,9 @@ trait PeripheryMasterAXI4Mem {
|
||||
}
|
||||
|
||||
val mem = mem_axi4.map { node =>
|
||||
val foo = LazyModule(new TLToAXI4(config.idBits))
|
||||
node := foo.node
|
||||
foo.node
|
||||
val converter = LazyModule(new TLToAXI4(config.idBits))
|
||||
node := AXI4Buffer()(converter.node)
|
||||
converter.node
|
||||
}
|
||||
}
|
||||
|
||||
@ -140,10 +140,11 @@ trait PeripheryMasterAXI4MMIO {
|
||||
beatBytes = config.beatBytes))
|
||||
|
||||
mmio_axi4 :=
|
||||
AXI4Buffer()(
|
||||
// AXI4Fragmenter(lite=false, maxInFlight = 20)( // beef device up to support awlen = 0xff
|
||||
TLToAXI4(idBits = config.idBits)( // use idBits = 0 for AXI4-Lite
|
||||
TLWidthWidget(socBusConfig.beatBytes)( // convert width before attaching to socBus
|
||||
socBus.node))
|
||||
socBus.node)))
|
||||
}
|
||||
|
||||
trait PeripheryMasterAXI4MMIOBundle {
|
||||
@ -206,9 +207,10 @@ trait PeripheryMasterTLMMIO {
|
||||
beatBytes = config.beatBytes))
|
||||
|
||||
mmio_tl :=
|
||||
TLBuffer()(
|
||||
TLSourceShrinker(config.idBits)(
|
||||
TLWidthWidget(socBusConfig.beatBytes)(
|
||||
socBus.node))
|
||||
socBus.node)))
|
||||
}
|
||||
|
||||
trait PeripheryMasterTLMMIOBundle {
|
||||
|
Loading…
Reference in New Issue
Block a user