aboutsummaryrefslogtreecommitdiff
path: root/src/arithmetic_unit.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/arithmetic_unit.v')
-rw-r--r--src/arithmetic_unit.v11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/arithmetic_unit.v b/src/arithmetic_unit.v
index 261b526..2ac302e 100644
--- a/src/arithmetic_unit.v
+++ b/src/arithmetic_unit.v
@@ -7,6 +7,8 @@ module arithmetic_unit (
output reg [31:0] result
);
+`include "include/consts.vh"
+
wire signed [31:0] a_signed, b_signed;
assign a_signed = a;
@@ -14,10 +16,11 @@ assign b_signed = b;
always @ (*) begin
case (op)
- 2'b00: result <= a + b; // ADD
- 2'b01: result <= a - b; // SUB
- 2'b10: result <= { {31{1'b0}}, a_signed < b_signed }; // SLT
- 2'b11: result <= { {31{1'b0}}, a < b }; // SLTU
+ ARITHMETIC_OP_ADD: result <= a + b; // ADD
+ ARITHMETIC_OP_SUB: result <= a - b; // SUB
+ ARITHMETIC_OP_SLT: result <= { {31{1'b0}}, a_signed < b_signed }; // SLT
+ ARITHMETIC_OP_SLTU: result <= { {31{1'b0}}, a < b }; // SLTU
+ default: result <= 32'b0;
endcase
end