Execution Modes of HLS Designs - 2022.2 English

Vitis High-Level Synthesis User Guide (UG1399)

Document ID
UG1399
Release Date
2022-12-07
Version
2022.2 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:
Overlap
Lets the next execution of a new transaction begin before the current transaction is complete. Pipelined 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 at the end of each 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.