While running a behavioral simulation using the generated simulation scripts from Vivado, I receive an error similar to the following:
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: