Step 4: Using Vitis Analyzer - Step 4: Using Vitis Analyzer - 2025.2 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2026-03-27
Version
2025.2 English

After emulation completes, you can look at the profiling and VCD trace data that was generated at the same time. If profiling and VCD signal features are not used, emulation runs faster.

Using the XSIM Waveform GUI to view waveforms is powerful in allowing you to view the datapath and flow of the design. You can also use it to debug potential issues like hangs. However, this only shows the PL side of the system. To investigate the AI Engine signals, you need to use the VCD trace in the Vitis analyzer. To use the Vitis analyzer, open up a .aierun_summary file.

  1. Open the run summary of the design by running the following command.

    vitis_analyzer sw/sim/behav_waveform/xsim/default.aierun_summary &
    

    When the summary is open, you should see something similar to the following.

    VA_overview

  2. Here you can see various reports: Summary, Trace, Profile, Graph, Array. Click Trace to open up the VCD data collected during hardware emulation.

    VA_overview_1

    Notice the inner traces of the graph through a tile hierarchy. Selecting a net, tile, function, or any object in this view cross-selects to various views. This can help with identifying specific nets and functions.

  3. Open the Graph view, and click the Buffers tab.

  4. To find the RTP buffers, click the Search button (search), and type in coeffs.

    A window like the following displays.

    VA_rtp_buffers

  5. Select the three coeffs buffers, and click the Trace view again. Notice that the lock signals are highlighted.

    VA_trace

  6. If you scroll up, notice that the FIR filter kernel begins to process data soon after the RTP is read.

    VA_trace_rtp

  7. Open up the Profile report. Here you can view specific information about the kernel and the tile it occupies.

    VA_profile

  8. Click Total Function Time, and notice the following:

    VA_func_time

    This information is useful because it helps determine how long the kernel runs. Use it with Trace to help determine if kernels are running optimally, or if there are stalls.

  9. You can analyze the AIE status and profile in HW emulation same as that of Hardware. The AIE status can be prior analyzed during HW emulation in Vitis Analyzer for debug purposes. The xrt.ini on PS has following entries and must be packaged in v++ package flow before launching emulation.

    aie_profile=true
    aie_status=true
    

As a result, two files: aie_status_edge.json and aieshim_status_edge.json are generated. You can copy these files back from the embedded linux file system into the host machine and then load them into Vitis Analyzer.

The AI Engine status copies to the following files when the host program is running:

  • xrt.run_summary: Run summary that contains a list of file information for use by Vitis Analyzer.

  • aie_status_edge.json: Status of AI Engine and AI Engine memory.

  • aieshim_status_edge.json: AI Engine interface tiles status.

For more details, refer to Analyzing AI Engine Status in Hardware Emulation.

  1. Close the Vitis analyzer.