Reusing AI Engine Simulator Options - 2023.1 English

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2023-06-23
Version
2023.1 English

The AI Engine simulator generates an options file that lists the options used for simulating the AI Engine graph application. The options file is automatically generated when the AI Engine simulator is run. You can reuse the AI Engine simulator options used in the initial graph-level simulation run later in the system-level hardware emulation. You can also manually edit the options file to specify other options as required. The following table lists the options that can be specified in the aiesim_options.txt file. This file is located in the aiesimulator_output directory and is created if either --dump-vcd option (valid only for the XSIM simulator) or --profile option is used with the aiesimulator command. This file can be specified as part of the command line option to launch the hardware emulator using the launch_hw_emu.sh script as described in Running the System in Hardware. An example command line is as follows.

./launch_hw_emu.sh \
-aie-sim-options ${FULL_PATH}/aiesimulator_output/aiesim_options.txt

where ${FULL_PATH} must be the full path to the file or directory.

Table 1. AI Engine Options for Hardware Emulation
Command Arguments Description
AIE_DUMP_VCD <filename> When AIE_DUMP_VCD is specified, the simulation generates VCD data and writes it to the specified <filename>.vcd.
AIE_DEBUG_AXIMM True | False When AIE_DEBUG_AXIMM is enabled (True), simulation generates memory-mapped AXI4 transaction data and writes it to a aiesim_debug_axi_mm_dump.txt file.
AIE_PROFILE All | (1,2)(3,4)... This option profiles either all the used AI Engines or selected AI Engines listed. Hardware Emulation generates profile data files.
Important: You must set the AI Engine compiler workdir environment variable to the Work directory generated by the AI Engine compiler. To do so, before launching AMD simulator, type setenv AIE_COMPILER_WORKDIR /yourdesigndirectory/Work in the shell window.
Note: Any command that has a path to a file must use an absolute path.

When creating a simulation option file manually it needs to follow the format of COMMAND=ARGUMENT, with each command being on a separate line. The following example shows best practice.

AIE_PROFILE=All
AIE_VCD=foo

You must use the -g option on the launch_hw_emu script to view the AMD simulator waveform GUI.

./launch_hw_emu.sh -g

Additionally, you can add more advanced options to log waveform data without having to launch emulation with the Vivado logic simulator GUI. An example command line is as follows.

./launch_hw_emu.sh \
-user-pre-sim-script pre-sim.tcl

The pre-sim.tcl contains Tcl commands to add waveforms or log design waveforms. For an example, see the Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393) and for Tcl commands see Vivado Design Suite User Guide: Logic Simulation (UG900).

Tip: Details on debugging the application in Hardware Emulation can be found in Debug Techniques in Hardware Emulation in Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393).

Viewing the Run Summary

After you launch and run hardware emulation with above simulation options, you can see the run summary as follows:

For AI Engine run summary generated inside <package_dir>/sim/behav_waveform/xsim/default.aierun_summary:

  • You can see the VCD file generated at the same location, for example: <package_dir>/sim/behav_waveform/xsim/<vcd filename>
  • If you have enabled profiling using AIE_PROFILE in the options file and printf in the ADF kernel, you can see the printf data logged inside <package_dir>/sim/behav_waveform/xsim/simulate.log.