Description
Warning: [HLS 200-1968] Disabling free
running pipeline (frp) architecture on pipeline 'VITIS_LOOP_13_2' in module
'COM_Pipeline_VITIS_LOOP_13_2', because it has read operation(s) whose predicate condition
can not be evaluated in the first stage of the pipeline.
Explanation
In this example, FRP cannot be applied because the predicate a[j] < a[j+1] could not be evaluated in the first stage of the
pipeline.
Example
void COM(int a[SIZE], hls::stream<int>& b)
{
int i,j,temp;
int c;
for(i = 0; i < SIZE-1; i++)
{
for(j = 0; j < SIZE-1-i; j++)
{
#pragma HLS pipeline II=1 style=frp
#pragma HLS latency min=2 max=3
if(a[j] < a[j+1])
{
c = b.read();
temp = a[j+1] + c;
a[j+1] = a[j] + c;
a[j] = temp;
}
}
}
for(i = 0; i < SIZE; i++)
printf("%d\n",a[i]);
}