Performance Pragma - 5 - 2022.2 English

Vitis HLS Messaging (UG1448)

Document ID
UG1448
Release Date
2022-12-16
Version
2022.2 English

Description

Warning: [HLS 214-348] Cannot apply performance pragma target_ti=50 cycles for loop 'VITIS_LOOP_10_3' in function 'top'. The target requires a pipeline II less than the minimal achievable II of 1 determined by the number of accesses on external memory 'b' (1 per iteration), the number of accesses on external memory 'a' (1 per iteration) (test.cpp:11:9).

Explanation

There are too many accesses to the specified external memory and this prevents an II=1 from being achieved. Consider reducing the number of accesses to the memory in one cycle or increasing the number of memory ports.

//////////// ORIGINAL ////////////
void top(int a[100][100],
  int b[10000][100]) {
  int k;
  int i;
  int j;
  for (i = 0; i < 100; i++) {
    for (k = 0; k < 100; k++) {
      for (j = 0; j < 100; j++)
#pragma HLS performance target_ti=50
        a[i][j] = b[i*k][j]+ b[i + k][j];
    }
  }
}