Errors may occur when careless programmers type the same streaming command several times, like the following example, where B->C is done twice. (Actually, this will easily happen when there're lots of stages to be streamed.)
The compiler should detect this duplication and allocate the streaming buffer only once. However, the generated code redundantly allocates a B_pipe_1 buffer causing synthesis error.
INFO: [XFORM 203-712] Applying dataflow to function 'test', detected/extracted 2 process function(s):
'Loop_B_i_proc7'
'Loop_C_i1_proc'.
ERROR: [XFORM 203-123] Cannot stream 'B_pipe_1.V1': a local variable is streamable only if it is in a dataflow region.
ERROR: [HLS 200-70] Pre-synthesis failed.
Errors may occur when careless programmers type the same streaming command several times, like the following example, where
B->C
is done twice. (Actually, this will easily happen when there're lots of stages to be streamed.)The compiler should detect this duplication and allocate the streaming buffer only once. However, the generated code redundantly allocates a
B_pipe_1
buffer causing synthesis error.