After bootup and the device is configured, the application can begin to run. In this design, there is a PL kernel called random noise
that is generating data that is being fed directly into the AI Engine. The key here is looking at the s_axi_control
interface to see when the PS sends the run
signal.
To view the specific signals controlling the PL kernel, run the following command.
source ../../../../tcl/pl_to_aie.tcl
Expand the CIPS group down to the Row 0. Zoom into a specific region. In the following screenshot, the red area is the zoom region.
After the zoom in, you should see something similar to the following.
Here you can see the PS is using the Full Power Domain (FPD) interface to send the AXI signal to turn on. Notice that there are two blocks shown. This is the PS telling the
random_noise
ands2mm
kernels to start running.If you zoom in more, you can see more specifics of the transactions.
Notice that the
s_axi_control
has a read transaction slightly after the second transaction has started of the FPD interface.Expand the vitis_design_CIPS_0_0_M_AXI_FPD_tlm interface and the Outstanding Reads, and you will see a Row 0. If you move the mouse over the #3 or #4, a context help menu shows you some signal information on where data is being transfered. Notice the
ARADDR
value of0xa4060000
for #3 and0xa4050000
for #4, and understand that this is the address to the PL kernels that the Vitis linker auto-assigns it during linking. From the host code, you can determine that these kernels are activated before the AI Engine, soon after the application starts, so it is safe to say these signals are used to start them. Do remember that these kernels are simpler than others; more complex kernels will result in different transactions.Zoom to fit by clicking the Zoom Fit button (
). Expand the NOISE group and expand Out_r.
Notice after the
random_noise
kernel starts, you see the large green line. This is a series of many transactions of the PL kernel transferring data to the AI Engine. There are a few red sections in the waveform. This is a link stall, or where the kernel has been stalled and is caused by the AI Engine.Zoom to fit by clicking the Zoom Fit button.