Debugging the System Project and AI Engine Components - 2024.2 English

Vitis Reference Guide (UG1702)

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

You can debug AI Engine and HLS components in a standalone capacity, or you can debug the System project, including the top-level PS application, and any additional components. Within this framework, you can also debug applications built from the command line, or system projects built in the Vitis Unified IDE. You can only debug applications running on the Linux OS. Baremetal applications debug support is not available through the IDE. You can debug hardware emulation builds that let you simulate the application, or debug the actual application running on hardware. All of these configurations are addressed in the following topics.

The following process is recommended for debugging AI Engine applications and system designs:

  1. Use x86 simulation for both single and multi-kernel debug. It supports breakpoints and single stepping using the GNU debugger.
  2. Use aiesimulator to verify timing and to check that it will fit within the program memory as well as stack/heaps size within the available hardware memory space. The aiesimulator and x86simulator and their use are described in Simulating an AI Engine Graph Application in AI Engine Tools and Flows User Guide (UG1076).
  3. Hardware emulation for complete integration testing including PL, PS, and AI Engine domains as applicable.
  4. Hardware-based testing of the final booted system.

If code changes are necessary at any step, repeat all steps from the beginning.

Note: It is recommended to use the compiler optimization option --xlopt = 0 because higher compiler optimizations will reduce debug visibility.