diff --git a/src/verifier.sv b/src/verifier.sv index 03a313397c1e97e1a12c1866f0f3ba4cd1a58566..76ac23c45463bdc7d53bab6632787ebdab306d02 100644 --- a/src/verifier.sv +++ b/src/verifier.sv @@ -20,11 +20,18 @@ module verifier #( // 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 + input logic [NR_COMMIT_PORTS-1:0] commit_ack_i, + + output logic should_lock_icache_o ); localparam int unsigned BITS_ENTRIES = $clog2(NR_ENTRIES); + // 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 should_lock_icache_o = has_mem_access & icache_miss_i; + // CO logic [NR_COMMIT_PORTS-1:0][BITS_ENTRIES-1:0] commit_id_n, commit_id_q; logic [NR_COMMIT_PORTS-1:0] commit_correct;