We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 67272

Vivado Simulator 2016.1 - ERROR: [XSIM 43-3238] Failed to link the design


Vivado Simulator 2016.1 sometimes fails to launch a simulation and issues the following error:

xsim.dir/hrpwm_modulator_behav/obj/xsim_1.win64.obj:(.text+0xb0b7): undefined reference to `_chkstk'
xsim.dir/hrpwm_modulator_behav/obj/xsim_1.win64.obj:(.text+0x85b87): more undefined references to `_chkstk' follow
collect2: ld returned 1 exit status
ERROR: [XSIM 43-3238] Failed to link the design.


Starting in Vivado 2014.3, the C compiler used by Vivado Simulator was changed from gcc to clang. 

Additionally, direct LLVM is used from the 2016.1 release on.

This issue is due to the default direct LLVM. Xilinx recommends falling back to clang as a workaround if LLVM is causing issues.

The XSim compiler executable xelab can be instructed to use clang compiler in one of the following three ways:

  1. In Vivado IDE, open the Simulation Settings dialog box, and specify "-cc clang" in the xsim.elaborate.xelab.more_options field.
  2. For Vivado Tcl (in interactive or batch mode), run the following command before the running launch_simulation command. Substitute sim_1 with the correct simulation set name if your simulation set name is different or if you have multiple simulation sets.
    set_property -name {xsim.elaborate.xelab.more_options} -value {-cc clang} -objects [get_filesets sim_1]
  3. If xelab is run directly by the user, add "-cc clang" to the xelab command line.
AR# 67272
Date 05/30/2016
Status Active
Type General Article
  • Vivado Design Suite - 2016.1