1
0

FIFOFixer: Not all D-channel messages are A-channel responses

This commit is contained in:
Andrew Waterman 2017-03-21 14:15:16 -07:00
parent 3609254e4a
commit 76f083b469

View File

@ -27,7 +27,7 @@ class TLFIFOFixer(implicit p: Parameters) extends LazyModule
val a_nid = a_id === UInt(0) // no id = not FIFO val a_nid = a_id === UInt(0) // no id = not FIFO
val a_first = edgeIn.first(in.a) val a_first = edgeIn.first(in.a)
val d_first = edgeOut.first(out.d) val d_first = edgeOut.first(out.d) && out.d.bits.opcode =/= TLMessages.ReleaseAck
val stalls = edgeIn.client.clients.filter(c => c.requestFifo && c.sourceId.size > 1).map { c => val stalls = edgeIn.client.clients.filter(c => c.requestFifo && c.sourceId.size > 1).map { c =>
val a_sel = c.sourceId.contains(in.a.bits.source) val a_sel = c.sourceId.contains(in.a.bits.source)