Checking User-Defined Constraints - 2025.2 English - UG1076

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2025-11-20
Version
2025.2 English
Incorrectly defined user constraints can cause mapper failure. Some of these can be caught by the mapper pre-checker. However, the pre-check phase does not catch all failures. In such cases, check for the following conditions.
  1. If there are many absolute location or co-location constraints in the graph, check that they do not give conflicting directives to the mapper. This can occur because of the checkerboard nature of the AI Engine array as shown in the following figure.

    In this figure, kernels (red) have absolute location constraints. The window buffer (green) between them has a co-location constraint with the first kernel. This results in mapper failure.

    Figure 1. Conflicting Absolute Location/Co-location Constraints

  2. If you have absolute location constraints for kernels that are part of a cascade chain, check that these constraints are compatible with the architecture. In AI Engine architecture, the direction of the cascade changes in each row. If you have absolute constraints and cascades as shown in the following diagram, it causes mapper failure.
    Figure 2. Conflicting Cascade Direction

  3. Constraining buffer size to a single tile can exceed the tile’s memory capacity, which is 32 KB in AI Engine architecture.
  4. Each tile in the AI Engine architecture has two input and two output DMA channels. If you have constrained buffers such that a particular tile needs more than this number of DMA channels, it results in mapper failure.