Analyzing the Automated Status Output - Analyzing the Automated Status Output - 2025.2 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2026-03-27
Version
2025.2 English
  1. Open the run summary file with the following command:

    vitis_analyzer xrt.run_summary
    
  2. In Vitis Analyzer, click Set Compile Directory in Summary view.

  3. In the prompted dialog box, click the button, and select the AI Engine compile summary (such as ./Work/graph.aiecompile_summary) to set the AI Engine compile summary.

    The following figure shows the graph view.

    graph view

    1: Kernel k[0] is trying to write to k[1], but has stalled at the output stream port. See the red circle on the kernel instance.

    2: Kernel k[1] is trying to read from buffers buf1 and buf1d, but has stalled. See the red circle on the kernel instance.

    The DMA Status window also shows the information about the status of DMA channels.

    graph view

1: The data input from the PL is trying to write to the buffer buf0 (BD0), but it cannot.

The Buffers view shows the buffer status of the graph. Click the Buffers window to select it, and then select the buffer in the graph to be analyzed.

graph view

The Buffers window highlights the PING-PONG buffers. The Lock Status column shows the buffer lock status. The different statuses are as follows:

  • Acquired for read: The consumer kernel has acquired the buffer for read.

  • Released for read: The producer kernel has released the buffer for read.

  • Acquired for write: The producer kernel has acquired the buffer for write.

  • Released for write: The consumer kernel has released the buffer for write.

In this example, it shows that buf1 is “Acquired for write” and buf1d is “Released for write.” This indicates that k[0] has already acquired buf1 for write. The buf1d buffer is released for write, but not released for read. Consequently, k[1] cannot acquire the buffers buf1 and buf1d for read, so k[1] stalls.