This is a major new release with much improved support for VHDL-2019. Consult the features page for the current status of each LCS. This release also brings full support for cocotb!
Download: nvc-1.11.0.tar.gz
This release is signed with my PGP key ID 74319F1A
: nvc-1.11.0.tar.gz.sig
- New command
--cover-export
exports coverage data in the Cobertura XML format which is supported by most CI environments such as GitLab. - Generics on internal instances can now be overridden with the
-g
elaboration option. For example-g uut.value=42
. - Implemented the
'reflect
attribute and associated protected types from VHDL-2019. - Added support for VHDL-2019 sequential block statements.
- Implemented the VHDL-2019 directory I/O functions in
std.env
. - Added VHDL-2019 assert API (with @Blebowski).
- Implemented
'image
,'value
andto_string
for composite types in VHDL-2019. - Implemented the “closely related record types” feature from VHDL-2019.
- Implemented the “composition with protected types” feature from VHDL-2019.
- The new
--shuffle
option runs processes in a random order which can help to identify code that depends on a particular execution order. - Updated to OSVVM 2023.07 for
nvc --install
. - Various enhancements and fixes to the VHPI implementation.
- Implemented the VHDL-2019 changes to
instance_name
andpath_name
for protected type variables. - VHPI error messages are no longer reported as diagnostic messages on the console. The new
--vhpi-debug
option restores the old behaviour. - Support for type conversions between arrays with closely related element types.
- Added support for FSM state coverage collection (from @Blebowski).
- An alias of a type now correctly creates implicit aliases for each predefined operator of that type (#776).
- Improve overload resolution where a partial named association implies the formal parameter must be an array (#793).
- Handling of implicit conversion for universal types has been reworked to better comply with the LRM.
- Fixed a crash when string literal characters have a type which is an alias to another type (#801).
- Added a warning when calling the predefined
"="
and"/="
operators on arrays and the left and right hand sides have different lengths. - Expressions like
abs(x)**2.0
are now parsed correctly (#805).
Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @nv-h for sponsoring me!