When the system is deadlocked, the AI Engine compiler provides a way to evaluate the FIFO depth that you should add to your design to avoid these locks.
The tool computes these FIFO lengths from an AI Engine simulation for you. You can
compile your graph with the AI Engine compiler using the --evaluate-fifo-depth
flag.
After the code is compiled and the simulation is run, the simulation run summary can be viewed in the Vitis IDE. Additional FIFO depth columns are displayed in the Nets table.
Figure 1. Nets Table With the FIFO Depth
Additional Column Name | Description |
---|---|
Estimated FIFO (Words) | FIFO depth that is recommended to be used in the graph to resolve the deadlock situation. |
Peak FIFO (Words) | Maximum FIFO depth that is used to resolve the deadline situation. This is then used to compute the estimated FIFO. |
The estimated FIFO depth given in the Estimated FIFO (Words) column
can be used in the graph to insert FIFOs with the specified length using the
following
syntax:
fifo_depth(net) = value;
Where
net
is a connection on which you want to
insert the FIFO.Note: In AI Engine-ML, if the recommended FIFO depth is above the default
threshold (40 words), you will have to use the option
--swfifo-threshold
to increase this limit.