From c8b4b7b62aa113b37e3d3dfa90d4f1fb5d93feba Mon Sep 17 00:00:00 2001 From: Alban Gruin <alban.gruin@irit.fr> Date: Mon, 9 May 2022 11:21:31 +0200 Subject: [PATCH] Revert "sras: handle unhandled cases wrt. the overflow" This reverts commit e17128ee85ae4fccf671f168e75cfabf7d3c53c7. --- src/frontend/frontend.sv | 17 ++++++++--------- src/frontend/sras.sv | 7 +------ 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/frontend/frontend.sv b/src/frontend/frontend.sv index 018573b4..d0f7b5ca 100644 --- a/src/frontend/frontend.sv +++ b/src/frontend/frontend.sv @@ -380,15 +380,14 @@ module frontend import ariane_pkg::*; #( ) i_ras ( .clk_i, .rst_ni, - .flush_i ( flush_bp_i ), - .push_i ( ras_push ), - .pop_i ( ras_pop ), - .data_i ( ras_update ), - .begin_spec_i ( begin_spec_o ), - .valid_spec_i ( is_correct_predict ), - .bad_spec_i ( is_mispredict ), - .resolved_type_i ( resolved_branch_i.cf_type ), - .data_o ( ras_predict ) + .flush_i ( flush_bp_i ), + .push_i ( ras_push ), + .pop_i ( ras_pop ), + .data_i ( ras_update ), + .begin_spec_i ( begin_spec_o ), + .valid_spec_i ( is_correct_predict ), + .bad_spec_i ( is_mispredict ), + .data_o ( ras_predict ) ); btb #( diff --git a/src/frontend/sras.sv b/src/frontend/sras.sv index a1ca5587..e5f7f8b6 100644 --- a/src/frontend/sras.sv +++ b/src/frontend/sras.sv @@ -28,7 +28,6 @@ module sras #( input logic begin_spec_i, input logic valid_spec_i, input logic bad_spec_i, - input ariane_pkg::cf_t resolved_type_i, output ariane_pkg::ras_t data_o ); @@ -69,16 +68,12 @@ module sras #( ovf_counter_d[ptr_spec_q] = ovf_counter_q[ptr_spec_q] + 1'b1; end end else if (!push_i && pop_i) begin - if (ovf_counter_q[ptr_spec_q] == '0) begin - ovf_counter_d[ptr_spec_d] = '0; // ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q]; - end else begin + if (ovf_counter_q[ptr_spec_q] != '0) begin ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q] - 1'b1; end end else if (begin_spec_i) begin ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q]; end - end else if (bad_spec_i && resolved_type_i == ariane_pkg::Return && ovf_counter_q[ptr_spec_q] != '0) begin - ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q] - 1'b1; end end -- GitLab