3.6.3.4 SHLS-5
(Ask a Question)Message
Warning: (SHLS-5) Loop unrolling failed on {location}.
This loop nest is inside the function '{function}', which is specified to be pipelined.
When a function is designated for pipelining, SmartHLS requires that all loops within the function be statically unrollable. If SmartHLS encounters a loop that cannot be unrolled at compile time within a function that is requested to be pipelined, an SHLS-5 message will be generated to notify users of the issue.
/***************************************************************** * This example is expected to result in * - Code : SHLS-5 * - Type : Warning * - Cause : Failed to unroll loop inside a function that is * specified to be pipelined due to runtime variable * value 'nelem'. *****************************************************************/ int DUT(int A[100], int B[100], int nelem) { #pragma HLS function pipeline top int tmp = 0; for (int i = 0; i < nelem; i++) { tmp += A[i] + B[i]; } return tmp; }
Related to: Loop Unrolling, Pipeline Function
