Files
RISC-V_Verilog/rtl/registers_bank.v
2023-10-20 18:48:18 +09:00

19 lines
533 B
Verilog

module registers_bank (input clock, reset, we,
input [4:0] select_d, select_a, select_b,
input [31:0] input_d,
output [31:0] output_a, output_b);
reg [31:0] registers[31:0];
always @(posedge clock, reset) begin
if (reset == 1)
registers[0] <= 32'b0;
else if (we == 1)
registers[select_d] <= input_d;
end
assign output_a = registers[select_a];
assign output_b = registers[select_b];
endmodule