fix bug in ReorderQueue breaking TileLink Unwrapper
This commit is contained in:
parent
4c2b0a9032
commit
6403f27fbe
@ -1295,11 +1295,6 @@ trait HasDataBeatCounters {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ClientTileLinkIOUnwrapperInfo extends Bundle {
|
|
||||||
val voluntary = Bool()
|
|
||||||
val builtin = Bool()
|
|
||||||
}
|
|
||||||
|
|
||||||
class ClientTileLinkIOUnwrapper(implicit p: Parameters) extends TLModule()(p) {
|
class ClientTileLinkIOUnwrapper(implicit p: Parameters) extends TLModule()(p) {
|
||||||
val io = new Bundle {
|
val io = new Bundle {
|
||||||
val in = new ClientTileLinkIO().flip
|
val in = new ClientTileLinkIO().flip
|
||||||
|
@ -131,7 +131,8 @@ class ReorderQueue[T <: Data](dType: T, tagWidth: Int, size: Int)
|
|||||||
val roq_free = Reg(init = Vec.fill(size)(Bool(true)))
|
val roq_free = Reg(init = Vec.fill(size)(Bool(true)))
|
||||||
|
|
||||||
val roq_enq_addr = PriorityEncoder(roq_free)
|
val roq_enq_addr = PriorityEncoder(roq_free)
|
||||||
val roq_matches = roq_tags.map(_ === io.deq.tag)
|
val roq_matches = roq_tags.zip(roq_free)
|
||||||
|
.map { case (tag, free) => tag === io.deq.tag && !free }
|
||||||
val roq_deq_addr = PriorityEncoder(roq_matches)
|
val roq_deq_addr = PriorityEncoder(roq_matches)
|
||||||
|
|
||||||
io.enq.ready := roq_free.reduce(_ || _)
|
io.enq.ready := roq_free.reduce(_ || _)
|
||||||
|
Loading…
Reference in New Issue
Block a user