| //- _FileNode.node/kind file |
| |
| //- @param_name defines/binding ParamName |
| //- ParamName.node/kind variable |
| //- ParamName.complete definition |
| parameter int param_name = 3; |
| |
| //- @my_module2 defines/binding MyModule2 |
| //- MyModule2.node/kind record |
| //- MyModule2.subkind module |
| //- MyModule2.complete definition |
| module my_module2 (); |
| //- @var1 defines/binding Var1 |
| parameter int var1 = 3; |
| |
| //- @my_module3 ref MyModule3 |
| my_module3 #( |
| //- @var1 ref Var1 |
| //- @DATA_WIDTH ref DATA_WIDTH2 |
| .DATA_WIDTH(var1), |
| //- @ADDR_WIDTH ref ADDR_WIDTH |
| .ADDR_WIDTH(8), |
| //- @RAM_DEPTH ref RAM_DEPTH |
| .RAM_DEPTH(256)) |
| //- @instance1 defines/binding Instance1Def |
| //- Instance1Def.node/kind variable |
| //- Instance1Def.complete definition |
| //- Instance1Def childof MyModule2 |
| instance1(); |
| endmodule |
| |
| //- @my_module3 defines/binding MyModule3 |
| //- MyModule3.node/kind record |
| //- MyModule3.subkind module |
| //- MyModule3.complete definition |
| module my_module3 (); |
| //- @DATA_WIDTH defines/binding DATA_WIDTH2 |
| //- DATA_WIDTH2 childof MyModule3 |
| parameter DATA_WIDTH = 8 ; |
| |
| //- @ADDR_WIDTH defines/binding ADDR_WIDTH |
| //- ADDR_WIDTH childof MyModule3 |
| parameter ADDR_WIDTH = 8 ; |
| |
| //- @RAM_DEPTH defines/binding RAM_DEPTH |
| //- RAM_DEPTH childof MyModule3 |
| //- @ADDR_WIDTH ref ADDR_WIDTH |
| parameter RAM_DEPTH = 1 << ADDR_WIDTH; |
| endmodule |
| |
| //- @my_module defines/binding MyModule |
| //- MyModule.node/kind record |
| //- MyModule.subkind module |
| //- MyModule.complete definition |
| module my_module |
| #( |
| //- @ADDR_WIDTH defines/binding ADDR_WIDTH2 |
| //- ADDR_WIDTH2 childof MyModule |
| parameter ADDR_WIDTH=8, |
| //- @DATA_WIDTH defines/binding DATA_WIDTH |
| //- DATA_WIDTH childof MyModule |
| parameter DATA_WIDTH=32 |
| ) |
| (); |
| |
| //- @ADDR_WIDTH ref ADDR_WIDTH2 |
| //- @addr defines/binding _ |
| input [ADDR_WIDTH-1:0] addr; |
| //- @DATA_WIDTH ref DATA_WIDTH |
| //- @data_output defines/binding _ |
| output [DATA_WIDTH-1:0] data_output; |
| initial begin |
| //- @ADDR_WIDTH ref ADDR_WIDTH2 |
| $display("My secret number is %d", ADDR_WIDTH); |
| end |
| |
| endmodule |
| |
| //- @my_module4 defines/binding _ |
| module my_module4 #( |
| //- @a_param defines/binding AParam |
| parameter int a_param = 2, |
| //- @a_param ref AParam |
| //- @b_param defines/binding _ |
| localparam int b_param = a_param-1 |
| ) (); |
| endmodule |