fix Bufferless irel_vs_iacq_conflict signal
This commit is contained in:
parent
e5cccc0526
commit
9eeb1112d4
@ -30,13 +30,15 @@ class BufferlessBroadcastHub(implicit p: Parameters) extends HierarchicalCoheren
|
|||||||
outer_arb.io.in <> outerList
|
outer_arb.io.in <> outerList
|
||||||
io.outer <> outer_arb.io.out
|
io.outer <> outer_arb.io.out
|
||||||
|
|
||||||
|
val iacq = Queue(io.inner.acquire, 1, pipe=true)
|
||||||
|
val irel = Queue(io.inner.release, 1, pipe=true)
|
||||||
|
|
||||||
// Handle acquire transaction initiation
|
// Handle acquire transaction initiation
|
||||||
val irel_vs_iacq_conflict =
|
val irel_vs_iacq_conflict =
|
||||||
io.inner.acquire.valid &&
|
iacq.valid &&
|
||||||
io.inner.release.valid &&
|
irel.valid &&
|
||||||
io.irel().conflicts(io.iacq())
|
irel.bits.conflicts(iacq.bits)
|
||||||
|
|
||||||
val iacq = Queue(io.inner.acquire, 1, pipe=true)
|
|
||||||
doInputRoutingWithAllocation(
|
doInputRoutingWithAllocation(
|
||||||
in = iacq,
|
in = iacq,
|
||||||
outs = trackerList.map(_.io.inner.acquire),
|
outs = trackerList.map(_.io.inner.acquire),
|
||||||
@ -48,7 +50,6 @@ class BufferlessBroadcastHub(implicit p: Parameters) extends HierarchicalCoheren
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Handle releases, which might be voluntary and might have data
|
// Handle releases, which might be voluntary and might have data
|
||||||
val irel = Queue(io.inner.release, 1, pipe=true)
|
|
||||||
doInputRoutingWithAllocation(
|
doInputRoutingWithAllocation(
|
||||||
in = irel,
|
in = irel,
|
||||||
outs = trackerList.map(_.io.inner.release),
|
outs = trackerList.map(_.io.inner.release),
|
||||||
|
Loading…
Reference in New Issue
Block a user