Description
Warning: [HLS 200-1967] Disabling free running
pipeline (frp) architecture on pipeline 'process' in module 'process_r', because
free running pipeline(frp) can only be called from a dataflow region. A pipelined
caller function is not supported.
Explanation
Currently, an FRP pipeline can only be called from within a dataflow region. A pipelined caller function is not yet supported.
Example
void process(volatile int* input, int *output, hls::stream<int>& strm)
{
#pragma HLS pipeline style=frp
static int cnt = N/4;
int tmp = 0;
if(cnt>0) cnt--;
if(cnt==0)
strm>>tmp;
*output = *input + tmp;
}
void write_data(volatile int* output, int *input, hls::stream<int>& strm)
{
#pragma HLS pipeline
*output = *input;
const int data = 1;
strm<<1;
}
void DUT(volatile int *input, volatile int *output)
{
hls::stream<int,32> strm;
int data;
{
#pragma HLS pipeline
process(input, &data, strm);
write_data(output, &data, strm);
}
}