mirror of
https://github.com/zachjs/sv2v.git
synced 2026-08-30 09:28:12 +02:00
PackedArray conversion supports complex shadowing
This commit is contained in:
@@ -94,21 +94,180 @@ module top;
|
||||
end
|
||||
|
||||
|
||||
initial begin
|
||||
begin : lol_block
|
||||
logic [1:0][1:0] arr;
|
||||
arr = 4'b1001;
|
||||
$display("LOL: $bits(arr): ", $bits(arr ));
|
||||
$display("LOL: $bits(arr[0]): ", $bits(arr[0] ));
|
||||
$display("LOL: $bits(arr[0][0]): ", $bits(arr[0][0]));
|
||||
$display("LOL: arr[0]: ", arr[0]);
|
||||
$display("LOL: arr[1]: ", arr[1]);
|
||||
$display("LOL: arr[0][1]: ", arr[0][1]);
|
||||
$display("LOL: arr[1][0]: ", arr[1][0]);
|
||||
$display("LOL: arr[1][1]: ", arr[1][1]);
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
task magic;
|
||||
begin
|
||||
begin : magic_block
|
||||
begin : magic_block1
|
||||
logic [1:0][1:0] magic_arr;
|
||||
magic_arr = 4'b1001;
|
||||
$display("$bits(magic_arr): ", $bits(magic_arr ));
|
||||
$display("$bits(magic_arr[0]): ", $bits(magic_arr[0] ));
|
||||
$display("$bits(magic_arr[0][0]): ", $bits(magic_arr[0][0]));
|
||||
$display("magic_arr[0][0]: ", magic_arr[0][0]);
|
||||
$display("magic_arr[0][1]: ", magic_arr[0][1]);
|
||||
$display("magic_arr[1][0]: ", magic_arr[1][0]);
|
||||
$display("magic_arr[1][1]: ", magic_arr[1][1]);
|
||||
$display("MB1: $bits(magic_arr): ", $bits(magic_arr ));
|
||||
$display("MB1: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
|
||||
$display("MB1: $bits(magic_arr[0][0]): ", $bits(magic_arr[0][0]));
|
||||
$display("MB1: magic_arr[0]: ", magic_arr[0]);
|
||||
$display("MB1: magic_arr[1]: ", magic_arr[1]);
|
||||
$display("MB1: magic_arr[0][1]: ", magic_arr[0][1]);
|
||||
$display("MB1: magic_arr[1][0]: ", magic_arr[1][0]);
|
||||
$display("MB1: magic_arr[1][1]: ", magic_arr[1][1]);
|
||||
end
|
||||
begin : magic_block2
|
||||
logic [3:0] magic_arr;
|
||||
magic_arr = 4'b1001;
|
||||
$display("MB2: $bits(magic_arr): ", $bits(magic_arr ));
|
||||
$display("MB2: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
|
||||
$display("MB2: magic_arr[0]: ", magic_arr[0]);
|
||||
$display("MB2: magic_arr[1]: ", magic_arr[1]);
|
||||
$display("MB2: magic_arr[2]: ", magic_arr[2]);
|
||||
$display("MB2: magic_arr[3]: ", magic_arr[3]);
|
||||
end
|
||||
begin : magic_block3
|
||||
logic [1:0][1:0][1:0] magic_arr;
|
||||
magic_arr = 4'b1001;
|
||||
$display("MB3: $bits(magic_arr): ", $bits(magic_arr ));
|
||||
$display("MB3: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
|
||||
$display("MB3: $bits(magic_arr[0][0]): ", $bits(magic_arr[0][0] ));
|
||||
$display("MB3: $bits(magic_arr[0][0][0]): ", $bits(magic_arr[0][0][0]));
|
||||
$display("MB3: magic_arr[0]: ", magic_arr[0]);
|
||||
$display("MB3: magic_arr[1]: ", magic_arr[1]);
|
||||
$display("MB3: magic_arr[0][0]: ", magic_arr[0][0]);
|
||||
$display("MB3: magic_arr[0][1]: ", magic_arr[0][1]);
|
||||
$display("MB3: magic_arr[1][0]: ", magic_arr[1][0]);
|
||||
$display("MB3: magic_arr[1][1]: ", magic_arr[1][1]);
|
||||
$display("MB3: magic_arr[0][0][0]: ", magic_arr[0][0][0]);
|
||||
$display("MB3: magic_arr[0][0][1]: ", magic_arr[0][0][1]);
|
||||
$display("MB3: magic_arr[0][1][0]: ", magic_arr[0][1][0]);
|
||||
$display("MB3: magic_arr[0][1][1]: ", magic_arr[0][1][1]);
|
||||
$display("MB3: magic_arr[1][0][1]: ", magic_arr[1][0][1]);
|
||||
$display("MB3: magic_arr[1][0][0]: ", magic_arr[1][0][0]);
|
||||
$display("MB3: magic_arr[1][1][1]: ", magic_arr[1][1][1]);
|
||||
$display("MB3: magic_arr[1][1][0]: ", magic_arr[1][1][0]);
|
||||
begin : magic_block4
|
||||
logic [1:0][1:0] magic_arr;
|
||||
magic_arr = 4'b1001;
|
||||
$display("MB4: $bits(magic_arr): ", $bits(magic_arr ));
|
||||
$display("MB4: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
|
||||
$display("MB4: $bits(magic_arr[0][0]): ", $bits(magic_arr[0][0]));
|
||||
$display("MB4: magic_arr[0]: ", magic_arr[0]);
|
||||
$display("MB4: magic_arr[1]: ", magic_arr[1]);
|
||||
$display("MB4: magic_arr[0][1]: ", magic_arr[0][1]);
|
||||
$display("MB4: magic_arr[1][0]: ", magic_arr[1][0]);
|
||||
$display("MB4: magic_arr[1][1]: ", magic_arr[1][1]);
|
||||
end
|
||||
magic_arr = 4'b1001;
|
||||
$display("MB3: $bits(magic_arr): ", $bits(magic_arr ));
|
||||
$display("MB3: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
|
||||
$display("MB3: $bits(magic_arr[0][0]): ", $bits(magic_arr[0][0] ));
|
||||
$display("MB3: $bits(magic_arr[0][0][0]): ", $bits(magic_arr[0][0][0]));
|
||||
$display("MB3: magic_arr[0]: ", magic_arr[0]);
|
||||
$display("MB3: magic_arr[1]: ", magic_arr[1]);
|
||||
$display("MB3: magic_arr[0][0]: ", magic_arr[0][0]);
|
||||
$display("MB3: magic_arr[0][1]: ", magic_arr[0][1]);
|
||||
$display("MB3: magic_arr[1][0]: ", magic_arr[1][0]);
|
||||
$display("MB3: magic_arr[1][1]: ", magic_arr[1][1]);
|
||||
$display("MB3: magic_arr[0][0][0]: ", magic_arr[0][0][0]);
|
||||
$display("MB3: magic_arr[0][0][1]: ", magic_arr[0][0][1]);
|
||||
$display("MB3: magic_arr[0][1][0]: ", magic_arr[0][1][0]);
|
||||
$display("MB3: magic_arr[0][1][1]: ", magic_arr[0][1][1]);
|
||||
$display("MB3: magic_arr[1][0][1]: ", magic_arr[1][0][1]);
|
||||
$display("MB3: magic_arr[1][0][0]: ", magic_arr[1][0][0]);
|
||||
$display("MB3: magic_arr[1][1][1]: ", magic_arr[1][1][1]);
|
||||
$display("MB3: magic_arr[1][1][0]: ", magic_arr[1][1][0]);
|
||||
end
|
||||
end
|
||||
endtask
|
||||
initial magic();
|
||||
|
||||
|
||||
initial begin
|
||||
begin : ntf_magic_block1
|
||||
logic [1:0][1:0] ntf_magic_arr;
|
||||
ntf_magic_arr = 4'b1001;
|
||||
$display("NTFMB1: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
|
||||
$display("NTFMB1: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
|
||||
$display("NTFMB1: $bits(ntf_magic_arr[0][0]): ", $bits(ntf_magic_arr[0][0]));
|
||||
$display("NTFMB1: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
|
||||
$display("NTFMB1: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
|
||||
$display("NTFMB1: ntf_magic_arr[0][1]: ", ntf_magic_arr[0][1]);
|
||||
$display("NTFMB1: ntf_magic_arr[1][0]: ", ntf_magic_arr[1][0]);
|
||||
$display("NTFMB1: ntf_magic_arr[1][1]: ", ntf_magic_arr[1][1]);
|
||||
end
|
||||
begin : ntf_magic_block2
|
||||
logic [3:0] ntf_magic_arr;
|
||||
ntf_magic_arr = 4'b1001;
|
||||
$display("NTFMB2: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
|
||||
$display("NTFMB2: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
|
||||
$display("NTFMB2: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
|
||||
$display("NTFMB2: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
|
||||
$display("NTFMB2: ntf_magic_arr[2]: ", ntf_magic_arr[2]);
|
||||
$display("NTFMB2: ntf_magic_arr[3]: ", ntf_magic_arr[3]);
|
||||
end
|
||||
begin : ntf_magic_block3
|
||||
logic [1:0][1:0][1:0] ntf_magic_arr;
|
||||
ntf_magic_arr = 4'b1001;
|
||||
$display("NTFMB3: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
|
||||
$display("NTFMB3: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
|
||||
$display("NTFMB3: $bits(ntf_magic_arr[0][0]): ", $bits(ntf_magic_arr[0][0] ));
|
||||
$display("NTFMB3: $bits(ntf_magic_arr[0][0][0]): ", $bits(ntf_magic_arr[0][0][0]));
|
||||
$display("NTFMB3: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
|
||||
$display("NTFMB3: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][0]: ", ntf_magic_arr[0][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][1]: ", ntf_magic_arr[0][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][0]: ", ntf_magic_arr[1][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][1]: ", ntf_magic_arr[1][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][0][0]: ", ntf_magic_arr[0][0][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][0][1]: ", ntf_magic_arr[0][0][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][1][0]: ", ntf_magic_arr[0][1][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][1][1]: ", ntf_magic_arr[0][1][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][0][1]: ", ntf_magic_arr[1][0][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][0][0]: ", ntf_magic_arr[1][0][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][1][1]: ", ntf_magic_arr[1][1][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][1][0]: ", ntf_magic_arr[1][1][0]);
|
||||
begin : ntf_magic_block4
|
||||
logic [1:0][1:0] ntf_magic_arr;
|
||||
ntf_magic_arr = 4'b1001;
|
||||
$display("NTFMB4: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
|
||||
$display("NTFMB4: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
|
||||
$display("NTFMB4: $bits(ntf_magic_arr[0][0]): ", $bits(ntf_magic_arr[0][0]));
|
||||
$display("NTFMB4: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
|
||||
$display("NTFMB4: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
|
||||
$display("NTFMB4: ntf_magic_arr[0][1]: ", ntf_magic_arr[0][1]);
|
||||
$display("NTFMB4: ntf_magic_arr[1][0]: ", ntf_magic_arr[1][0]);
|
||||
$display("NTFMB4: ntf_magic_arr[1][1]: ", ntf_magic_arr[1][1]);
|
||||
end
|
||||
ntf_magic_arr = 4'b1001;
|
||||
$display("NTFMB3: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
|
||||
$display("NTFMB3: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
|
||||
$display("NTFMB3: $bits(ntf_magic_arr[0][0]): ", $bits(ntf_magic_arr[0][0] ));
|
||||
$display("NTFMB3: $bits(ntf_magic_arr[0][0][0]): ", $bits(ntf_magic_arr[0][0][0]));
|
||||
$display("NTFMB3: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
|
||||
$display("NTFMB3: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][0]: ", ntf_magic_arr[0][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][1]: ", ntf_magic_arr[0][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][0]: ", ntf_magic_arr[1][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][1]: ", ntf_magic_arr[1][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][0][0]: ", ntf_magic_arr[0][0][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][0][1]: ", ntf_magic_arr[0][0][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][1][0]: ", ntf_magic_arr[0][1][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[0][1][1]: ", ntf_magic_arr[0][1][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][0][1]: ", ntf_magic_arr[1][0][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][0][0]: ", ntf_magic_arr[1][0][0]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][1][1]: ", ntf_magic_arr[1][1][1]);
|
||||
$display("NTFMB3: ntf_magic_arr[1][1][0]: ", ntf_magic_arr[1][1][0]);
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
Reference in New Issue
Block a user