summaryrefslogtreecommitdiff
path: root/verilog/alu/alu.v
diff options
context:
space:
mode:
authorjoshua <joshua@fedora.framework>2022-05-14 23:30:38 -0500
committerjoshua <joshua@fedora.framework>2022-05-14 23:30:38 -0500
commitb8936029065835366e9e057a219c0c5194db8662 (patch)
tree31e50944ac6e23850f92bb0e0f6d851b74307f60 /verilog/alu/alu.v
parentd6b7d26cf51b4b3a7b5604f9b81bb43f55cbc33c (diff)
downloadriscv-processor-inorder-b8936029065835366e9e057a219c0c5194db8662.tar.gz
Verilog update
Diffstat (limited to 'verilog/alu/alu.v')
-rw-r--r--verilog/alu/alu.v26
1 files changed, 0 insertions, 26 deletions
diff --git a/verilog/alu/alu.v b/verilog/alu/alu.v
deleted file mode 100644
index 3a4213a..0000000
--- a/verilog/alu/alu.v
+++ /dev/null
@@ -1,26 +0,0 @@
-`include "aluOp.vh"
-
-module riscv_alu
-(
-input wire [31:0] alu_in_1,
-input wire[31:0] alu_in_2,
-input wire[3:0] alu_op_i,
-output wire[31:0] alu_output
-);
-
-
-wire diff = alu_in_1 - alu_in_2;
-wire ones = 32'hFFFFFFFF;
-
-assign alu_output = alu_op_i == ADD ? alu_in_1 + alu_in_2 :
- alu_op_i == SUB ? diff :
- alu_op_i == XOR ? alu_in_1 ^ alu_in_2 :
- alu_op_i == OR ? alu_in_1 | alu_in_2 :
- alu_op_i == AND ? alu_in_1 & alu_in_2 :
- alu_op_i == SLL ? alu_in_1 << alu_in_2 :
- alu_op_i == SRL ? alu_in_1 >> alu_in_2 :
- alu_op_i == SLT ? (alu_in_1 < alu_in_2 ? 32'b1 : 32'b0) :
- alu_op_i == NONE ? alu_in_1 : 32'b0 :
- alu_op_i == SLTU ? (alu_in_1[31] == alu_in_2[31] ? (diff[31] == 0 ? 0 : 1) : (alu_in_1[31] == 1 ? 1 : 0) ) :
- alu_op_i == SRA ? alu_in_1[31] == 0 ? alu_in_1 >> alu_in_2 : ;
-endmodule