Open the run summary file with the following command:
vitis_analyzer xrt.run_summaryIn Vitis Analyzer, click Set Compile Directory in Summary view.
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.
1: Kernel
k[0]is trying to write tok[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 buffersbuf1andbuf1d, 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.
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.
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.