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-1962] Disabling free running pipeline (frp) architecture on pipeline 'VITIS_LOOP_15_2' in module 'top_Pipeline_VITIS_LOOP_15_2', because top-level stream port are shared by multiple free running pipelines. And the pipeline has multiple reads on this port, or the pipeline has read after the first II on this port.

Explanation

A top-level streaming port cannot be shared with multiple FRP loops.

Example

void top(hls::stream<st> &a, hls::stream<int> &b, hls::stream<int> &c) {
  st tmp;
  for (int i = 0; i < 16; ++i) {
#pragma HLS unroll
    tmp.M[i] = b.read();
  }
  a.write(tmp);
  st tmp2[32];

  for (int i = 0; i < 32; ++i) {
#pragma HLS pipeline II=1
  for (int j = 0; j < 16; ++j)
    tmp2[i].M[j] = b.read();
  }
  for (int i = 0; i < 32; ++i) {
#pragma HLS pipeline II=1
  a.write(tmp2[i]);
  }
}