Free Running Pipeline - Free Running Pipeline - 2026.1 English - UG1448

Vitis HLS Messaging (UG1448)

Document ID
UG1448
Release Date
2026-06-23
Version
2026.1 English

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);
  }
}