Block Statements - 2025.2 English - UG901

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2025-12-05
Version
2025.2 English

Block statements provide a mechanism to group sets of statements together. Sequential blocks have a begin and end around the statement. The block can declare its own variables, and those variables are specific to that block. The sequential block can also have a name associated with that block. The format is as follows:

begin [: block name] 
[declarations] 
[statements]
end [: block name]
begin : my_block logic temp;
temp = in1 & in2; out1 = temp;
end : my_block

In the previous example, the block name is also specified after the end statement. This makes the code readable, though optional.

Note: Vivado synthesis does not support parallel blocks (or fork join blocks).