Skip to content

Releases: nickg/nvc

1.13.3

24 Aug 05:06
r1.13.3
Compare
Choose a tag to compare

This release fixes a number of bugs that were discovered in the 1.13 branch:

  • Type checking was not performed correctly for conversion function actuals in port maps (#945).
  • Fixed a crash with signal aliases inside an instantiated generic package (#946).
  • Fixed random crashes when the simulation heap size is eight gigabytes or larger (#949).
  • Fixed a crash when a constant array with unconstrained element type is initialised with an aggregate (#954).
  • External names in concurrent assertion statements and PSL assertions are now parsed correctly (#952).
  • Several other minor bugs were resolved (#942, #943, #950, #951, #953).

Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, @albydnc, @johonkanen, @ikwzm, and @augustofg for sponsoring me!

1.13.2

11 Aug 10:02
r1.13.2
Compare
Choose a tag to compare

This release fixes a number of bugs that were discovered in the 1.13 branch:

  • Fixed an incorrect bounds check error when a constant declaration has a partially constrained type (#932).
  • Elaboration of large designs on Windows no longer fail with linker errors due to excessive command line length.
  • Fixed a bug which prevented VCD files from being generated on Windows systems using the UCRT runtime library (#637).
  • Fixed a crash when the type of a qualified expression is an unconstrained array-of-array (#934).
  • Fixed random segmentation fault when the simulation heap size is larger than four gigabytes (#935).
  • Fixed an incorrect ambiguous subprogram error when using the 1993 standard and calling a subprogram via a selected name such as ieee.numeric_std."=".

Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, @albydnc, @johonkanen, and @ikwzm for sponsoring me!

1.13.1

25 Jul 12:17
r1.13.1
Compare
Choose a tag to compare

This release fixes a number of bugs that were discovered in 1.13.0:

  • 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).

Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, @albydnc, and @johonkanen for sponsoring me!

1.13.0

13 Jul 09:35
r1.13.0
Compare
Choose a tag to compare

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 (to 8200 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 or impure (#917).

Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, and @albydnc for sponsoring me!

1.12.2

15 May 21:22
r1.12.2
Compare
Choose a tag to compare

This is a minor release with an important compatibility fix for the latest LLVM version.

  • Fixed a crash when 'transaction is used with a record type.
  • Fixed a compatibility issue with LLVM 18 that could cause an illegal instruction exception when the --jit elaboration option is used (#887).

Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, @albydnc, and @ikwzm for sponsoring me!

1.12.1

09 May 19:59
r1.12.1
Compare
Choose a tag to compare

This is a minor bug fix release fixing the following issues:

  • Fixed a crash when a process contains a force or release assignment inside a process (all) statement (#877).
  • Fixed a crash creating a waveform dump with --dump-arrays and the design contains an array-of-array-of-records (#878).
  • Fixed a spurious error when a type declaration from a package generic is used in a port list (#881).
  • Fixed an assertion failure when a procedure declared within a process (all) assigns to a signal (#882).
  • Added a missing check for illegal assignment to external signal name outside a process (#884).
  • Fixed a crash while printing diagnostic information when the simulation delta cycle limit is reached (#885).
  • Generic actuals no longer need to be globally static, which was never required by the LRM (#886).

Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, @albydnc, and @ikwzm for sponsoring me!

1.12.0

07 Apr 09:27
r1.12.0
Compare
Choose a tag to compare

This is a major new release with the following features and bug fixes:

  • The --jit elaboration option no longer requires --no-save.
  • Fixed a crash when subtype bounds depend on a package instance generic (#815).
  • Fixed various issues in the implementation of guarded blocks and disconnection specifications (#829).
  • The --std option now controls which VHDL standard the --install command uses to compile third-party libraries (#836).
  • The prefix of an indexed or slice name now must be another name or function call, as required by the LRM (#835).
  • The implementation of conversions in port maps has been reworked and fixes a number of long-standing issues (#843).
  • Added support for inertial keyword in port maps (#843).
  • Fixed a bug where 'last_value could give the wrong result if the signal has multiple sources.
  • Updated to OSVVM 2023.09a and UVVM 2023.09.16 for nvc --install.
  • The --exit-severity= option now also controls which severity level results in a non-zero exit code (#850).
  • Improvements to waveform dumping for signals with record types or types with non-locally-static bounds (#851, #852).
  • The parameter for attributes with dimensions such as 'length(N) may be any integer type when --relaxed is passed (#862).
  • The default standard version was changed to VHDL-2008.
  • The --vhpi-trace option now implies --vhpi-debug.
  • The bounds of array aggregates are now calculated correctly in several corner cases (#873).
  • Added supported for VHPI foreign subprograms.
  • Resolved several other minor issues (#654, #854, #855, #859, #863).

For Windows users there is a new standalone MSI installer which does not depend on any MSYS2 installation.

As always thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, and @cmarqu for sponsoring me!

1.11.3

04 Feb 10:18
r1.11.3
Compare
Choose a tag to compare

This is a minor bug fix release fixing the following issues:

  • Fixed incorrect effective value when a signal has multiple sources due to port-collapsing optimisation (#824).
  • Signals that appear in aggregate choice expressions like (S downto 0 => '0') are now included in the sensitivity list for concurrent statement equivalent processes, and in process (all) (#825).
  • The direction of aggregates with range choices is now calculated correctly in VHDL-2008 mode (#826).
  • Fixed a memory corruption bug when evaluating certain aggregates that contain a range association (#827).
  • Resolved several other minor issues (#837, #839, #840).

As always thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, @cmarqu, and @ikwzm for sponsoring me!

1.11.2

04 Jan 20:41
r1.11.2
Compare
Choose a tag to compare

This is a minor bug fix release fixing the following issues:

  • Fixed an incorrect length check in the equivalent process for non-static port map actuals (#817).
  • Library file names for design units that contain extended identifiers such as /Foo/ are now encoded in a way that avoids illegal characters and case sensitivity issues on Windows and macOS (#816).
  • Implemented vhpiIsNullP and vhpiIsDiscreteP for ranges.
  • Fixed a crash when an aliased enumeration literal appears in a case choice expression (#819).
  • Fixed calculation of longest static prefix with indexes and slices of a constant array (#820).
  • Fixed a crash during elaboration when simplifying an if-statement that depends on a generate parameter (#821).
  • Increased the limit on the number of subprogram arguments to allow compiling some Lattice IPs (from @sean-anderson-seco).

As always thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, and @cmarqu for sponsoring me!

1.11.1

16 Dec 14:48
r1.11.1
Compare
Choose a tag to compare

This is a minor bug fix release fixing the following issues:

  • Fix crash during elaboration when an if-statement branch is always taken (#812).
  • VHPI plugins can now access types in instantiated packages (from @sean-anderson-seco).
  • The --version output now includes the bare Git commit SHA if the program is built from a shallow clone with no tags (#813).

As always thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, and @a-panella for sponsoring me!