- --swfifo-threshold
-
Above this specified threshold, a FIFO is implemented as a DMA FIFO in an AI Engine application, and generates an error in an AI Engine-ML application. To avoid an error message in AI Engine-ML, you can increase the threshold but this requires additional resources to route the design.
- --evaluate-fifo-depth
-
This option analyzes re-convergent data paths. Data might be sent on multiple paths and sometimes they can re-converge which can result in a deadlock. Such deadlocks can be resolved by adding FIFOs to the appropriate data paths.
The steps for evaluating and resolving deadlocks as a result of re-convergent data paths is as follows:
- Compile the design with this option.
- Run
aiesimulatoron the design. - Open Vitis Unified
IDE with the simulation
run_summary - Note the FIFO depth displayed in
theEstimated
FIFO column in the Nets table. This FIFO depth
value is the recommended value (in 32-bit words) to be used with the
fifo_depth(net)constraint on a specific net connection in the graph to resolve the deadlock situation. - Apply the recommended FIFO depth value using the
fifo_depthconstraint on specified nets on the graph, and recompile the design. In AI Engine-ML if the recommendation is above the current fifo depth threshold, you might have to increase it using the--swfifi-thresholdoption.
- disable-multirate
-
Disable multirate in ADF graphs. Accepted values are true and false. The default is false.
disable-multirate=true - no-init
-
This option disables initialization of window buffers in AI Engine data memory. This option enables faster loading of the binary images into the SystemC-RTL co-simulation framework. Accepted values are true and false. The default is false.
no-init=true - nodot-graph
-
By default, the AI Engine compiler produces DOT and PNG files to visualize the user-specified graph and its partitioning onto the AI Engines. This option can be used to eliminate the dot graph output. Accepted values are true and false. The default is false.
nodot-graph=true - --aie.compile-testbench-only
-
In HW compilation, the AI Engine compiler allows compilation of
mainonly (graph.cpptest bench) using this flag. This helps to compile graph.cpp separately. The option is useful in scenarios where onlymain()or the test bench is changed and there are no changes in graph and kernels. This helps save compilation time of the complete AI Engine design and only compile test bench file whenever necessary.v++ --compile --mode aie --target=hw --aie.compile-testbench-only graph.cpp
compile-testbench-only option, the AI Engine compiler assumes that the initial compilation of the
AI Engine graph was successful and skips
any checks against it. Therefore, ensure that only the test bench code has been modified
and that no changes have been made to graph/kernels.