| // Copyright 2020 Google LLC. |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| package my_pkg; |
| //- @my_task defines/binding MyTask |
| //- MyTask.node/kind function |
| task automatic my_task(input int a, b, output int c); |
| c = a + b; |
| endtask |
| endpackage |
| |
| class task_class; |
| //- @my_task defines/binding ClassTask |
| //- ClassTask.node/kind function |
| task my_task(input int a, b, output int c); |
| c = a + b; |
| endtask |
| endclass |
| |
| module task_scoping; |
| initial begin |
| int result; |
| |
| //- @tc_instance defines/binding TcInstance |
| automatic task_class tc_instance = new(); |
| //- @tc_instance ref TcInstance |
| //- @my_task ref/call ClassTask |
| tc_instance.my_task(1, 2, result); |
| |
| //- @my_task ref/call MyTask |
| my_pkg::my_task(1, 2, result); |
| end |
| endmodule |