tilelink: SourceShrinker should work also for 0 latency
This commit is contained in:
parent
f02c921d0f
commit
138276fd87
@ -60,8 +60,9 @@ class TLSourceShrinker(maxInFlight: Int)(implicit p: Parameters) extends LazyMod
|
||||
out.a.bits := in.a.bits
|
||||
out.a.bits.source := nextFree holdUnless a_first
|
||||
|
||||
val bypass = Bool(edgeOut.manager.minLatency == 0) && in.a.fire() && a_first && nextFree === out.d.bits.source
|
||||
in.d <> out.d
|
||||
in.d.bits.source := sourceIdMap(out.d.bits.source)
|
||||
in.d.bits.source := Mux(bypass, in.a.bits.source, sourceIdMap(out.d.bits.source))
|
||||
|
||||
when (a_first && in.a.fire()) {
|
||||
sourceIdMap(nextFree) := in.a.bits.source
|
||||
|
Loading…
Reference in New Issue
Block a user