diff --git a/src/ariane.sv b/src/ariane.sv index 26c41d191ca5fad504d574ed1424493dad81520a..b745effe2783f4038de78508c895ba9a417d9dee 100644 --- a/src/ariane.sv +++ b/src/ariane.sv @@ -647,6 +647,9 @@ module ariane import ariane_pkg::*; #( // IS .is_has_mem_access_i (has_mem_access_is_verif), + // LSU + .no_st_pending_commit_i (no_st_pending_ex), + // CO .commit_instr_i (commit_instr_id_commit), .commit_ack_i (commit_ack) diff --git a/src/verifier.sv b/src/verifier.sv index 76ac23c45463bdc7d53bab6632787ebdab306d02..f0875db2dd2ab28ccf8eaedefff74f9c4b4eaf40 100644 --- a/src/verifier.sv +++ b/src/verifier.sv @@ -18,6 +18,9 @@ module verifier #( // IS input logic is_has_mem_access_i, + // LSU + input logic no_st_pending_commit_i, + // CO input ariane_pkg::scoreboard_entry_t [NR_COMMIT_PORTS-1:0] commit_instr_i, input logic [NR_COMMIT_PORTS-1:0] commit_ack_i, @@ -29,7 +32,7 @@ module verifier #( // Bus accesses (I$ misses and memory instructions in the pipeline) logic has_mem_access; - assign has_mem_access = if_has_mem_access_i | id_has_mem_access_i | is_has_mem_access_i; + assign has_mem_access = if_has_mem_access_i | id_has_mem_access_i | is_has_mem_access_i | (~no_st_pending_commit_i); assign should_lock_icache_o = has_mem_access & icache_miss_i; // CO