Visible to Intel only — GUID: ssy1559918731487
Ixiasoft
Visible to Intel only — GUID: ssy1559918731487
Ixiasoft
6.7. Loop Pipelining Control (disable_loop_pipelining Pragma)
When the loop iterations effectively execute sequentially due to loop-carried dependencies, use the disable_loop_pipelining pragma to generate a simple sequential datapath and avoid loop resource hardware duplication. The simpler datapath and lack of resource duplication in hardware reduces the FPGA area utilization of your component.
Use the Loop Analysis section of the high-level design reports (report.html) to help determine if you should apply this pragma to your loops.
#pragma disable_loop_pipelining
for (int i = 1; i < N; i++) {
int j = a[i-1];
// Memory dependency induces a high-latency loop feedback path
a[i] = foo(j)
}
You can also disable pipelining the datapath of your entire component with the hls_disable_component_pipelining component attribute. For more information about this attribute, see Component Pipelining Control (hls_disable_component_pipelining Attribute).