You can analyze the AI Engine status output that the Vitis IDE automatically generates as follows:
- Open the run summary file,
xrt.run_summary, with the following command:vitis -a xrt.run_summary - Click Set Compile
Directory in the summary view to set the AI Engine compile/work
directory.
- In the prompted dialog box, click the ... button, and select the AI Engine compile summary file, such as
./Work/graph.aiecompile_summary.The summary data displays in the IDE.
- Click Graph or Array to display the required summary data.
Note: The summary shows all stalls as red.
- Access the associated views related to the AI Engine status at the bottom of the summary data. Some
of these views are as follows:
- Tile Status
- Shows AI Engine status, including stream, cascade,
lock stalls. Column details are as follows:
- PC: Shows the current PC value. It can be cross-probed with source code by clicking it.
-
Status: Shows
AI Engine status, which can be any of
the following:
- Done
- All done.
- Memory Stall - South
- The AI Engine stalled on accessing memory that is located south of the AI Engine. See Array view for the physical placement of AI Engine's and buffers.
- Memory Stall - West
- The AI Engine stalled on accessing memory that is located west of the AI Engine.
- Memory Stall - North
- The AI Engine stalled on accessing memory that is located north of the AI Engine.
- Memory Stall - East
- The AI Engine stalled on accessing memory that is located east of the AI Engine.
- Lock Stall - South
- The AI Engine stalled on acquiring lock of buffer, that is located south of the AI Engine.
- Lock Stall - West
- The AI Engine stalled on acquiring lock of buffer, that is located west of the AI Engine.
- Lock Stall - North
- The AI Engine stalled on acquiring lock of buffer, that is located north of the AI Engine.
- Lock Stall - East
- The AI Engine stalled on acquiring lock of buffer, that is located east of the AI Engine.
- Stream Stall - Input Ch 0
- The AI Engine stalled on reading from stream input channel 0.
- Stream Stall - Input Ch 1
- The AI Engine stalled on reading from stream input channel 1.
- Stream Stall - Output Ch 0
- The AI Engine stalled on writing to stream output channel 0.
- Stream Stall - Output Ch 1
- The AI Engine stalled on writing to stream output channel 1.
- Cascade Stall - Input
- The AI Engine stalled on reading from cascade input stream.
- Cascade Stall - Output
- The AI Engine stalled on writing to cascade output stream.
- Debug Halt
- The AI Engine stalled by enabling debug mode.
- ECC Error Stall
- The AI Engine stalled when ECC error happens.
- ECC Scrubbing Stall
- The AI Engine stalled on ECC Scrubbing error.
- Error Halt
- The AI Engine stalled on error.
- Enabled
- The AI Engine is enabled.
- Reset
- In reset.
Figure 1. Stalls and Status in the Graph View
- DMA Status
- Displays the Memory module DMA channel status in the design. This is an internal DMA channel control state machine which is asynchronous to application data movement. Do not use DMA status to determine if the channel is idle.
- Error Events
- Displays error events occurred before the status was generated. Further details are available in the following tables: Table 4, Table 1, and Table 2.
- Buffers
- Shows buffer objects in the design with the current
status. Something to note:
-
Lock
Status: Lock status of the buffer
object:
- Acquired for read: The consumer kernel acquired the buffer for read.
- Released for read: The producer kernel released the buffer for read.
- Acquired for write: The producer kernel acquired the buffer for write.
- Released for write: The consumer kernel released the buffer for write.
-
Lock
Status: Lock status of the buffer
object:
Figure 2. Buffers with Lock Status

Tip: Hover the mouse on objects in the
Graph view to show
more information about the object.