To avoid issues shown in the previous figure (Function and Loop Pipelining), the
PIPELINE pragma has an optional command rewind
. This command enables the overlap
of the execution of successive calls to the loop, when this loop
is the outermost construct of the top function or of a dataflow
process (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.