Tasks - 2022.1 English

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2022-06-06
Version
2022.1 English

The syntax for a task declaration is:

task name (ports);

   [optional declarations];

   statements;

endtask

Following are the two types of tasks:

Static task: Declarations retain their previous values the next time the task is called.

Automatic task: Declarations do not retain previous values.

 

CAUTION!   Be careful when using these tasks; Vivado synthesis treats all tasks as automatic.

Many simulators default to static tasks if the static or automatic is not specified, so there is a chance of simulation mismatches. The way to specify a task as automatic or static is the following:

task automatic my_mult... //or

task static my_mult ...