Debugging in Software Emulation - 2024.1 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
Release Date
2024-05-30
Version
2024.1 English
Important: The following steps describe debugging from the command line. However, you can also debug command-line projects in the Vitis unified IDE by opening them in a workspace as described in Migrating Command-line Projects to the Vitis Unifed IDE, and debugging them as described in Debugging the System Project and AI Engine Components.

The Vitis tools supports typical software debugging for the host code at all times, and the linked system project when running in software emulation mode (and also at points during hardware emulation). This is a standard software debug flow using breakpoints, stepping through code, analyzing variables, and forcing the code into specific states.

The following figure shows the debug flow during software emulation for the host and kernel code (written in C/C++ or OpenCL™ ) using the GNU debugging (GDB) tool. Notice the two instances of GDB to separately debug the host and kernel processes, and the use of the debug server (xrt_server) to connect to the system project.

Figure 1. Software Emulation

AMD recommends iterating through the design as much as possible in software emulation, which takes little compile time and executes quickly. For more detailed information on software emulation, see Software Emulation.