This is a major new release with the following changes:
This release is signed with my PGP key ID
- Code generation has been rewritten to enable faster elaboration and “just-in-time” compilation in the future.
- Now compatible with LLVM 16.
- Implemented the VHDL-2019 call path reporting API.
elsifVHDL-2019 conditional analysis directive now works correctly (#604).
'transactionimplicit signal no longer incurs a delta-cycle delay.
x'ascendingnow reports the correct result if
xhas unconstrained array type and null range.
- The predefined
"="operator on record types now always uses the predefined equality comparison for fields even in the presence of a user-defined
- It is no longer necessary on Windows to link VHPI plugins at elaboration time with
NVC_FOREIGN_OBJ. Use the
--loadoption to load the plugin at run time as on other operating systems.
- The experimental
--jitelaboration option defers native code generation until run time. This can dramatically reduce total test time for short-running simulations.
- Statements like
wait for Xwhere
Xis negative but not a constant now produce an error at run time (#633).
- NVC is now supported by VUnit.
- Implicit signal attributes like
'transactionare now considered static signal names (#640).
- Added support for fine-grained coverage collection via
--coverage-specelaboration option (from @Blebowski).
- The ABI for passing unconstrained arrays to foreign subprograms changed slightly, see the manual for details.
- Implemented new file I/O operations from VHDL-2019.
- Added analysis option
--defineto set user-defined conditional analysis identifiers (from @Blebowski).
- Optional support for using ZSTD to compress library files if
- ISO-8859-1 extended characters are now handled properly in identifiers and when printing to the terminal.
- The new
--disable-default-pathsdisables the default library search paths (#652).
- Subtype indications used as case range choices no longer crash during analysis (#655).
- The default standard version was changed to VHDL-2002 and will likely change again to -2008 in a future release. Users are recommended to use the
--std=option to specify an explicit standard revision to avoid any compatibility issues.
- Fixed a crash when elaborating a port map which contains a subtype of a record (#662).
- Implemented VHDL-2019 syntax relaxations for empty records and trailing semicolon in interface lists (from @bpadalino).
- A Bash auto-completion script is now installed by default. Run
--without-bash-completionto disable this.
Special thank you to @bpadalino, @tmeissner, @Blebowski, and @amb5l for sponsoring me!