From 73d8d42515680d903b18e2a05ecd593dc55d73e9 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Mon, 9 Apr 2012 21:40:35 -0700 Subject: [PATCH] fix coherence bug with multiple probe replies --- uncore/coherence.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/uncore/coherence.scala b/uncore/coherence.scala index 9cd8fc7c..678f83ab 100644 --- a/uncore/coherence.scala +++ b/uncore/coherence.scala @@ -598,8 +598,8 @@ class CoherenceHubBroadcast(ntiles: Int) extends CoherenceHub(ntiles) with FourS p_rep_data_dep_list(j).io.enq.valid := do_pop p_rep_data_dep_list(j).io.enq.bits.global_xact_id := OHToUFix(pop_p_reps) p_rep_data.ready := foldR(trackerList.map(_.io.pop_p_rep_data(j)))(_ || _) - when (p_rep.valid) { - p_data_valid_arr(idx) := probeReplyHasData(p_rep.bits) + when (p_rep.valid && probeReplyHasData(p_rep.bits)) { + p_data_valid_arr(idx) := Bool(true) p_data_tile_id_arr(idx) := UFix(j) } p_rep_data_dep_list(j).io.deq.ready := foldR(trackerList.map(_.io.pop_p_rep_dep(j).toBool))(_||_)