Changing compile_simlib Defaults - 2025.1 English - UG900

Vivado Design Suite User Guide: Logic Simulation (UG900)

Document ID
UG900
Release Date
2025-05-29
Version
2025.1 English

The config_compile_simlib Tcl command lets you configure third-party simulator options for use by the compile_simlib command.

Tcl Command

config_compile_simlib [-cfgopt <arg>] [-simulator <arg>] [-reset] [-quiet] [-verbose]

Where:

  • -cfgopt <arg>: Configuration option in form of <simulator>:<language>:<library>:<options>.
  • -simulator: The name of the simulator whose configuration you want.
  • -reset: Lets you reset all previous configurations for the specified simulator.
  • -quiet: Executes the command without any display to the Tcl Console.
  • -verbose: Executes the command with all command output to the Tcl Console.

For example, to change the option used to compile the UNISIM VHDL library, type:

config_compile_simlib -cfgopt {modelsim.vhdl.unisim:-source -93}
Important: The compile_simlib command compiles AMD primitives and Simulation models of AMD Vivado IP. AMD Vivado IP cores are delivered as an output product when the IP is generated; consequently, they are included in the pre-compiled libraries created using compile_simlib.

When you run the compile_simlib command, IPs are compiled from the installed catalog of Vivado IDE. When using a patch, the IPs from the patch repository can be compiled in following two ways:

  1. Compiling Patched IP Repository Using XILINX_PATH
  2. Compiling Patched IP Repository Using XILINX_VIVADO

Compiling Patched IP Repository Using XILINX_PATH

Patched IPs can be compiled using the XILINX_PATH environment variable:
setenv XILINX_PATH <repo-path> [:<repo-path>:....:<repo_path>]

Assume that the patched IP repository is at the following locations:

'/repo/patch/AR012345/vivado/data/ip/xilinx/<ips>'
'/repo/patch/AR06789/vivado/data/ip/xilinx/<ips>'

To compile the default installed IP repository and the repositories that are pointed to by XILINX_PATH, set the XILINX_PATH environment (env) variable to point to these patched IP repositories and run compile_simlib. compile_simlib processes the IP library sources from the default installed repository and the ones set by XILINX_PATH.

% setenv XILINX_PATH /repo/path/AR012345/vivado:/repo/path/AR06789/vivado
% compile_simlib -simulator <simulator> -directory <new_clibs_dir>

Compiling Patched IP Repository Using XILINX_VIVADO

Patched IPs can be compiled using the XILINX_VIVADO environment variable:
setenv XILINX_VIVADO <Vivado-Install-Path>

Assume that the patched IP repositories are at the following locations where XILINX_VIVADO is set:

'$XILINX_VIVADO/patches/AR012345/vivado/data/ip/xilinx/<ips>'
'$XILINX_VIVADO/patches/AR06789/vivado/data/ip/xilinx/<ips>'

To compile the default installed IP repository and the repositories that are pointed to by the above locations, set the XILINX_PATH env variable to point to Vivado install path and run compile_simlib. compile_simlib processes the IP library sources from the default Vivado installed repository and the one set by XILINX_VIVADO.

% setenv XILINX_PATH <Vivado-Install-Path 
% compile_simlib -simulator <simulator> -directory <clibs_dir>
Note: The <clibs_dir> can point to a new directory or to the existing directory where the library was compiled earlier.