axi4: RegisterRouter; concurrent response illegal in AXI
This commit is contained in:
parent
5163ccd11f
commit
f1217519f1
@ -17,7 +17,7 @@ class AXI4RegisterNode(address: AddressSet, concurrency: Int = 0, beatBytes: Int
|
|||||||
supportsRead = TransferSizes(1, beatBytes),
|
supportsRead = TransferSizes(1, beatBytes),
|
||||||
interleavedId = Some(0))),
|
interleavedId = Some(0))),
|
||||||
beatBytes = beatBytes,
|
beatBytes = beatBytes,
|
||||||
minLatency = min(concurrency, 1)))) // the Queue adds at most one cycle
|
minLatency = 1)))
|
||||||
{
|
{
|
||||||
require (address.contiguous)
|
require (address.contiguous)
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ class AXI4RegisterNode(address: AddressSet, concurrency: Int = 0, beatBytes: Int
|
|||||||
// Invoke the register map builder and make it Irrevocable
|
// Invoke the register map builder and make it Irrevocable
|
||||||
val out = Queue.irrevocable(
|
val out = Queue.irrevocable(
|
||||||
RegMapper(beatBytes, concurrency, undefZero, in, mapping:_*),
|
RegMapper(beatBytes, concurrency, undefZero, in, mapping:_*),
|
||||||
entries = 1, flow = true)
|
entries = 2)
|
||||||
|
|
||||||
// No flow control needed
|
// No flow control needed
|
||||||
out.ready := Mux(out.bits.read, r.ready, b.ready)
|
out.ready := Mux(out.bits.read, r.ready, b.ready)
|
||||||
|
Loading…
Reference in New Issue
Block a user