1
0

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:
Henry Cook 2017-01-17 11:57:23 -08:00 committed by GitHub
parent 74b6a8d02b
commit 9a6634cd40
5 changed files with 15 additions and 8 deletions

View File

@ -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
})

View File

@ -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 :=

View File

@ -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 }
}

View File

@ -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 {

View File

@ -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 {