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.