3.6.3.17 SHLS-32
(Ask a Question)Message
Error: (SHLS-32) {buffer_type} '{variable}' on {location} must only be accessed by 2 dataflow subfunctions. Found '{functions}' accessing the memory.
/***************************************************************** * This example is expected to result in * - Code : SHLS-32 * - Type : Error * - Cause : Data buffer 'tmp' in top-level function DUT() is * accessed by more than 2 subfunction calls. *****************************************************************/ #define NELEM 10 void subf(int in[NELEM], int out[NELEM]) { #pragma HLS loop pipeline for (int i = 0; i < NELEM; i++) { out[i] = in[i] + 1; } } void DUT(int in[NELEM], int out1[NELEM], int out2[NELEM]) { #pragma HLS function top dataflow int tmp[NELEM]; subf(in, tmp); subf(tmp, out1); subf(tmp, out2); }
Output
Error: (SHLS-32) Data buffer 'tmp' on line 19 of test.cpp must only be accessed by 2 dataflow subfunctions. Found 'subf_2, subf_1, subf_0' accessing the memory.
Related to: Data Flow Parallelism, Dataflow Channel
