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:
AR# 62768 | |
---|---|
日期 | 01/16/2015 |
状态 | Archive |
Type | 已知问题 |
Tools |