Analyzing the Automated Status Output - 2024.1 English

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2024-06-27
Version
2024.1 English

In the Vitis IDE, you can analyze the AI Engine status output that is automatically generated as follows:

  1. Open the run summary file, xrt.run_summary, with the following command:
    vitis -a xrt.run_summary
  2. Click Set Compile Directory in the summary view to set the AI Engine compile/work directory.

  3. 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.

  4. Click Graph or Array to display the summary data as desired. Note that all stalls are shown in red.

  5. At the bottom of the summary data, you can access the associated views related to the AI Engine status, some of which are defined as follows.
    Tile Status
    Shows AI Engine status, including stream, cascade, lock stalls. Columns are explained as follows:
    • PC: Shows the current PC value. It can be cross-probed with source code by clicking it.
    • Status: Shows AI Engine status. It can be:
      Done
      All done.
      Memory Stall - South
      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
      AI Engine stalled on accessing memory that is located west of the AI Engine.
      Memory Stall - North
      AI Engine stalled on accessing memory that is located north of the AI Engine.
      Memory Stall - East
      AI Engine stalled on accessing memory that is located east of the AI Engine.
      Lock Stall - South
      AI Engine stalled on acquiring lock of buffer, that is located south of the AI Engine.
      Lock Stall - West
      AI Engine stalled on acquiring lock of buffer, that is located west of the AI Engine.
      Lock Stall - North
      AI Engine stalled on acquiring lock of buffer, that is located north of the AI Engine.
      Lock Stall - East
      AI Engine stalled on acquiring lock of buffer, that is located east of the AI Engine.
      Stream Stall - Input Ch 0
      AI Engine stalled on reading from stream input channel 0.
      Stream Stall - Input Ch 1
      AI Engine stalled on reading from stream input channel 1.
      Stream Stall - Output Ch 0
      AI Engine stalled on writing to stream output channel 0.
      Stream Stall - Output Ch 1
      AI Engine stalled on writing to stream output channel 1.
      Cascade Stall - Input
      AI Engine stalled on reading from cascade input stream.
      Cascade Stall - Output
      AI Engine stalled on writing to cascade output stream.
      Debug Halt
      AI Engine stalled by enabling debug mode.
      ECC Error Stall
      AI Engine stalled when ECC error happens.
      ECC Scrubbing Stall
      AI Engine stalled on ECC Scrubbing error.
      Error Halt
      AI Engine stalled on error.
      Enabled
      AI Engine is enabled.
      Reset
      In reset.
    Figure 1. Stalls and Status in the Graph View

    DMA Status
    Shows 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 and should not be used to determine if the channel is idle.
    Error Events
    Shows error events that have happened 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 buffer has been acquired for read by the consumer kernel.
      • Released for read: The buffer has been released for read by the producer kernel.
      • Acquired for write: The buffer has been acquired for write by the producer kernel.
      • Released for write: The buffer has been released for write by the consumer kernel.
Figure 2. Buffers with Lock Status

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