Execution Modes of HLS Designs - 2023.1 English

Vitis High-Level Synthesis User Guide (UG1399)

Document ID
UG1399
Release Date
2023-07-17
Version
2023.1 English

The execution mode of the HLS design refers to the way the design works as a block (or module) both with regard to itself and the functions within the block, or in relationship with other blocks modules, or outside software that addresses the block. These modes are determined by block control protocols assigned to the HLS design as described in Block-Level Control Protocols, and by the internal structure of the HLS design as described in Abstract Parallel Programming Model for HLS.

Execution modes of kernels include:

Overlapping
Lets the next execution of a new transaction begin before the current transaction is complete. Function pipelined, loop rewind, or dataflow execution allows overlapping block runs to begin processing additional data as soon as the design is ready.
Sequential
Requires the current transaction to complete before a new transaction can be started.
Auto-Restarting
Auto-restart mode lets the HLS design automatically restart the module when it is ready to begin processing additional data. This mode supports both overlapping and sequential execution. Auto-restarting is the approach for data-driven TLP designs, but can also be implemented in control-driven TLP designs as described in Auto-Restarting Mode.