add cpu rtl

This commit is contained in:
2026-09-26 15:28:36 -04:00
parent d0f60f37d0
commit 677b5a06b2
8 changed files with 617 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
module sign_extend (
input logic [31:0] instr_i,
input logic [ 1:0] imm_src_i,
output logic [31:0] imm_ext_o,
output logic instr_invld_o
);
always_comb begin
imm_ext_o = '0;
instr_invld_o = 1'b0;
case (imm_src_i)
2'b00: imm_ext_o = {{20{instr_i[31]}}, instr_i[31:20]};
2'b01: imm_ext_o = {{20{instr_i[31]}}, instr_i[31:25], instr_i[11:7]};
2'b10: imm_ext_o = {{20{instr_i[31]}}, instr_i[7], instr_i[30:25], instr_i[11:8], 1'b0};
default: instr_invld_o = 1'b1;
endcase
end
endmodule