Using Multiple Event Trace Streams - 2025.2 English - UG1076

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2025-11-20
Version
2025.2 English

As AI Engine designs grow larger, tracking the events produced while running the design is useful for identifying performance bottlenecks. You can also use it to understand how the overall AI Engine operates for the design. Of course, with larger designs more and more events are produced, causing a bottleneck of the events being recorded by the trace IP being used. To capture all this data effectively, and quickly, consider instantiating multiple event trace streams. These streams spread out the event data coming from the AI Engine, letting it store them correctly and in a timely manner.

To increase the trace streams in a design, use the --num-trace-streams option when you compile. This can have a value in the range of 1 to 16. The following table provides guidance on the number of trace streams to use, depending on the size of the design.

Table 1. Number of Event Trace Streams Methodology
Number of AI Engines Recommended Number of Streams
Less than 10 1
Between 10 and 20 2
Between 20 and 40 4
Between 40 and 80 8
Larger than 80 16
  1. It is recommended to only use up to 16 trace streams due to the resource utilization impact on the PL and DMA channel resources.

After changing the AI Engine compiler option, recompile and re-link the XCLBIN file and libadf.a using the Vitis compiler with a config file. describes this.

v++ -l --config system.cfg ...