Tasks - Tasks - 2022.2 English - UG901

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2022-11-16
Version
2022.2 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 ...