aboutsummaryrefslogtreecommitdiff
path: root/rtl/src/alu_a_src_mux.v
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/src/alu_a_src_mux.v')
-rw-r--r--rtl/src/alu_a_src_mux.v25
1 files changed, 25 insertions, 0 deletions
diff --git a/rtl/src/alu_a_src_mux.v b/rtl/src/alu_a_src_mux.v
new file mode 100644
index 0000000..fef701b
--- /dev/null
+++ b/rtl/src/alu_a_src_mux.v
@@ -0,0 +1,25 @@
+module alu_a_src_mux (
+ input [31:0] src_pc,
+ input [31:0] src_pc_buf,
+ input [31:0] src_rd1,
+ input [31:0] src_rd1_buf,
+
+ input [2:0] alu_a_src,
+
+ output reg [31:0] alu_a
+);
+
+`include "include/consts.vh"
+
+always @(*) begin
+ case (alu_a_src)
+ ALU_A_SRC_PC: alu_a = src_pc;
+ ALU_A_SRC_PC_BUF: alu_a = src_pc_buf;
+ ALU_A_SRC_RD1: alu_a = src_rd1;
+ ALU_A_SRC_RD1_BUF: alu_a = src_rd1_buf;
+ ALU_A_SRC_0: alu_a = 32'b0;
+ default: alu_a = 32'b0;
+ endcase
+end
+
+endmodule