Download: nvc-1.13.1.tar.gz
This release is signed with my PGP key ID 74319F1A
: nvc-1.13.1.tar.gz.sig
This is a major new release with a large number of improvements and bug fixes:
- Type and package generics now work correctly with components and configurations (#883).
- Fixed a crash when a matching
case?
alternative contains multiple choices (#890). - Implemented VHPI support for package declarations and
vhpiPackInsts
iterators (#891). - Signatures in attribute names are now parsed correctly (#892).
- Attribute specifications for
all
are now parsed correctly (#889). - Predefined
"="
and"/="
operators are no longer declared for file types. - Alias of packages now work correctly (#893).
- Stricter checking of identifiers to reject those with multiple consecutive underscores or trailing underscores (from @typingArtist).
- Stricter checking for subprograms, deferred constants, and protected types referenced before their corresponding body or full declaration.
- Decimal physical literals like
8.2 ms
are now correctly rounded (to8200 us
in this case) when they are converted to the base unit (#899). - External names can now be passed as
signal
actuals to subprograms (#900). - Fixed a crash when branch coverage is enabled and an if-statement contains a
return
(#903). - The
NVC_CONCURRENT_JOBS
environment variable can be used to scale the number of worker threads NVC creates based on the number of concurrently executing simulations. - Fixed a crash when certain attributes such as
'val
are used in the target of a signal assignment statement (#908). - Signals in packages are now dumped to the FST file (#901).
- Function interface declarations can now be
pure
orimpure
(#917).
As I was a bit tardy in putting out a blog post, here is a bonus maintenance release:
- Windows installer was missing some standard library files.
- Fixed a regression where generics and ports could not be referenced in external names (#921).
- Fixed a crash when an unconstrained port with a default value is associated with
open
. - Fixed a duplicate symbol linker error with some uses of the
'delayed
attribute. - Fixed a crash when an aliased subprogram is matched by a generic subprogram
<>
(#924) - Fixed a crash when a generic package containing a subprogram is passed to an entity package generic (#925).
- Fixed an intermittent "failed to suspend thread" fatal error on macOS (#922).
- Fixed a crash when a shared variable is declared inside a instantiated generic package in 2019 mode (#923).
- Fixed a crash when a port with unconstrained array-of-record type is associated with a signal that has a static subtype.
- Fixed incorrect longest static prefix calculation for array slices containing
'length
,'left
,'right
and similar attributes (#930). - Fixed wrong result when slicing a generic that has an unconstrained array type (#931).
The latest release can always be found on the GitHub releases page.
Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, @albydnc, and @johonkanen for sponsoring me!