1
0

Fix StoreDataQueue allocation bug in BroadcastHub

Closes #27
This commit is contained in:
Henry Cook 2016-03-17 12:31:18 -07:00
parent 8a47c3f346
commit 49d82864bf

View File

@ -52,9 +52,11 @@ class L2BroadcastHub(implicit p: Parameters) extends ManagerCoherenceAgent()(p)
val sdq_val = Reg(init=Bits(0, sdqDepth)) val sdq_val = Reg(init=Bits(0, sdqDepth))
val sdq_alloc_id = PriorityEncoder(~sdq_val) val sdq_alloc_id = PriorityEncoder(~sdq_val)
val sdq_rdy = !sdq_val.andR val sdq_rdy = !sdq_val.andR
val sdq_enq = trackerList.map(_.io.alloc.iacq).reduce(_||_) && val sdq_enq = trackerList.map( t =>
io.inner.acquire.fire() && (t.io.alloc.iacq || t.io.matches.iacq) &&
io.iacq().hasData() t.io.inner.acquire.fire() &&
t.io.iacq().hasData()
).reduce(_||_)
when (sdq_enq) { sdq(sdq_alloc_id) := io.iacq().data } when (sdq_enq) { sdq(sdq_alloc_id) := io.iacq().data }
// Handle acquire transaction initiation // Handle acquire transaction initiation