Description
Warning: [215-229] Could not analyze
pattern on
Name
(DebugLoc).- Name
- Name of array
Explanation
Using complex expressions or operators (such as division) to access M_AXI array ports can result in burst inference failures. Consider simplifying the access patterns so that the compiler can easily infer the access patterns.
Example
//////////// ORIGINAL ////////////
void foo(int in[16][16], int out[16][16], long n) {
long t = n * 16;
for (long i = 0; i < t; ++i) {
out[i/16u][i%16u] = in[i/16u][i%16u];
}
}
//////////// UPDATED ////////////
// Replace division with multiple loops with simple indexing
void foo(int in[16][16], int out[16][16], long n) {
for (long j = 0; j < n; ++j)
for (long i = 0; i < 16; ++i)
out[j][i] = in[j][i];
}