fix: resolve OoO simulation timeout
This commit is contained in:
60
generated-ooo/ALU.sv
Normal file
60
generated-ooo/ALU.sv
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user