You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've had this bug report lying around since the 18th November of 2020 so this might've been fixed. If that's the case then just trash this issue. The version of VUnit used was fairly updated as of the writing of the bug report.
VUnit in combination with Questa simulator seem to miss package depencies.
The issue occurs when you have a package in a different library than the using entity/package.
If you only use full path references when using the functions in the package without having a use-clause, the dependency is not picked up.
This will cause a compilation error when the using package/entity is compiled before the dependency.
A code example explains it better than text.
Library foo:
Package foo_pkg is
Procedure p_foo (constant p : in string);
End package;
Package body foo_pkg is
Procedure p_foo (constant p : in string) is
Begin
Report p;
End procedure;
End package body;
Library bar:
Library foo;
Package bar_pkg is
Procedure p_bar(constant p : in string);
End package;
Package body bar_pkg is
Procedure p_bar(constant p : in string) is
Begin
-- This is not picked up as a dependency
Foo.foo_pkg.p_foo(p)
End procedure;
End package body;
The text was updated successfully, but these errors were encountered:
Correct, this is one of the simplifications we have made to avoid falling too deep into the VHDL parsing rabbit hole. The workaround is to add use foo.foo_pkg; to bar_pkg. In the future we may switch to using some external and fast open source parser that will support this. Parser requests unlikely to be solved unless that happens (like this one) are closed and collected in #1080.
I've had this bug report lying around since the 18th November of 2020 so this might've been fixed. If that's the case then just trash this issue. The version of VUnit used was fairly updated as of the writing of the bug report.
VUnit in combination with Questa simulator seem to miss package depencies.
The issue occurs when you have a package in a different library than the using entity/package.
If you only use full path references when using the functions in the package without having a use-clause, the dependency is not picked up.
This will cause a compilation error when the using package/entity is compiled before the dependency.
A code example explains it better than text.
The text was updated successfully, but these errors were encountered: