RISC-V_Verilog/rtl/module_registers_bank.v

31 lines
861 B
Verilog

module module_registers_bank (input clock, reset, we,
input [1:0] sel_data_in,
input [4:0] sel_in, sel_out_a, sel_out_b,
input [31:0] alu_out, mem_out, pc_addr,
output [31:0] data_out_a, data_out_b);
wire [31:0] data_in;
mux4_1 mux4_reg_sel_data_in (
.in_1(alu_out),
.in_2(mem_out),
.in_3(pc_addr + 4),
.in_4(pc_addr + alu_out),
.sel(sel_data_in),
.out(data_in)
);
registers_bank registers_bank (
.clock(clock),
.reset(reset),
.we(we),
.sel_in(sel_in),
.sel_out_a(sel_out_a),
.sel_out_b(sel_out_b),
.data_in(data_in),
.data_out_a(data_out_a),
.data_out_b(data_out_b)
);
endmodule