From dc8861409449c6e1560da3d6389ddc1d71cfbdef Mon Sep 17 00:00:00 2001 From: Henry Cook Date: Tue, 17 Mar 2015 02:10:30 -0700 Subject: [PATCH] overlapping read/resps in l2 fix --- uncore/src/main/scala/cache.scala | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/uncore/src/main/scala/cache.scala b/uncore/src/main/scala/cache.scala index a2e78d1b..72ef4a79 100644 --- a/uncore/src/main/scala/cache.scala +++ b/uncore/src/main/scala/cache.scala @@ -900,6 +900,11 @@ class L2AcquireTracker(trackerId: Int, bankId: Int) extends L2XactTracker { mergeDataInternal(io.data.resp.bits.addr_beat, io.data.resp.bits.data) pending_resps := pending_resps & ~UIntToOH(io.data.resp.bits.addr_beat) } + when(io.data.read.ready && io.data.resp.valid) { + pending_resps := (pending_resps & + ~UIntToOH(io.data.resp.bits.addr_beat)) | + UIntToOH(curr_read_beat) + } } is(s_data_resp) { when(io.data.resp.valid) {