AI Engine users can run into simulator hangs. A common cause is insufficient input data for the requested number of graph iterations, mismatch between production and consumption of stream data, cyclic dependency with stream, cascade stream or asynchronous windows, or wrong order of blocking protocol calls (acquisition of async window, read/write from streams).
The x86 simulator will automatically detect deadlock, unless the
--disable-stop-on-deadlock
option is specified. If a deadlock
is detected, simulation is stopped, and a deadlock diagnosis report is printed.
Additionally, a graph is generated in x86simulator_output/simulator_state_post_analysis.dot
. This is a
.dot
file that encodes a description of the
graph in terms of a block diagram where the agents involved in the deadlock are
highlighted in red. To get this file transformed into a .png
file, you must use the dot
program as follows.
dot -Tpng x86simulator_output/simulator_state_post_analysis.dot > simulator_state_post_analysis.png
--disable-stop-on-deadlock
option is not supported for software
emulation or use cases with an external test bench.vitis_analyzer
: