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.