Enabling Third-Party Simulators in a Configuration File - 2024.1 English

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2024-06-27
Version
2024.1 English

Third-party simulators are supported in the Vitis hardware emulation flow. There are specific settings around third-party simulators that need to be provided in the Vitis configuration file. The Vitis Unified IDE also supports hardware emulation flow using third-party simulators. Third-party simulators such as Questa Advanced Simulator (Mentor Graphics), Xcelium (Cadence), VCS (Synopsys), and Riviera Simulator (Aldec) are supported when executing hardware emulation of your design. You can enable these simulators by updating the Vitis configuration file (config.ini or system.cfg). When the settings have been added to the Vitis configuration file, build the design using the v++ link and package flow as described in Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393) build and run chapter. The script launch_hw_emu.sh will launch hardware emulation using the third party simulator specified.

Table 1. Vitis Link Settings
Simulator Vitis configuration file settings (config.ini or system.cfg)
Questa Advanced Simulator
[advanced]
param=hw_emu.simulator=QUESTA
[vivado]
prop=project.__CURRENT__.simulator.questa_install_dir=<SIMULATOR DIRECTORY>/questa/2023.3/bin
prop=project.__CURRENT__.compxlib.questa_compiled_library_dir=<SIMULATOR LIBRARY DIRECTORY>/questa/2023.3/lin64/lib/
prop=fileset.sim_1.questa.compile.sccom.cores={16}
prop=fileset.sim_1.questa.elaborate.vopt.more_options={-stats=all}
prop=fileset.sim_1.questa.simulate.vsim.more_options={-stats=all}
Xcelium
[advanced]
param=hw_emu.simulator=XCELIUM
[vivado]
prop=project.__CURRENT__.simulator.xcelium_install_dir=<SIMULATOR DIRECTORY>/xcelium/bin/
prop=project.__CURRENT__.compxlib.xcelium_compiled_library_dir=<SIMULATOR LIBRARY DIRECTORY>/xcelium/23.09.001/lin64/lib/
prop=fileset.sim_1.xcelium.elaborate.xmelab.more_options={-timescale 1ns/1ps -STATUS]
VCS
[advanced]
param=hw_emu.simulator=VCS
[vivado]
prop=project.__CURRENT__.simulator.vcs_install_dir=<SIMULATOR DIRECTORY>/vcs/U-2023.03-SP2/bin/
prop=project.__CURRENT__.compxlib.vcs_compiled_library_dir=<SIMULATOR LIBRARY DIRECTORY>/vcs/U-2023.03-SP2/lin64/lib/
prop=project.__CURRENT__.simulator.vcs_gcc_install_dir=<SIMULATOR DIRECTORY>/synopsys/vg_gnu/2023.03/linux64/gcc-9.2.0_64/bin
param=project.alignLibraryPathEnvForVCS=true
prop=fileset.sim_1.vcs.compile.vlogan.more_options={-v2005}
Riviera
[advanced]
param=hw_emu.simulator=RIVIERA
[vivado]
prop=project.__CURRENT__.simulator.riviera_install_dir=<SIMULATOR DIRECTORY>/riviera/2023.04-lin64/bin/
prop=project.__CURRENT__.compxlib.riviera_compiled_library_dir=<SIMULATOR LIBRARY DIRECTORY>/riviera/2023.04/lin64/lib/
prop=project.__CURRENT__.simulator.riviera_gcc_install_dir=<SIMULATOR DIRECTORY>/riviera/2023.04-lin64/gcc_Linux64/bin/
prop=fileset.sim_1.riviera.simulate.asim.more_options={+access +r}