Description
Warning: [200-954] Unable to
perform loop rewinding: Function '%s' contains multiple loops.
This
message reports that the code is violating loop rewind optimization rules.Explanation
Loop rewind optimization requires the function to have no more than a single loop. The below code shows the violation:
decoderInput_whileloop:while(1)
{
#pragma HLS PIPELINE II=1 rewind
if(!inputStream.empty())
{
...
else
{
...
break;
}
}
for(auto i=0;i<50;i++)
{
tempData.even = i*2;
tempData.odd = i*2+1;
pairedData.write(tempData);
}
Solution
Loop rewind optimization only applies when there is a single loop inside the function. Move the loops into each separate function to perform loop rewind optimization.