The main focus of this release was VHDL-2019 support. Consult the features page for the current status of each LCS. If there is a VHDL-2019 feature you find particularly useful please raise an issue so it can be prioritised.
Download: nvc-1.10.0.tar.gz
This release is signed with my PGP key ID 74319F1A
: nvc-1.10.0.tar.gz.sig
- The Zstandard compression library is now a build dependency. Install
libzstd-dev
or similar. - The
integer
type is now 64-bit in VHDL-2019 mode. - The VUnit VHDL libraries can now be installed with
nvc --install vunit
but please note this does not install the Python infrastructure. - Updated to OSVVM 2023.05 and UVVM 2023.03.21 for
nvc --install
. - Conditional expressions are now allowed in constant, signal, and variable declarations in VHDL-2019 mode.
- Conditional return statements are now supported in VHDL-2019.
- Added support for the “function knows vector size” feature in VHDL-2019.
- Entity ports with variable class and protected type are now supported in VHDL-2019 mode.
- The xpm_vhdl project which provides VHDL models of the Xilinx XPM macros can now be installed with
nvc --install xpm_vhdl
. - Many improvements to the VHPI implementation (from @Forty-Bot).
vhpi_put_value
withvhpiDepositPropagate
mode is now supported.- The Synopsys
std_logic_misc
package is now compiled for 2008 (#696). - Fixed an issue where leading
NUL
characters in a report message would prevent the entire message being printed (#700). - Added support for interfaces in VHDL-2019 including mode view declarations, mode view indications, and the
'converse
attribute. - Added support for VHDL-2008 matching
select?
statements (#705). - Added support for the new
'designated_subtype
and'index
attributes in VHDL-2019. - Implemented the date/time functions from
std.env
in VHDL-2019. - The default exit severity was changed from
error
tofailure
. This means a failing assertion no longer immediately terminates the simulation. The old behaviour can be restored with--exit-severity=error
. - Comparison operators as well as
minimum
/maximum
functions are now defined for all scalar array types in VHDL-2019. - Added support for selected signal and variable sequential assignment statements.
- The
-a
analysis command now accepts an-f list
option wherelist
is a text file containing a list of files to analyse. Alternatively this may be written@list
. - Accesses to protected types and files are now allowed in VHDL-2019.
- Fixed a crash when indexing a null array (#734).
- Named and range choices are now supported in aggregate targets of variable and signal assignments (#712).
- The
synopsys.attributes
package is no longer distributed or built as part of the standard libraries.
Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, and @ikwzm for sponsoring me!