Burst Inference Failure 8 - 2021.2 English

Vitis HLS Messaging (UG1448)

Document ID
UG1448
Release Date
2021-10-27
Version
2021.2 English

Description

Warning: [214-230] Stride is incompatible (addr=Addr) on Name (DebugLoc).
Addr
LLVM SCEV
Name
Name of array

Explanation

When accessing the M_AXI arrays, maintaining a sequential and continuous access pattern is critical or burst inferencing can fail. Ensure that the code accesses the array sequentially and in the same order.

Example

//////////// ORIGINAL ////////////
void foo(int *a, int *b) {
  for (long i = 0; i < 256; ++i)
    b[i*4] = a[i*4] ;
}
 
//////////// UPDATED ////////////
// Use continuous accesses
void foo(int *a, int *b) {
  for (long i = 0; i < 256; ++i)
    b[i] = a[i] ;
}