From a14966e51618fcffb4bcd2a45280301473f026c8 Mon Sep 17 00:00:00 2001 From: Ross Thompson Date: Thu, 17 Aug 2023 17:58:49 -0500 Subject: [PATCH] Updated the hazard logic for CMO operations. --- src/ieu/controller.sv | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ieu/controller.sv b/src/ieu/controller.sv index ede8f258e..14bbc15b6 100644 --- a/src/ieu/controller.sv +++ b/src/ieu/controller.sv @@ -425,5 +425,7 @@ module controller import cvw::*; #(parameter cvw_t P) ( // the synchronous DTIM cannot read immediately after write // a cache cannot read or write immediately after a write // atomic operations are also detected as MemRWD[1] - assign StoreStallD = MemRWE[0] & ((MemRWD[1] | (MemRWD[0] & P.DCACHE_SUPPORTED))); + //assign StoreStallD = MemRWE[0] & ((MemRWD[1] | (MemRWD[0] & P.DCACHE_SUPPORTED))); + // *** RT: Modify for ZICBOZ + assign StoreStallD = (MemRWE[0] | (|CMOpE & P.ZICBOM_SUPPORTED)) & ((MemRWD[1] | (MemRWD[0] & P.DCACHE_SUPPORTED) | (|CMOpD & P.ZICBOM_SUPPORTED))); endmodule