From 5eae7e1da46a1bd313dd7f6274b3b8d665217304 Mon Sep 17 00:00:00 2001 From: Yunsup Lee Date: Tue, 21 Mar 2017 09:03:50 -0700 Subject: [PATCH] make DCache s1_nack less conservative for pipelined MMIO requests --- src/main/scala/rocket/DCache.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/rocket/DCache.scala b/src/main/scala/rocket/DCache.scala index 4df56f30..65ec9cc1 100644 --- a/src/main/scala/rocket/DCache.scala +++ b/src/main/scala/rocket/DCache.scala @@ -172,7 +172,7 @@ class DCacheModule(outer: DCache) extends HellaCacheModule(outer) { val (s2_victim_dirty, s2_shrink_param, voluntaryNewCoh) = s2_victim_state.onCacheControl(M_FLUSH) val s2_update_meta = s2_hit_state =/= s2_new_hit_state io.cpu.s2_nack := s2_valid && !s2_valid_hit && !(s2_valid_uncached && tl_out.a.ready && !uncachedInFlight.asUInt.andR) - when (s2_valid && (!s2_valid_hit || s2_update_meta)) { s1_nack := true } + when (io.cpu.s2_nack || (s2_valid_hit && s2_update_meta)) { s1_nack := true } // exceptions val s1_storegen = new StoreGen(s1_req.typ, s1_req.addr, UInt(0), wordBytes)