From 5ffb9ef36cff401b47c5e3d93d998a02c904c1df Mon Sep 17 00:00:00 2001 From: Florian Zaruba Date: Fri, 12 May 2017 10:42:03 +0200 Subject: [PATCH] :bug: Fix remove ALU operators --- include/ariane_pkg.svh | 2 +- src/alu.sv | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/ariane_pkg.svh b/include/ariane_pkg.svh index 6443eb8ca..8522d7bd9 100644 --- a/include/ariane_pkg.svh +++ b/include/ariane_pkg.svh @@ -74,7 +74,7 @@ package ariane_pkg; // jumps JAL, JALR, // set lower than operations - SLTS, SLTU, SLETS, SLETU, + SLTS, SLTU, // CSR functions MRET, SRET, URET, ECALL, CSR_WRITE, CSR_READ, CSR_SET, CSR_CLEAR, // LSU functions diff --git a/src/alu.sv b/src/alu.sv index f11f75f97..cdef04797 100644 --- a/src/alu.sv +++ b/src/alu.sv @@ -59,8 +59,7 @@ module alu // COMPARATOR OPs EQ, NE, GEU, LTU, - GES, LTS, - SLETS, SLETU: adder_op_b_negate = 1'b1; + GES, LTS: adder_op_b_negate = 1'b1; default: ; endcase @@ -147,7 +146,9 @@ module alu cmp_signed = 1'b0; unique case (operator_i) - GES, LTS: begin + GES, + LTS, + SLTS: begin cmp_signed = 1'b1; end @@ -181,11 +182,9 @@ module alu unique case (operator_i) EQ: cmp_result = is_equal; NE: cmp_result = (~is_equal); - // GTS, GTU: cmp_result = is_greater_equal && (~is_equal); GES, GEU: cmp_result = is_greater_equal; - LTS, LTU: cmp_result = (~is_greater_equal); - // LES, LEU: cmp_result = (~is_greater_equal) || is_equal; - + LTS, SLTS, + LTU, SLTU: cmp_result = (~is_greater_equal); default: ; endcase end @@ -217,9 +216,10 @@ module alu SRLW, SRAW: result_o = {{32{shift_result32[31]}}, shift_result32[31:0]}; // Comparison Operations - EQ, NE, - LTU, GEU, - GES, LTS : result_o = {63'b0, cmp_result}; + EQ, NE, + GEU, LTU, + LTS, GES, + SLTS, SLTU: result_o = {63'b0, cmp_result}; default: ; // default case to suppress unique warning endcase