x86simulator Options for Debugging - 2023.2 English

Vitis Tutorials: AI Engine (XD100)

Document ID
XD100
Release Date
2024-03-05
Version
2023.2 English

The following table lists some x86simulator options which are used for debugging. For the complete set of x86simulator options, refer to Simulator Options in the AI Engine Tools and Flows User Guide (UG1076).

Option  Description
--dump Enables snapshots of data traffic on kernel ports.
--trace Enables trace of kernel stall events.
--valgrind Runs the simulator under Valgrind to detect access violations.

All x86simulator supported features allow you to debug designs without using the debugger and do not require any instrumentation of kernel code.

One obvious way to specify these options is to add them to the Launch configuration settings in the Vitis IDE. To do this, hover your mouse over the Run option in the Flow navigator and click on the settings button. Now, in the launch configuration window, click on the X86 Simulator Options as shown below.

launch_config_settings

From the list of settings as shown below, you can enable or disable any x86simulation specific option.

x86simulator_options

Another way to enable the feature is to switch to the source editor mode as highlighted above and update the configuration file, $(COMPONENT_NAME)/Output/x86sim/Work/options/x86sim.options from no to yes for the selected feature.

# For setting input directory path : define input-dir
input-dir=.
# For setting output directory path : define output-dir
output-dir=./x86simulator_output
# For Timeout : define timeout as integer value
timeout=
# For Snapshots : define dump=yes
dump=no
# For Gdb debugging : define gdb=yes
gdb=no
# For running Valgrind : define valgrind=yes
valgrind=no
# For running Valgrind and debugging via Gdb server : define valgrind-gdb=yes
valgrind-gdb=no
# For overriding default options to valgrind : define --valgrind-args with options
valgrind-args=
# For Stopping on deadlock : define disable-stop-on-deadlock=yes
disable-stop-on-deadlock=no
# For Trace : define trace=yes
trace=no
# For Trace print : define trace-print=yes
trace-print=no
# For Enabling handshake protocol with external testbench : define enable-handshake-ext-tb=yes
enable-handshake-ext-tb=no
# For generating valid x86sim.aierun_summary in SW_EMU flow: define pkg-dir=<absolute path to work directory>
pkg-dir= <Path to work directory>