diff options
Diffstat (limited to 'rtl/src/alu_a_src_mux.v')
-rw-r--r-- | rtl/src/alu_a_src_mux.v | 25 |
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 |