diff --git a/src/frontend/frontend.sv b/src/frontend/frontend.sv index f82616f4739f32c62bccd2b86f89f33c85ac695d..e14fe45accd006b6dd075a4636e0b5ddc163440d 100644 --- a/src/frontend/frontend.sv +++ b/src/frontend/frontend.sv @@ -98,7 +98,7 @@ module frontend import ariane_pkg::*; #( ras_t ras_predict; // branch-predict update - logic is_mispredict; + logic is_correct_predict, is_mispredict; logic ras_push, ras_pop; logic [riscv::VLEN-1:0] ras_update; @@ -233,6 +233,7 @@ module frontend import ariane_pkg::*; #( // contains a valid prediction. for (int i = 0; i < INSTR_PER_FETCH; i++) bp_valid |= ((cf_type[i] != NoCF & cf_type[i] != Return) | ((cf_type[i] == Return) & ras_predict.valid)); end + assign is_correct_predict = resolved_branch_i.valid & !(resolved_branch_i.is_mispredict); assign is_mispredict = resolved_branch_i.valid & resolved_branch_i.is_mispredict; // Cache interface