From 2247eb0c18bd13c4eca99e049280ad2750d5601b Mon Sep 17 00:00:00 2001 From: Alban Gruin <alban.gruin@irit.fr> Date: Sun, 8 May 2022 16:17:46 +0200 Subject: [PATCH] Revert "verifier: lock I$ on D$ writes" This reverts commit 38d335fcd7688bcedb8d86a171352c5bcfd5d2dc. --- src/ariane.sv | 8 +------- src/ex_stage.sv | 2 -- src/load_store_unit.sv | 5 ++--- src/verifier.sv | 5 +---- 4 files changed, 4 insertions(+), 16 deletions(-) diff --git a/src/ariane.sv b/src/ariane.sv index 01bc663a..69c045bc 100644 --- a/src/ariane.sv +++ b/src/ariane.sv @@ -103,8 +103,6 @@ module ariane import ariane_pkg::*; #( logic has_mem_access_is_verif; logic has_ctrl_flow_is_icache; - logic store_buffer_empty_verif; - // -------------- // ISSUE <-> EX // -------------- @@ -447,7 +445,6 @@ module ariane import ariane_pkg::*; #( .lsu_commit_ready_o ( lsu_commit_ready_ex_commit ), // to commit .commit_tran_id_i ( lsu_commit_trans_id ), // from commit .no_st_pending_o ( no_st_pending_ex ), - .store_buffer_empty_o ( store_buffer_empty_verif ), // FPU .fpu_ready_o ( fpu_ready_ex_id ), .fpu_valid_i ( fpu_valid_id_ex ), @@ -667,9 +664,6 @@ module ariane import ariane_pkg::*; #( // I$ .icache_miss_i (icache_miss_cache_perf), - // D$ - .dcache_wbuffer_empty_i (dcache_commit_wbuffer_empty), - // IF .if_has_mem_access_i (has_mem_access_if_verif), .if_has_cf_i (has_ctrl_flow_if_icache), @@ -683,7 +677,7 @@ module ariane import ariane_pkg::*; #( .is_has_cf_i (has_ctrl_flow_is_icache), // LSU - .no_st_pending_commit_i (store_buffer_empty_verif), + .no_st_pending_commit_i (no_st_pending_ex), // CO .commit_instr_i (commit_instr_id_commit), diff --git a/src/ex_stage.sv b/src/ex_stage.sv index c035ad8d..402bbb33 100644 --- a/src/ex_stage.sv +++ b/src/ex_stage.sv @@ -71,7 +71,6 @@ module ex_stage import ariane_pkg::*; #( output logic lsu_commit_ready_o, // commit queue is ready to accept another commit request input logic [TRANS_ID_BITS-1:0] commit_tran_id_i, output logic no_st_pending_o, - output logic store_buffer_empty_o, input logic amo_valid_commit_i, // FPU output logic fpu_ready_o, // FU is ready @@ -278,7 +277,6 @@ module ex_stage import ariane_pkg::*; #( .rst_ni, .flush_i, .no_st_pending_o, - .store_buffer_empty_o, .fu_data_i ( lsu_data ), .lsu_ready_o, .lsu_valid_i, diff --git a/src/load_store_unit.sv b/src/load_store_unit.sv index 18791202..fe2a6859 100644 --- a/src/load_store_unit.sv +++ b/src/load_store_unit.sv @@ -21,7 +21,6 @@ module load_store_unit import ariane_pkg::*; #( input logic rst_ni, input logic flush_i, output logic no_st_pending_o, - output logic store_buffer_empty_o, input logic amo_valid_commit_i, input fu_data_t fu_data_i, @@ -197,9 +196,9 @@ module load_store_unit import ariane_pkg::*; #( end endgenerate - logic store_buffer_empty; - assign store_buffer_empty_o = store_buffer_empty; + + logic store_buffer_empty; // ------------------ // Store Unit // ------------------ diff --git a/src/verifier.sv b/src/verifier.sv index 8618d1ff..ebe7f803 100644 --- a/src/verifier.sv +++ b/src/verifier.sv @@ -9,9 +9,6 @@ module verifier #( // I$ input logic icache_miss_i, - // D$ - input logic dcache_wbuffer_empty_i, - // Frontend input logic if_has_mem_access_i, input logic if_has_cf_i, @@ -38,7 +35,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 | ~no_st_pending_commit_i | ~dcache_wbuffer_empty_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; assign should_lock_icache_o = has_mem_access | if_has_cf_i | id_has_cf_i | is_has_cf_i; -- GitLab