From 4ebcfbb9ebb569963117f6a748a951697d2bd1ae Mon Sep 17 00:00:00 2001 From: Hansung Kim Date: Fri, 5 May 2023 15:51:59 -0700 Subject: [PATCH] Revert deq.valid; force-set io.coalesceable instead for coal.enable --- src/main/scala/tilelink/Coalescing.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/scala/tilelink/Coalescing.scala b/src/main/scala/tilelink/Coalescing.scala index 7aff976..52f6c5b 100644 --- a/src/main/scala/tilelink/Coalescing.scala +++ b/src/main/scala/tilelink/Coalescing.scala @@ -247,8 +247,7 @@ 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.invalidate.valid || !io.coalescable(i)) + deq.valid := elts.map(_.head.valid)(i) && !deqDone(i) && !io.coalescable(i) // can take new entries if not empty, or if full but shifting enq.ready := (!ctrl.full) || ctrl.shift @@ -546,6 +545,7 @@ class MultiCoalescer(windowT: CoalShiftQueue[ReqQueueEntry], coalReqT: ReqQueueE def disable = { io.coalReq.valid := false.B io.invalidate.valid := false.B + io.coalescable.foreach { _ := false.B } } if (!config.enable) disable }