mirror of https://github.com/zachjs/sv2v.git
70 lines
2.4 KiB
Systemverilog
70 lines
2.4 KiB
Systemverilog
module top;
|
|
logic t;
|
|
initial $display("A t %0d", $bits(t));
|
|
initial $display("A top.t %0d", $bits(top.t));
|
|
generate
|
|
begin : X
|
|
logic [1:0] t;
|
|
initial $display("B t %0d", $bits(t));
|
|
initial $display("B top.t %0d", $bits(top.t));
|
|
initial $display("B X.t %0d", $bits(X.t));
|
|
initial $display("B top.X.t %0d", $bits(top.X.t));
|
|
begin : Y
|
|
logic [2:0] t;
|
|
initial $display("C t %0d", $bits(t));
|
|
initial $display("C top.t %0d", $bits(top.t));
|
|
initial $display("C X.t %0d", $bits(X.t));
|
|
initial $display("C top.X.t %0d", $bits(top.X.t));
|
|
initial $display("C Y.t %0d", $bits(Y.t));
|
|
initial $display("C X.Y.t %0d", $bits(X.Y.t));
|
|
initial $display("C top.X.Y.t %0d", $bits(top.X.Y.t));
|
|
end
|
|
end
|
|
for (genvar i = 0; i < 3; ++i) begin : Z
|
|
logic [i:0] t;
|
|
end
|
|
endgenerate
|
|
initial $display("A t %0d", $bits(t));
|
|
initial $display("A top.t %0d", $bits(top.t));
|
|
initial $display("A X.t %0d", $bits(X.t));
|
|
initial $display("A top.X.t %0d", $bits(top.X.t));
|
|
initial $display("A X.Y.t %0d", $bits(X.Y.t));
|
|
initial $display("A top.X.Y.t %0d", $bits(top.X.Y.t));
|
|
initial $display("A top.Z[0].t %0d", $bits(top.Z[0].t));
|
|
initial $display("A Z[0].t %0d", $bits(Z[0].t));
|
|
initial $display("A Z[1].t %0d", $bits(Z[1].t));
|
|
initial $display("A Z[2].t %0d", $bits(Z[2].t));
|
|
|
|
logic x;
|
|
initial begin
|
|
type(x) x [1:0];
|
|
type(x) y [2:0];
|
|
$display("size of x = %0d", $bits(x));
|
|
$display("size of y = %0d", $bits(y));
|
|
end
|
|
|
|
logic [2:0][3:0] arr;
|
|
generate
|
|
begin : M
|
|
logic [3:0][4:0] arr;
|
|
initial $display("M arr[0] = %b", arr[0]);
|
|
initial $display("M M.arr[0] = %b", M.arr[0]);
|
|
initial $display("M top.arr[0] = %b", top.arr[0]);
|
|
end
|
|
endgenerate
|
|
initial $display("arr[0] = %b", arr[0]);
|
|
initial $display("M.arr[0] = %b", M.arr[0]);
|
|
initial $display("top.arr[0] = %b", top.arr[0]);
|
|
|
|
localparam arr2 [2][3] = '{
|
|
'{1'b0, 1'b1, 1'b1},
|
|
'{1'b1, 1'b0, 1'b0}
|
|
};
|
|
for (genvar i = 0 ; i < 2 ; ++i) begin
|
|
for (genvar j = 0 ; j < 3 ; ++j) begin
|
|
localparam value = arr2[i][j];
|
|
initial $display("%0d %0d %0d", i, j, value);
|
|
end
|
|
end
|
|
endmodule
|