mirror of
https://github.com/zachjs/sv2v.git
synced 2026-09-02 10:27:21 +02:00
updated casting conventions
- explicit enum casts in source are converted to size casts - conversion for basic pattern array literals of unsized numbers - unsized number array literals preserve signing - more aggressive ternary simplification
This commit is contained in:
@@ -1,12 +1,24 @@
|
||||
module top;
|
||||
localparam integer B [4] = { 1, 2, 3, 4 };
|
||||
localparam byte C [4] = { 1, 2, 3, 4 };
|
||||
localparam bit D [4] = { 1, 2, 3, 4 };
|
||||
localparam integer A [4] = { 1, 2, 3, 4 };
|
||||
localparam byte B [4] = { 1, 2, 3, 4 };
|
||||
localparam bit C [4] = { 1, 2, 3, 4 };
|
||||
localparam integer signed D [4] = { -1, -2, -3, -4 };
|
||||
localparam byte signed E [4] = { -1, -2, -3, -4 };
|
||||
localparam bit signed F [4] = { -1, -2, -3, -4 };
|
||||
localparam integer G [4] = '{ 1, 2, 3, 4 };
|
||||
localparam byte H [4] = '{ 1, 2, 3, 4 };
|
||||
localparam bit I [4] = '{ 1, 2, 3, 4 };
|
||||
initial begin
|
||||
`define PRINT(X) \
|
||||
$display("%b %2d %2d", {X[0], X[1], X[2], X[3]}, $bits(X), $bits(X[0]));
|
||||
`PRINT(A);
|
||||
`PRINT(B);
|
||||
`PRINT(C);
|
||||
`PRINT(D);
|
||||
`PRINT(E);
|
||||
`PRINT(F);
|
||||
`PRINT(G);
|
||||
`PRINT(H);
|
||||
`PRINT(I);
|
||||
end
|
||||
endmodule
|
||||
|
||||
@@ -1,10 +1,22 @@
|
||||
module top;
|
||||
localparam [0:127] B = { 32'h1, 32'h2, 32'h3, 32'h4 };
|
||||
localparam [0:31] C = { 8'h1, 8'h2, 8'h3, 8'h4 };
|
||||
localparam [0:3] D = { 1'h1, 1'h0, 1'h1, 1'h0 };
|
||||
localparam [0:127] A = { 32'h1, 32'h2, 32'h3, 32'h4 };
|
||||
localparam [0:31] B = { 8'h1, 8'h2, 8'h3, 8'h4 };
|
||||
localparam [0:3] C = { 1'h1, 1'h0, 1'h1, 1'h0 };
|
||||
localparam [0:127] D = { 32'hFFFFFFFF, 32'hFFFFFFFE, 32'hFFFFFFFD, 32'hFFFFFFFC };
|
||||
localparam [0:31] E = { 8'hFF, 8'hFE, 8'hFD, 8'hFC };
|
||||
localparam [0:3] F = { 1'h1, 1'h0, 1'h1, 1'h0 };
|
||||
localparam [0:127] G = { 32'h1, 32'h2, 32'h3, 32'h4 };
|
||||
localparam [0:31] H = { 8'h1, 8'h2, 8'h3, 8'h4 };
|
||||
localparam [0:3] I = { 1'h1, 1'h0, 1'h1, 1'h0 };
|
||||
initial begin
|
||||
$display("%b %2d %2d", B, $bits(B), 32);
|
||||
$display("%b %2d %2d", C, $bits(C), 8);
|
||||
$display("%b %2d %2d", D, $bits(D), 1);
|
||||
$display("%b %2d %2d", A, $bits(A), 32);
|
||||
$display("%b %2d %2d", B, $bits(B), 8);
|
||||
$display("%b %2d %2d", C, $bits(C), 1);
|
||||
$display("%b %2d %2d", D, $bits(D), 32);
|
||||
$display("%b %2d %2d", E, $bits(E), 8);
|
||||
$display("%b %2d %2d", F, $bits(F), 1);
|
||||
$display("%b %2d %2d", G, $bits(G), 32);
|
||||
$display("%b %2d %2d", H, $bits(H), 8);
|
||||
$display("%b %2d %2d", I, $bits(I), 1);
|
||||
end
|
||||
endmodule
|
||||
|
||||
Reference in New Issue
Block a user