PeripheryErrorSlave: do not put a TLMonitor between the fragmenter and slave
This edge has the largest number of source bits by far. Let's just exclude it.
This commit is contained in:
parent
94f85e8bc8
commit
b4b165112c
@ -346,7 +346,11 @@ trait HasPeripheryErrorSlave extends HasSystemNetworks {
|
|||||||
private val config = p(ErrorConfig)
|
private val config = p(ErrorConfig)
|
||||||
private val maxXfer = min(config.address.map(_.alignment).max.toInt, 4096)
|
private val maxXfer = min(config.address.map(_.alignment).max.toInt, 4096)
|
||||||
val error = LazyModule(new TLError(config.address, peripheryBusConfig.beatBytes))
|
val error = LazyModule(new TLError(config.address, peripheryBusConfig.beatBytes))
|
||||||
error.node := TLFragmenter(peripheryBusConfig.beatBytes, maxXfer)(peripheryBus.node)
|
|
||||||
|
// Override the default Parameters to exclude the TLMonitor between the Fragmenter and error slave.
|
||||||
|
// Most slaves do not support a 4kB burst so this slave ends up with many more source bits than others.
|
||||||
|
private def sourceInfo(implicit x: chisel3.internal.sourceinfo.SourceInfo) = x
|
||||||
|
error.node.:=(TLFragmenter(peripheryBusConfig.beatBytes, maxXfer)(peripheryBus.node))(new WithoutTLMonitors ++ p, sourceInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user