-
Notifications
You must be signed in to change notification settings - Fork 250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot use externally compiled OSVVM as external library #754
Comments
Can you provide the part of your run script adding OSVVM? |
where |
It seems that the I should probably also mention that I am using the OsvvmLibraries repository version 2021.02, and compiling using the OsvvmLibraries.pro script in that repository. |
The physical_name parameter of the
VUnit supports only 1), whereas OSVVM when compiled using the included scripts requires 2). |
@LarsAsplund IntentionOSVVM intends for the VHDL libraries to be in subdirectories with the library name as part of the directory name. What the simulator doesIn Riviera-PRO, it appears when the intended library directory name is of the form "library.lib" it decides this is instead a file name. OSVVM ResolutionI am in the process of testing a modification that drops the ".lib" extension from library directories. I should be pushing it to the dev branch shortly. |
@JimLewis Great! @as266 An option is also to compile everything from source from glob import glob
osvvm = vu.add_library("osvvm")
osvvm_common = vu.add_library("osvvm_common")
osvvm_uart = vu.add_library("osvvm_uart")
osvvm_axi4 = vu.add_library("osvvm_axi4")
# Can't compile all OSVVM files since some depends on simulator. This compile everything except Cadence related files
osvvm_files = [file for file in glob("path/to/osvvm/*.vhd") if not file.endswith("_c.vhd")]
osvvm.add_source_files(osvvm_files)
# The rest are straight-forward
osvvm_uart.add_source_files("path/to/uart/src/*.vhd")
osvvm_common.add_source_files("path/to/common/src/*.vhd")
osvvm_axi4.add_source_files("path/to/axi/**/src/*.vhd") When I update VUnit to latest OSVVM you can remove manual OSVVM compilation and just do |
@LarsAsplund I tried that approach in https://github.com/umarcor/osvb/blob/main/AXI4Stream/test/osvvm/run.py.
A solution that involves reading |
@umarcor What happens if we have the latest OSVVM as a submodule and that is included with |
@LarsAsplund, see #767. |
According to OSVVM/OsvvmLibraries#8, this should be fixed in the next OSVVM release. Let's keep this issue open in order to remember bumping the submodule. |
OSVVM 2021.10 was released. @JimLewis @as266 can you please confirm that both this issue and OSVVM/OsvvmLibraries#8 can be closed? |
.lib extension is gone in 2021.10, however, I have not tested with VUnit. |
@umarcor, OsvvmLibraries release 2021.10 has fixed this issue |
Hi,
I am unable to use an externally compiled version of OSVVM as an external library. This includes the base osvvm library, but also other OSVVM libraries that are not distributed with VUnit (specifically the osvvm_axi4 library).
When running the run.py script it seems to successfully add the external libraries, but then errors when it comes to compile the testbench that uses the library:
COMP96 ERROR COMP96_0059: "Library "osvvm" not found."
This only seems to be a problem with OSVVM libraries; other external libraries work fine. This error also disappears if
vu.add_osvvm()
is used instead of trying to use the external library, but a similar error is still present for other OSVVM external libraries:COMP96 ERROR COMP96_0059: "Library "osvvm_axi4" not found."
Including both
add_osvvm()
and the external library predictably results in a name clash when run.py is run:ValueError: Library osvvm already exists
I am using:
The text was updated successfully, but these errors were encountered: