Build for Hardware Emulation Using the Vitis IDE - 2023.2 English

Vitis Tutorials: AI Engine (XD100)

Document ID
Release Date
2023.2 English

Before getting into this section, it is expected that you created an AI Engine application in the Vitis IDE and ran AIEsimulation Build and Simulate in the Vitis IDE.

Create a system project manually using the steps mentioned in Port a Command Line Project to the Vitis IDE System Project and download the Vitis IDE exported project (Download Vitis IDE project).

Besides referring to the link provided above to create a system project, make sure to follow the following points to avoid unnecessary issues during the emulation process:

  • While creating a HW-link project, the Vitis IDE tool, by default, creates a binary_container_1-link.cfg file under the {$PROJECT}/system_project/hw_link/ directory that contains the connectivity as follows:


    If you are porting a command line project to the Vitis IDE environment, make sure to replace the above connectivity statements that start with nk in your system.cfg file and add as a source to your HW-Link project.

  • As the AI Engine graph is being loaded by the host PS application, you can defer the running of the graph after the graph has been loaded using the xrt::graph API. By default, the AMD platform management controller (PMC) loads and runs the graph. However, the v++ --package.defer_aie_run option will let you defer the graph run until after the graph has been loaded using the xrt::graph API.

package options

  1. To build the system project, in the Flow Navigator -> [system_project] component -> select Build All. The top-level project uses an incremental build approach, select the components to be built along with system project.

  2. After packaging, everything is set to run emulation. In the Flow Navigator -> [system_project] component -> select Start Emulator -> show waveform -> start :

Start Emulator

  1. Run the emulation by clicking Flow Navigator -> [system_project] component -> select Run, after the following messages are displayed in the ‘TASK: EMULATION FOR SYSTEM_PROJECT’ console.

emulation console

  1. You can stop emulation by clicking In the Flow Navigator -> [system_project] component -> select Stop Emulator. Stop Emulation