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.
![](https://www.doof.me.uk/wp-content/uploads/2023/04/stream_scale-450x300.jpg)
Stream near Fulborn
Here’s some strange churches I discovered at Swaffam Prior.
![](https://www.doof.me.uk/wp-content/uploads/2023/04/churches_scale-450x300.jpg)
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.
![](https://www.doof.me.uk/wp-content/uploads/2023/04/racecourse_scale-450x300.jpg)
Crossing Newmarket race course
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!