fix: resolve OoO simulation timeout

This commit is contained in:
abnerhexu
2026-06-27 03:38:34 +00:00
parent 502803c37f
commit a2e0126199
68 changed files with 78250 additions and 210 deletions

60
generated-ooo/ALU.sv Normal file
View File

@@ -0,0 +1,60 @@
// Generated by CIRCT firtool-1.139.0
module ALU(
input [4:0] io_fn,
input [63:0] io_a,
io_b,
input io_isWord,
output [63:0] io_out
);
wire [5:0] shamt = io_isWord ? {1'h0, io_b[4:0]} : io_b[5:0];
wire [126:0] _raw_T_4 = {63'h0, io_a} << shamt;
wire [63:0] _GEN = {58'h0, shamt};
wire [64:0] _raw_T_22 =
$unsigned($signed($signed({io_a[63], io_a}) / $signed({io_b[63], io_b})));
wire [63:0] raw =
io_fn == 5'h0
? io_a + io_b
: io_fn == 5'h1
? io_a - io_b
: io_fn == 5'h2
? _raw_T_4[63:0]
: io_fn == 5'h3
? {63'h0, $signed(io_a) < $signed(io_b)}
: io_fn == 5'h4
? {63'h0, io_a < io_b}
: io_fn == 5'h5
? io_a ^ io_b
: io_fn == 5'h6
? io_a >> _GEN
: io_fn == 5'h7
? $signed($signed(io_a) >>> _GEN)
: io_fn == 5'h8
? io_a | io_b
: io_fn == 5'h9
? io_a & io_b
: io_fn == 5'hA
? io_a * io_b
: io_fn == 5'hB
? ((|io_b)
? _raw_T_22[63:0]
: 64'hFFFFFFFFFFFFFFFF)
: io_fn == 5'hC
? ((|io_b)
? io_a / io_b
: 64'hFFFFFFFFFFFFFFFF)
: io_fn == 5'hD
? ((|io_b)
? $signed($signed(io_a)
% $signed(io_b))
: io_a)
: io_fn == 5'hE
? ((|io_b)
? io_a % io_b
: io_a)
: io_fn == 5'hF
? io_b
: 64'h0;
assign io_out = io_isWord ? {{32{raw[31]}}, raw[31:0]} : raw;
endmodule