This topic is a continuation of the Deadlock Detection section and walks you through the visualization of the deadlock (Lock stall and stream stall) in the Vitis Analyzer.
After simulating with the
--hang-detect-time=60option, open the trace analysis view -> aie_component -> AIE SIMULATOR/HARDWARE -> Run-aie_component -> Trace.
data_shufflekernel function. It ran for only two iterations and went into a stream stall.
peak_detectkernel function, and observe the lock stall after three iterations. The kernel
data_shuffleexpects more stream data from the kernel
peak_detectwhich it cannot provide. So, the stream port in the
data_shufflewent into the stream stall, and the kernel hangs. It cannot accept more inputs from buffer port which causes the back pressure on
peak_detectkernel leading to lock stall, which is the potential root-cause for the deadlock.