tilelink2: Fragmenter client must request global FIFO
This commit is contained in:
parent
36f4584bb1
commit
2d8a49cc06
@ -37,11 +37,13 @@ class TLFragmenter(val minSize: Int, val maxSize: Int, val alwaysMin: Boolean =
|
||||
supportsPutFull = expandTransfer(m.supportsPutFull),
|
||||
supportsPutPartial = expandTransfer(m.supportsPutPartial),
|
||||
supportsHint = expandTransfer(m.supportsHint))
|
||||
def mapClient(c: TLClientParameters) = c.copy(
|
||||
sourceId = IdRange(c.sourceId.start << fragmentBits, c.sourceId.end << fragmentBits))
|
||||
|
||||
val node = TLAdapterNode(
|
||||
clientFn = { c => c.copy(clients = c.clients.map(mapClient)) },
|
||||
// We require that all the responses are mutually FIFO
|
||||
// Thus we need to compact all of the masters into one big master
|
||||
clientFn = { c => c.copy(clients = Seq(TLClientParameters(
|
||||
sourceId = IdRange(0, c.endSourceId << fragmentBits),
|
||||
requestFifo = true))) },
|
||||
managerFn = { m => m.copy(managers = m.managers.map(mapManager)) })
|
||||
|
||||
lazy val module = new LazyModuleImp(this) {
|
||||
|
Loading…
Reference in New Issue
Block a user