Enabling Trace in AI Engine Based Simulation - 2024.2 English - UG1702

Vitis Reference Guide (UG1702)

Document ID
UG1702
Release Date
2025-01-15
Version
2024.2 English

The AI Engine architecture has direct support for generation, collection, and streaming of events as trace data during simulation, hardware emulation, or hardware execution. For the AI Engine component aiesim launch configuration, you can enable trace and select trace options as shown below.

Figure 1. AI Engine Launch Configuration - Enable Trace

After selecting the Enable Trace check box, you can then specify trace options:

  • Trace type: Specify the format of the trace data as either online waveform database (WDB) or value change dump (VCD) format. The online WDB file is generated on-the fly to display in the Analysis view. The VCD can contains a detailed dump of the changing hardware signals in the form of value change dump (VCD) files which must be post-processed. After simulation, or emulation, the output file can be processed into events and viewed on a timeline in the Analysis view. The events contain information such as time stamps, different event types, and data associated with each event. This information can also be correlated to the compiler generated debug information.
  • Trace Modules: You can enable the capture of trace data from different elements of the AI Engine component as shown above. Enable the specific modules of interest, or all modules.
Using command-line interface you can also generate a trace file using options of the aiesimulator:
aiesimulator –-pkg-dir=./Work --dump-vcd=filename

The --dump-vcd=filename allows you to have access to a subset of the events by default. I you want another subset, you need to add an option file: --options-file=filename.

This option file is a text file that contains a description of the signals that you want to capture:
AIE_DUMP_VCD_IO=true/false
AIE_DUMP_VCD_CORE=true/false
AIE_DUMP_VCD_SHIM=true/false
AIE_DUMP_VCD_MEM=true/false
AIE_DUMP_VCD_STREAM_SWITCH=true/false
AIE_DUMP_VCD_CLK=true/false