Skip to content

1.15.0

Latest
Compare
Choose a tag to compare
@nickg nickg released this 11 Jan 10:59
· 4 commits to master since this release
r1.15.0

This is a major new release with the following changes:

  • --load is now a global option and should be placed before the -r command. This allows VHPI foreign subprograms to be called during elaboration (#988).
  • The --per-file coverage report option outputs code coverage reports for each source file instead of each instance (#823).
  • The new --check-synthesis analysis option warns when signals are missing from process sensitivity lists.
  • Fixed a crash when a generic subprogram is associated with open (#1025).
  • Added a functional coverage API in nvc.cover_pkg that can be used by external frameworks such as OSVVM to define cover points.
  • Added threshold-<value> option for coverage to set minimal count a coverage bin must reach to be reported as covered.
  • Added a warning for potential infinite loops in processes without sensitivity and lacking any wait statements (from @NikLeberg).
  • Selected names can now be used to register value change callbacks with vhpi_register_cb (#1045).
  • Removed the limit on the maximum number of parameters that can be passed to a VHDL subprogram (#1036).
  • The new --no-save analysis option parses and checks the input files but does not save the working library to disk. This is a replacement for the --syntax top-level command which is now deprecated.
  • The coverage database file name has changed to <toplevel>.ncdb in the current working directory and this can now be customised with the new --cover-file= elaboration option. Attempts to access the old file name inside the library directory will be redirected to the new location, with a warning.
  • Partial association of ports with interface views now works correctly (#1074).
  • Added support for PSL suffix implication, SERE repetition, and SERE fusion.
  • Nested arrays more than two levels deep can now be dumped in FST format (#1071).
  • Added support for package external names (#1072).
  • Fixed parser hang for bit string literals (from @NikLeberg).
  • Fixed a crash on an illegal package definition inside an interface.
  • Comping the Vivado vendor libraries with nvc --install vivado is now around 2x faster and analysing files with many dependencies is up to an order of magnitude faster (#1098).
  • The --jit elaboration mode now works on Windows-on-Arm systems.
  • vhpi_assert now behaves the same as VHDL assert for the purposes of determining the simulation exit code and early termination (#1060).
  • The 'driving_value attribute now works correctly with record types.
  • Added basic support for 'instance_name, 'path_name and 'simple_name attributes of generate block labels (from @NikLeberg) (#1125).
  • Comments are now parsed correctly inside PSL directives (#1129).
  • Updated to OSVVM 2024.11 and UVVM 2024.10.08 for nvc --install.
  • Several other minor bugs were resolved (#1038, #1057, #1067. #1124).

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