From 3e0b5d6fd94d1a0ef276e0a5463889e7f8721952 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Thu, 19 May 2016 10:55:00 -0700 Subject: [PATCH] Ensure that a TSHR doesn't see a valid Acquire if that is blocked by a Release, but would otherwise be allocated. Closes #45 --- uncore/src/main/scala/uncore.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uncore/src/main/scala/uncore.scala b/uncore/src/main/scala/uncore.scala index 98eba33f..8def2a1c 100644 --- a/uncore/src/main/scala/uncore.scala +++ b/uncore/src/main/scala/uncore.scala @@ -87,7 +87,7 @@ trait HasCoherenceAgentWiringHelpers { val match_ok = matchOverride.getOrElse(Bool(true)) in.ready := Mux(no_matches, ready_bits.orR, (match_bits & ready_bits).orR) && alloc_ok && match_ok outs.zip(allocs).zipWithIndex.foreach { case((out, a), i) => - out.valid := in.valid && match_ok + out.valid := in.valid && match_ok && alloc_ok out.bits := in.bits dataOverrides foreach { d => out.bits.data := d(i) } a := alloc_bits(i) & no_matches & alloc_ok