[ Content | Sidebar ]

Archives for July, 2023

New NVC version 1.10.0

July 14th, 2023

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 with vhpiDepositPropagate 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 to failure. 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 where list 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!

Filed in vhdl - Comments closed


July 14th, 2023

A few days after my Sheringham outing I walked a bit further along the coast to Cromer with my mum.

Cromer is another traditional seaside resort. On the way there we passed through an area said to be haunted by a supernatural dog that was the inspiration for the Hound of the Baskervilles.

Cromer pier

While we were staying in Sheringham we also paid a visit to the local preserved heritage railway line. It was a bit short so I probably wouldn’t recommend riding on it all day.

North Norfolk Railway