Connect CoalShiftQueue enq.ready to upstream TL.ready
Now CoalShiftQueue can properly stall memtrace driver.
This commit is contained in:
@@ -604,7 +604,10 @@ class CoalescingUnitImp(outer: CoalescingUnit, config: CoalescerConfig) extends
|
|||||||
val deq = reqQueues.io.queue.deq(lane)
|
val deq = reqQueues.io.queue.deq(lane)
|
||||||
enq.valid := tlIn.a.valid
|
enq.valid := tlIn.a.valid
|
||||||
enq.bits := req
|
enq.bits := req
|
||||||
deq.ready := true.B // TODO: deq.ready should respect downstream arbiter
|
// TODO: deq.ready should respect downstream arbiter
|
||||||
|
deq.ready := true.B
|
||||||
|
// Stall upstream core or memtrace driver when shiftqueue is not ready
|
||||||
|
tlIn.a.ready := enq.ready
|
||||||
tlOut.a.valid := deq.valid
|
tlOut.a.valid := deq.valid
|
||||||
tlOut.a.bits := deq.bits.toTLA(edgeOut)
|
tlOut.a.bits := deq.bits.toTLA(edgeOut)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user