Initial commit

This commit is contained in:
2025-11-06 09:35:54 +08:00
commit 07678f510c
93 changed files with 3443 additions and 0 deletions

23
Experiments/Shared/Ext.v Normal file
View File

@@ -0,0 +1,23 @@
module Ext(
input [31:0] DataIn,
input [1:0] ExtOp,
output [31:0] DataOut
);
wire [31:0] imm12, imm16, imm20, imm26;
assign imm12 = {{20{DataIn[21]}}, DataIn[21:10]};
assign imm16 = {{14{DataIn[25]}}, DataIn[25:10], 2'b0};
assign imm20 = {DataIn[24:5], 12'b0};
assign imm26 = {{4{DataIn[9]}}, DataIn[9:0], DataIn[25:10], 2'b0};
reg [31:0] temp_DataOut;
always @(*) begin
case (ExtOp)
2'b00: temp_DataOut = imm12;
2'b01: temp_DataOut = imm16;
2'b10: temp_DataOut = imm20;
2'b11: temp_DataOut = imm26;
default: temp_DataOut = 32'hxxxxxxxx;
endcase
end
assign DataOut = temp_DataOut;
endmodule