Visible to Intel only — GUID: mhh1573417669798
Ixiasoft
Visible to Intel only — GUID: mhh1573417669798
Ixiasoft
4.7. Declare Variables in the Deepest Scope Possible
To reduce the FPGA hardware resources necessary for implementing a variable, declare the variable just before you use it in a loop. Declaring variables in the deepest scope possible minimizes data dependencies and FPGA hardware usage because the Intel® HLS Compiler Standard Edition does not need to preserve the variable data across loops that do not use the variables.
Consider the following example:
int a[N];
for (int i = 0; i < m; ++i)
{
int b[N];
for (int j = 0; j < n; ++j)
{
// statements
}
}
The array a requires more resources to implement than the array b. To reduce hardware usage, declare array a outside the inner loop unless it is necessary to maintain the data through iterations of the outer loop.