| //- @my_class1 defines/binding MyClass1 | |
| class my_class1; | |
| //- @var1 defines/binding Var1 | |
| //- Var1 childof MyClass1 | |
| int var1; | |
| //- @my_function1 defines/binding Function1 | |
| //- Function1 childof MyClass1 | |
| function int my_function1(); | |
| //- @var1 ref Var1 | |
| return var1; | |
| endfunction | |
| endclass | |
| //- @my_class2 defines/binding MyClass2 | |
| //- @my_class1 ref MyClass1 | |
| //- MyClass2 extends MyClass1 | |
| class my_class2 extends my_class1; | |
| //- @instance2 defines/binding Instance2 | |
| //- Instance2 childof MyClass2 | |
| my_class2 instance2 = new(); | |
| //- @var2 defines/binding Var2 | |
| //- Var2 childof MyClass2 | |
| int var2; | |
| //- @my_function2 defines/binding Function2 | |
| //- Function2 childof MyClass2 | |
| function int my_function2(); | |
| //- @var1 ref Var1 | |
| //- @var2 ref Var2 | |
| return var1 + var2; | |
| endfunction | |
| endclass | |
| //- @my_module defines/binding MyModule | |
| module my_module(); | |
| //- @my_class2 ref MyClass2 | |
| //- @instance1 defines/binding Instance1 | |
| //- Instance1 childof MyModule | |
| my_class2 instance1 = new(); | |
| initial begin | |
| //- @instance1 ref Instance1 | |
| //- @var1 ref Var1 | |
| $display(instance1::var1); | |
| //- @instance1 ref Instance1 | |
| //- @var2 ref Var2 | |
| $display(instance1.var2); | |
| //- @instance1 ref Instance1 | |
| //- @instance2 ref Instance2 | |
| //- @var1 ref Var1 | |
| $display(instance1::instance2::var1); | |
| //- @instance1 ref Instance1 | |
| //- @instance2 ref Instance2 | |
| //- @var2 ref Var2 | |
| $display(instance1.instance2.var2); | |
| //- @instance1 ref Instance1 | |
| //- @my_function1 ref Function1 | |
| //- @my_function1 ref/call Function1 | |
| $display(instance1.my_function1()); | |
| //- @instance1 ref Instance1 | |
| //- @my_function2 ref Function2 | |
| //- @my_function2 ref/call Function2 | |
| $display(instance1.my_function2()); | |
| //- @instance1 ref Instance1 | |
| //- @instance2 ref Instance2 | |
| //- @my_function1 ref Function1 | |
| //- @my_function1 ref/call Function1 | |
| $display(instance1::instance2.my_function1()); | |
| //- @instance1 ref Instance1 | |
| //- @instance2 ref Instance2 | |
| //- @my_function2 ref Function2 | |
| //- @my_function2 ref/call Function2 | |
| $display(instance1.instance2.my_function2()); | |
| end | |
| endmodule |