Hardware Emulation Debug from the Vitis IDE - 2023.2 English

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 English
Unlike Software Emulation which is compiled to run on an x86 processor even for Arm processor based applications, the Hardware Emulation must be run under the QEMU environment as described in Simulating the Application with the Emulation Flow. To run and debug the application for the Hardware Emulation build target, you must first launch the QEMU environment using the following steps:
  1. Start the QEMU emulation environment by selecting the Start Emulator command from the Flow Navigator to open the following dialog box.

    Where:

    Show Waveform
    Enables the display of the Live simulation Waveform view from within the Vivado Logic Simulator during the Emulation run. This lets you examie waveforms in realtime rather than after. However, it takes more time and resources to run.
    Enable Trace
    Enables capturing trace data from hardware emulation.
    Additional Arguments
    Used to pass additional arguments to the launch_emulator utility from the command line when starting QEMU. For example, this can be used for specifying options to pass to the AI Engine simulator that runs the graph application, as described in Reusing AI Engine Simulator Options in AI Engine Tools and Flows User Guide (UG1076).
    The options can be specified as follows:
    -aie-sim-options ../aiesim_options.txt
    Enable Profile
    Enables profiling of the design as explained in Profiling the Application.
    Key/Value Pairs
    Specifies parameters to use when running the application in the form of the prameter name and value.
  2. Click Start to launch the emulator. Then you must wait for the QEMU environment to boot the emulation system before staring your application.

    The TASK: EMULATION output terminal shows a transcript of the QEMU launch and boot process. You will know the process has completed when the /mnt# command prompt is displayed in the terminal window. From the command prompt you can type commands in the QEMU environment, and review the transcript of the boot process for details.

    Important: Do not run the emulation from this window. The Vitis unified IDE will manage the application when launched from the Run or Debug command in the Flow Navigator after the emulator has been started.
  3. After the QEMU has started, click Debug from the Flow Navigator.

    This opens the Debug view in the Vitis unified IDE as shown in the Debug View, and connects to the PS application and AI Engine graph running on their respective cores in the QEMU. The application automatically breaks at the main() function for all the ELF files.

  4. Click Resume () from the Control Panel to start the process.

From this point you can do all the debug activities like step in/step over/viewing variables/plant break points in the emulation environment. Refer to Using the Debug Environment for more information.