From d5608b272850f7bc5eca79d0ff9f9cfcd2cad696 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 21 Feb 2012 01:02:16 -0800 Subject: [PATCH] fix AMO replay bug didn't check for structural hazard on AMO unit if a replay was initiated one cycle before before a hit-under-miss AMO was issued --- rocket/src/main/scala/nbdcache.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocket/src/main/scala/nbdcache.scala b/rocket/src/main/scala/nbdcache.scala index 42d402e3..3530a5df 100644 --- a/rocket/src/main/scala/nbdcache.scala +++ b/rocket/src/main/scala/nbdcache.scala @@ -913,7 +913,7 @@ class HellaCacheUniproc extends HellaCache with ThreeStateIncoherence { // replays val replay = replayer.io.data_req.bits - val stall_replay = r_replay_amo || p_amo || p_store_valid + val stall_replay = r_cpu_req_val && r_req_amo || r_replay_amo || p_amo || p_store_valid val replay_val = replayer.io.data_req.valid && !stall_replay val replay_rdy = data_arb.io.in(1).ready data_arb.io.in(1).bits.inner_req.offset := replay.offset(offsetmsb,ramindexlsb)