July 14th, 2023
The main focus of this release was VHDL-2019 support. Consult the features page for the current status of each LCS. If there is a VHDL-2019 feature you find particularly useful please raise an issue so it can be prioritised.
This release is signed with my PGP key ID
- The Zstandard compression library is now a build dependency. Install
libzstd-dev or similar.
integer type is now 64-bit in VHDL-2019 mode.
- The VUnit VHDL libraries can now be installed with
nvc --install vunit but please note this does not install the Python infrastructure.
- Updated to OSVVM 2023.05 and UVVM 2023.03.21 for
- Conditional expressions are now allowed in constant, signal, and variable declarations in VHDL-2019 mode.
- Conditional return statements are now supported in VHDL-2019.
- Added support for the “function knows vector size” feature in VHDL-2019.
- Entity ports with variable class and protected type are now supported in VHDL-2019 mode.
- The xpm_vhdl project which provides VHDL models of the Xilinx XPM macros can now be installed with
nvc --install xpm_vhdl.
- Many improvements to the VHPI implementation (from @Forty-Bot).
vhpiDepositPropagate mode is now supported.
- The Synopsys
std_logic_misc package is now compiled for 2008 (#696).
- Fixed an issue where leading
NUL characters in a report message would prevent the entire message being printed (#700).
- Added support for interfaces in VHDL-2019 including mode view declarations, mode view indications, and the
- Added support for VHDL-2008 matching
select? statements (#705).
- Added support for the new
'index attributes in VHDL-2019.
- Implemented the date/time functions from
std.env in VHDL-2019.
- The default exit severity was changed from
failure. This means a failing assertion no longer immediately terminates the simulation. The old behaviour can be restored with
- Comparison operators as well as
maximum functions are now defined for all scalar array types in VHDL-2019.
- Added support for selected signal and variable sequential assignment statements.
-a analysis command now accepts an
-f list option where
list is a text file containing a list of files to analyse. Alternatively this may be written
- Accesses to protected types and files are now allowed in VHDL-2019.
- Fixed a crash when indexing a null array (#734).
- Named and range choices are now supported in aggregate targets of variable and signal assignments (#712).
synopsys.attributes package is no longer distributed or built as part of the standard libraries.
Special thank you to @bpadalino, @tmeissner, @Blebowski, @amb5l, @m42uko, @a-panella, and @ikwzm for sponsoring me!
July 14th, 2023
A few days after my Sheringham outing I walked a bit further along the coast to Cromer with my mum.
Cromer is another traditional seaside resort. On the way there we passed through an area said to be haunted by a supernatural dog that was the inspiration for the Hound of the Baskervilles.
While we were staying in Sheringham we also paid a visit to the local preserved heritage railway line. It was a bit short so I probably wouldn’t recommend riding on it all day.
North Norfolk Railway
June 30th, 2023
My parents were staying in Sheringham for a week recently which was very convenient as I’d been slowly walking in that general direction along the Norfolk coast. So I made a return visit to Burnham Overy Staithe and set off over the sand dunes.
Not long after I started I encountered this swimming race. Except it was low tide or something and in the middle of the river is a large sandbank which forced the swimmers to walk instead. It was mildly entertaining.
A few days later I ended up back at Burnham Overy Staithe again and bought this memento. Apparently it’s one of a number of similar cups commissioned from a local potter with inspiration from the scenery of Burhnam Overy Staithe.
The essence of Burnham Overy Staithe in cup form
For a coastal path there was surprisingly little sight of the sea. Instead there were endless marshes and salt flats. Eventually I ended up in this charming little village Cley-next-the-Sea.
You should always be careful what you wish for, and so my wish to see more of the sea was cruelly granted with a gruelling 5+ mile hike over the pebble beach. I would have gone further inland to find firmer ground but unfortunately the way was blocked by a minefield (I’m not making this up, it’s part of the Muckleburgh Military Collection site). Eventually I reached a path up the cliffs and into Sheringham. Won’t be repeating that section again.
May 31st, 2023
I’ve been wanting to go back and walk along the ridgeway for ages: I haven’t been since 2017. Well I finally made it last weekend and walked westward from Foxhill near Swindon to the Thames at Streatley.
My favourite part is always the neolithic sites at Wayland’s Smithy and Uffington Castle, and truth be told, once I passed those it became a bit of a slog. It was really hot and the sun felt pretty intense with no shade or clouds. After 27 miles of trekking I returned home by rail replacement bus, yay.
May 21st, 2023
I first heard of the Hundred Foot Drain when I walked to Downham Market last year and I’ve wanted to go back and visit it ever since.
The Hundred Foot Drain is clearly longer than 100 feet
It’s an completely straight man-made river dug in the 17th century to drain the surrounding fens, much to the annoyance of the local fen-folk.
The surrounding countryside is mostly below sea level as well as being utterly featureless so predictably after a few miles of walking along the overgrown bank it became interminably dull and I decided to break off and head to the nearby town of March.
Wind farm next to the River Nene
March is a perfectly pleasant market town although I arrived too late to visit the local museum or other attractions. It’s also incidentally the start of the March March march which I might be forced to attempt at some point.
Centre of March
May 13th, 2023
Off on another adventure to the remotest northern part of wildest Norfolk!
I continued along the coast from where I left off in Hunstanton a few months ago. I planned to walk as far as Wells-next-the-Sea but as usually that proved overly optimistic. It took ages to get back to Hunstanton – 50 minutes on the train to Kings Lynn and then another hour on a bus – so I didn’t get started until well after 11. It was also a Sunday which turned out to be a major mistake as the last bus back was at 18:30. I strode briefly onto the sands dunes at Holkham nature reserve several miles from my destination around 17:50 realised there was no way I was going to complete this mission and so retreated to the nearest bus stop at the bizarrely named Burnham Overy Staithe.
Burnham Overy Staithe
I didn’t enjoy this nearly as much as my earlier walk from Kings Lynn to Hunstanton. Despite being near the sea I hardly saw any of it (it’s all marshes) and the scenery was rather featureless and bleak. The occasional fishing villages like the one above were pleasant enough I suppose, although not enough to justify the faffing required to get there and back.
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
April 7th, 2023
This is a major new release with the following changes:
This release is signed with my PGP key ID
- 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.
elsif VHDL-2019 conditional analysis directive now works correctly (#604).
'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
- 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
--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
--without-bash-completion to disable this.
Special thank you to @bpadalino, @tmeissner, @Blebowski, and @amb5l for sponsoring me!
February 27th, 2023
I went for an uneventful walk to Shepreth just south of Cambridge via Granchester Meadows. There was really nothing to report: I’m just recording it here for posterity. But here’s a nice bridge over a ditch:
January 29th, 2023
Ever since my previous outing to Kings Lynn I’ve been itching to try to get all the way to the coast. I decided to head for Hunstanton and get the bus back but there didn’t seem to be an obvious path along the coast. Thankfully I Googled around a bit and found this very helpful post by someone who’d done the same route. Apparently there really is no public right of way and the sea wall is surrounded by menacing PRIVATE KEEP OUT signs. Being of a rather timid disposition and not wanting to get caught trespassing I decided to take the inland route, basically the one described in the last comment. That went through Sandringham (I didn’t bump into the king) and from there out to the sea.
Hunstanton’s claim to fame is that it’s the only town in the east of England where you can watch the sun set over the sea. And I was very lucky on this incredibly clear winter day to experience exactly that!
The sun setting over the sea, a rare sight in East Anglia
As for the town itself it seemed to have all the usual seaside attractions. However I would not recommend visiting after dark in January.