修改时间 04-22-2019 05:30 PM
IMPORTANT: Ensure hls::stream variables are correctly sized when used in the default non-DATAFLOW regions.
If an hls::stream is used to transfer data between tasks (sub-functions or loops), you should immediately consider implementing the tasks in a DATAFLOW region where data streams from one task to the next. The default (non-DATAFLOW) behavior is to complete each task before starting the next task, in which case the FIFOs used to implement the hls::stream variables must be sized to ensure they are large enough to hold all the data samples generated by the producer task. Failure to increase the size of the hls::stream variables results in the error below:
ERROR: [XFORM 203-733] An internal stream xxxx.xxxx.V.user.V' with default size is used in a non-dataflow region, which may result in deadlock. Please consider to resize the stream using the directive 'set_directive_stream' or the 'HLS stream' pragma.
This error informs you that in a non-DATAFLOW region (the default FIFOs of depth of 1) may not be large enough to hold all the data samples written to the FIFO by the producer task.