3.6.3.20 SHLS-36
(Ask a Question)Message
Error: (SHLS-36) FIFO '{variable}' on {location} in dataflow function '{function}' must be accessed by at most 1 reader and 1 writer subfunction. Found {number_of_reader_or_writer} {readers|writers}.
/***************************************************************** * This example is expected to result in * - Code : SHLS-36 * - Type : Error * - Cause : FIFO 'tmp' in DUT() is accessed by 2 subfunction * calls for reading. *****************************************************************/ #include "hls/streaming.hpp" void subf(hls::FIFO<int>&in, hls::FIFO<int>&out) { out.write(in.read() + 1); } void DUT(hls::FIFO<int>&in, hls::FIFO<int>&out1, hls::FIFO<int>&out2) { #pragma HLS function top dataflow hls::FIFO<int> tmp; subf(in, tmp); subf(tmp, out1); subf(tmp, out2); }
Related to: Data Flow Parallelism, Streaming Library, Dataflow Channel
