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# 62768

2014.4 Vivado - Generated 3rd party simulator scripts leads to: Error: Failed to find design unit


While running a behavioral simulation using the generated simulation scripts from Vivado, I receive an error similar to the following:

# do {system_tb_elaborate.do}
# QuestaSim-64 vopt 10.2a Compiler 2013.03 Mar 15 2013
# Top level modules:
#             system_tb
#             glbl
# Analyzing design...
# ** Error: Failed to find design unit my_VHDL_lib.system_tb.
# -- Loading module my_VHDL_lib.glbl
# Optimization failed
# ** Error: C:/questasim64_10.2a/win64/vopt failed.
# Executing ONERROR command at macro ./system_tb_elaborate.do line 12

Why does this occur and is there any way to work around it?


The generated behavioral .do file is being created with the wrong library for simulation testbench files if they are assigned to a different library than the design VHDL files.

The incorrect script will be generated for any 3rd party simulator (for example, VCS, IES, QuestaSim and ModelSim scripts).

In the use case above the "system_tb.vhd" file had been compiled into a library "my_sim_lib".

However, the command in the automatically created  "system_tb_elaborate.do" file was sourcing this in the library "my_VHDL_lib" which is where all of the design files were compiled.

As a result, the "system_tb" was not found resulting in the error message.

To work around this issue, you can do one of the following:

  • Modify the project to include the "system_tb.vhd" in the "my_VHDL_lib" library.
  • Manually run the generated scripts from Vivado in your chosen 3rd party simulator after modifying the automatically created scripts to point to the correct location of the testbench compilation.

AR# 62768
日期 01/16/2015
状态 Archive
Type 已知问题