The PIPELINE pragma has an option called rewind
. This option enables overlap of the execution of successive
calls to the pipelined loop when this loop is the outermost construct of the top
function, or of a dataflow region and the dataflow region is executed multiple
times.
The following figure shows the operation when the rewind
option is used when pipelining a loop. At the
end of the loop iteration count, the loop starts to execute again. While it
generally re-executes immediately, a delay is possible and is shown and described in
the GUI.
Figure 1. Loop Pipelining with Rewind Option
Note: If a loop is used around a
DATAFLOW region, Vitis HLS automatically
implements it to allow successive executions to overlap.