Open the run summary file with the following command:
vitis_analyzer xrt.run_summary
In 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 graph view is as shown in the following figure.
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.
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 PING-PONG buffers are highlighted in the Buffers window. The Lock Status column shows the buffer lock status. The different statuses are as follows:
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.
In this example, it shows that buf1
is “Acquired for write” and buf1d
is “Released for write”. It indicates that buf1
has already been acquired for write by k[0]
. The buf1d
buffer is released for write, but not released for read. Consequently, the buffers buf1
and buf1d
are not able to be acquired for read by k[1]
, and k[1]
is stalled.