blob: e7c71cd7ad46dfd721acaf72c34c7d2e3a3af816 [file] [log] [blame]
// Copyright 2020 Google LLC.
// SPDX-License-Identifier: Apache-2.0
// File node require empty language & signature.
//- _FileNode=vname("", "", _, _, "").node/kind file
//- @array defines/binding _
module array (
//- @arr1 defines/binding Arr1
input bit [7:0] arr1
);
//- @mock_arr defines/binding MockArr
bit [7:0] mock_arr;
//- @arr2 defines/binding Arr2
int arr2[8][32];
//- @arr1 ref Arr1
//- @mock_arr ref MockArr
assign mock_arr[0] = arr1[0];
//- @arr2 ref Arr2
assign arr2[0][31] = 42;
endmodule
//- @dynamic_arrays defines/binding _
module dynamic_arrays;
//- @arr defines/binding Arr
bit [7:0] arr[];
initial begin
//- @arr ref Arr
arr = new[8];
//- @arr ref Arr
$display("Array size: %d", arr.size());
//- @#0arr ref Arr
//- @#1arr ref Arr
arr = new[16] (arr);
end
endmodule
//- @associative_arrays defines/binding _
module associative_arrays;
//- @real_arr defines/binding RealArr
int real_arr[int];
initial begin
//- @real_arr ref RealArr
real_arr[80] = 81;
//- @real_arr ref RealArr
real_arr[0] = 1;
//- @var1 defines/binding Var1
//- @var2 defines/binding Var2
int var1 = 0, var2 = 0;
//- @#1i defines/binding I
//- @#3i ref I
//- @#4i ref I
//- @var1 ref Var1
//- @#0var2 ref Var2
//- @#1var2 ref Var2
//- @j defines/binding _
//- @m defines/binding _
for (int i = 0, j = 0, bit [var1:var2] m = var2; i < 50; i++) begin
//- @real_arr ref RealArr
//- @#0i ref I
//- @#1i ref I
real_arr[i] = i;
end
end
endmodule