Respect io.coalescable for deq.valid in CoalShiftQueue
Otherwise disabling coalescer globally wouldn't work.
This commit is contained in:
@@ -235,7 +235,8 @@ class CoalShiftQueue[T <: Data](gen: T, entries: Int, config: CoalescerConfig) e
|
||||
// dequeue is valid when:
|
||||
// head entry is valid, has not been processed by downstream, and is not coalescable
|
||||
deq.bits := elts.map(_.head.bits)(i)
|
||||
deq.valid := elts.map(_.head.valid)(i) && !deqDone(i) && !io.coalescable(i)
|
||||
deq.valid := elts.map(_.head.valid)(i) && !deqDone(i) &&
|
||||
(!io.invalidate.valid || !io.coalescable(i))
|
||||
|
||||
// can take new entries if not empty, or if full but shifting
|
||||
enq.ready := (!ctrl.full) || ctrl.shift
|
||||
|
||||
Reference in New Issue
Block a user