[ Content | Sidebar ]

Archives for April, 2023


April 10th, 2023

I set out on a quest to Newmarket last weekend but the direct route suffered from a lack of footpaths so I went this very round-about way and arrived quite late.

I would recommend skipping the first part up to Fulbourn: not Cambridge’s most interesting suburbs. But after that the scenery was great, definitely the east is where all the region’s nice countryside is.

Stream near Fulborn

Here’s some strange churches I discovered at Swaffam Prior.

Unusual pair of churches at Swaffham Prior

Finally I crossed the famous Newmarket race course. Quite literally cross the course at one point as the path apparently ran across it, although the whole place was deserted at the time.

Crossing Newmarket race course

New NVC version 1.9.0

April 7th, 2023

This is a major new release with the following changes:

Download: nvc-1.9.0.tar.gz

This release is signed with my PGP key ID 74319F1A: nvc-1.9.0.tar.gz.sig

  • 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.
  • The elsif VHDL-2019 conditional analysis directive now works correctly (#604).
  • The 'transaction implicit signal no longer incurs a delta-cycle delay.
  • x'ascending now reports the correct result if x has 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 "=" operator.
  • It is no longer necessary on Windows to link VHPI plugins at elaboration time with NVC_FOREIGN_OBJ. Use the --load option to load the plugin at run time as on other operating systems.
  • The experimental --jit elaboration option defers native code generation until run time. This can dramatically reduce total test time for short-running simulations.
  • Statements like wait for X where X is negative but not a constant now produce an error at run time (#633).
  • NVC is now supported by VUnit.
  • Implicit signal attributes like 'transaction are now considered static signal names (#640).
  • Added support for fine-grained coverage collection via --coverage-spec elaboration 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 --define to set user-defined conditional analysis identifiers (from @Blebowski).
  • Optional support for using ZSTD to compress library files if libzstd-dev is installed.
  • ISO-8859-1 extended characters are now handled properly in identifiers and when printing to the terminal.
  • The new configure option --disable-default-paths disables 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 configure with --without-bash-completion to disable this.

Special thank you to @bpadalino, @tmeissner, @Blebowski, and @amb5l for sponsoring me!

Filed in vhdl - Comments closed