| // 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 |