Skip to content
Snippets Groups Projects
Commit fa209d0a authored by Alban Gruin's avatar Alban Gruin
Browse files

Revert "fixup! sras: size improvements"

This reverts commit 4aa20587.
parent bf6074dc
No related branches found
No related tags found
No related merge requests found
...@@ -60,17 +60,16 @@ module sras #( ...@@ -60,17 +60,16 @@ module sras #(
ovf_counter_d = '0; ovf_counter_d = '0;
end else if (!bad_spec_i) begin end else if (!bad_spec_i) begin
if (push_i && !pop_i) begin if (push_i && !pop_i) begin
if (overflow || prev_plus_one == '0 || pp_plus_one == '0) begin if (overflow) begin
ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q] + 1'b1; ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q] + 1'b1;
end else if (prev_plus_one == '0 || pp_plus_one == '0) begin
ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q] + 1'b1;
if (begin_spec_i) begin
ovf_counter_d[ptr_spec_q] = ovf_counter_q[ptr_spec_q] + 1'b1;
end
end end
end else if (!push_i && pop_i && ovf_counter_q[ptr_spec_q] != '0) begin
if ((prev_plus_one == '0 || pp_plus_one == '0) && begin_spec_i) begin ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q] - 1'b1;
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] = ovf_counter_q[ptr_spec_q] - 1'b1;
end
end else if (!bad_spec_i && begin_spec_i) begin end else if (!bad_spec_i && begin_spec_i) begin
ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q]; ovf_counter_d[ptr_spec_d] = ovf_counter_q[ptr_spec_q];
end end
...@@ -83,17 +82,14 @@ module sras #( ...@@ -83,17 +82,14 @@ module sras #(
if (flush_i) begin if (flush_i) begin
tos_d = '0; tos_d = '0;
end else if (!bad_spec_i) begin end else if (!bad_spec_i) begin
if (push_i && !pop_i) begin if (push_i && !pop_i && !overflow && prev_plus_one != '0 && pp_plus_one != '0) begin
if (!overflow && prev_plus_one != '0 && pp_plus_one != '0) begin tos_d[ptr_spec_d] = prev_plus_one;
tos_d[ptr_spec_d] = prev_plus_one;
if (begin_spec_i) begin if (begin_spec_i) begin
tos_d[ptr_spec_q] = pp_plus_one; tos_d[ptr_spec_q] = pp_plus_one;
end
end
end else if (!push_i && pop_i) begin
if (ovf_counter_q[ptr_spec_q] == '0) begin
tos_d[ptr_spec_d] = prev_minus_one;
end end
end else if (!push_i && pop_i && ovf_counter_q[ptr_spec_q] == '0) begin
tos_d[ptr_spec_d] = prev_minus_one;
end else if (!bad_spec_i && begin_spec_i) begin end else if (!bad_spec_i && begin_spec_i) begin
tos_d[ptr_spec_d] = tos_q[ptr_spec_q]; tos_d[ptr_spec_d] = tos_q[ptr_spec_q];
end end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment