verilator-announce icon indicating copy to clipboard operation
verilator-announce copied to clipboard

Verilator 5.020 2024-01-01 Released

Open wsnyder opened this issue 1 year ago • 4 comments

Verilator 5.020 2024-01-01

Major:

  • Support compilation with precompiled headers with Make and GCC or CLang.
  • Change include to systemc instead of systemc.h (verilator/verilator#4622) (verilator/verilator#4623). [Chih-Mao Chen] This may require that SystemC programs add 'using namespace sc_core', 'using namespace sc_dt'.

Minor:

  • Add devcontainer support (verilator/verilator#4748). [Stefan Wallentowitz]
  • Support iff in sensitivity list (verilator/verilator#1482) (verilator/verilator#4626). [Krzysztof Bieganski, Antmicro Ltd.]
  • Support parameterized virtual interfaces (verilator/verilator#4047) (verilator/verilator#4743). [Ryszard Rozak, Antmicro Ltd.]
  • Support --timing triggers for virtual interfaces (verilator/verilator#4673). [Krzysztof Bieganski, Antmicro Ltd.]
  • Support ccache when compiling Verilator with CMake (verilator/verilator#4678). [Anthony Donlon]
  • Support passing constraints to --xml-only output (still otherwise unsupported) (verilator/verilator#4683). [Shahid Ikram]
  • Support node memory usage information in --stats (verilator/verilator#4684). [Geza Lore]
  • Support vpiConstType in vpi_get() (verilator/verilator#4761). [Todd Strader]
  • Support vpi_iterate on packages with vpiInstance (verilator/verilator#4726). [Todd Strader]
  • Support multiple parameters in virtual interfaces (verilator/verilator#4745). [Ryszard Rozak, Antmicro Ltd.]
  • Support user C/C++ code in final archive, and make a lib{model}.a (verilator/verilator#4749) (verilator/verilator#4754). [Fan Shupei]
  • Support inside operator on unpacked arrays and queues (verilator/verilator#4751). [Ryszard Rozak, Antmicro Ltd.]
  • Support VPI parameter iteration (verilator/verilator#4765). [Todd Strader]
  • Support packages in vpi_handle_by_name() (verilator/verilator#4768). [Todd Strader]
  • Support invoking interface methods on virtual interface variables (verilator/verilator#4774) (verilator/verilator#4775). [Jordan McConnon]
  • Remove deprecated options (verilator/verilator#4663). [Geza Lore]
  • Remove older compiler support; require C++14 or newer (verilator/verilator#4784) (verilator/verilator#4786).
  • Optimize timing-delayed queue (verilator/verilator#4584). [qrqiuren]
  • Optimize substitute optimization memory usage (verilator/verilator#4687). [Geza Lore]
  • Optimize wide primitive operations with -Oz (verilator/verilator#4733). [Geza Lore]
  • Optimize V3Premit performance etc. (verilator/verilator#4736). [Geza Lore]
  • Fix VPI TOP level variable iteration (verilator/verilator#3919) (verilator/verilator#4618). [Marlon James]
  • Fix display with no % printing assoc array (verilator/verilator#4376). [Alex Solomatnikov]
  • Fix scheduling of external force signals (verilator/verilator#4577) (verilator/verilator#4668). [Geza Lore]
  • Fix a memory leak in V3Fork (verilator/verilator#4628). [Krzysztof Boroński]
  • Fix linking parameterized hierarchical blocks and recursive hierarchical blocks (verilator/verilator#4654). [Anthony Donlon]
  • Fix identifiers that end with '_' on Windows (verilator/verilator#4655). [Anthony Donlon]
  • Fix 'for' loop with outside variable reference (verilator/verilator#4660). [David Harris]
  • Fix tracing FST enums (verilator/verilator#4661) (verilator/verilator#4756). [Todd Strader]
  • Fix interface parameters used in loop generate constructs (verilator/verilator#4664) (verilator/verilator#4665). [Anthony Donlon]
  • Fix C++20 compilation errors (verilator/verilator#4670).
  • Fix deadlocks in error handler (verilator/verilator#4672). [Mariusz Glebocki, Antmicro Ltd.]
  • Fix MingW compilation (verilator/verilator#4675). [David Ledger]
  • Fix trace when using SystemC with certain configurations (verilator/verilator#4676). [Anthony Donlon]
  • Fix range access to classes depending on parameter resolution (verilator/verilator#4681). [Krzysztof Boroński]
  • Fix select into constant And/Or/Xor pattern (verilator/verilator#4689). [Geza Lore]
  • Fix access type of function arguments (verilator/verilator#4692) (verilator/verilator#4694). [Ryszard Rozak, Antmicro Ltd.]
  • Fix dynamic NBAs with automatic vars (verilator/verilator#4696). [Krzysztof Bieganski, Antmicro Ltd.]
  • Fix # 0 delays for process resumption, etc. (verilator/verilator#4697). [Krzysztof Boroński]
  • Fix conflicted namespace for coroutines (verilator/verilator#4701) (verilator/verilator#4707). [Jinyan Xu]
  • Fix compilers seeing empty input due to file system races (verilator/verilator#4708). [Flavien Solt]
  • Fix shift of > 32-bit number (verilator/verilator#4719). [Flavien Solt]
  • Fix Windows include gates in filesystem Flush implementation. (verilator/verilator#4720). [William D. Jones]
  • Fix power operator with wide numbers and constants (verilator/verilator#4721) (verilator/verilator#4763). [Flavien Solt]
  • Fix parameter passing to ports (verilator/verilator#4723). [Ryszard Rozak, Antmicro Ltd.]
  • Fix block names of nested do..while loops (verilator/verilator#4728). [Ryszard Rozak, Antmicro Ltd.]
  • Fix class name in error on 'new' on virtual class (verilator/verilator#4739). [Ryszard Rozak, Antmicro Ltd.]
  • Fix typedefs pointing to parameterized classes (verilator/verilator#4747). [Ryszard Rozak, Antmicro Ltd.]
  • Fix $finish twice to no longer exit (verilator/verilator#4757). [Tim Hutt]
  • Fix dynamic NBA conditions (verilator/verilator#4773). [Krzysztof Bieganski, Antmicro Ltd.]
  • Fix V3Fork stage to run only if --timing is set (verilator/verilator#4778). [Krzysztof Bieganski, Antmicro Ltd.]
  • Fix max multiply width and add runtime assertions if too small. (verilator/verilator#4781)

wsnyder avatar Jan 01 '24 08:01 wsnyder

Verilator is great and I use it all the time and it is critical for my project. Thanks again to all of you on the verilator team.

I am running Ubuntu. $ uname -srvo Linux 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2 GNU/Linux

My verilator install is from August 2020, so I followed your instructions to update on Ubuntu on your web page: $ sudo apt-get update ... $ sudo apt-get install verilator ... verilator is already the newest version (4.038-1).

As you can see, that's hardly the latest version.

Daniel

On Mon, Jan 1, 2024 at 12:49 AM Wilson Snyder @.***> wrote:

Verilator 5.020 2024-01-01

Major:

Minor:

— Reply to this email directly, view it on GitHub https://github.com/verilator/verilator-announce/issues/66, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAL6XGIOBV5CT5542FTRC3YMJ2CRAVCNFSM6AAAAABBI3UD5WVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA3DCNBSGE4TSMA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

dsw avatar Jan 03 '24 01:01 dsw

@dsw packaging in Ubuntu repositories is the responsibility of the Ubuntu maintainers. If you want to update to the most recent version you should follow the instructions in the Verilator documentation to build from source.

andrewpeck avatar Jan 03 '24 01:01 andrewpeck

I just thought you might want to know. I suppose the Ubuntu maintainers have not noticed in several years. I don't know any of them or I would ping them.

On Tue, Jan 2, 2024 at 5:48 PM Andrew Peck @.***> wrote:

@dsw packaging in Ubuntu repositories is the responsibility of the Ubuntu maintainers. If you want to update to the most recent version you should follow the instructions in the Verilator documentation to build from source.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

dsw avatar Jan 03 '24 01:01 dsw

@dsw Verilator, just like almost all other packages, do not get version updates in a stable release of a distribution like Ubuntu (even though in the case of Ubuntu 22.04 the version was already old by the April 2022).

You can find the package maintainer contacts at https://packages.ubuntu.com/search?keywords=verilator, then choose the version you're using, i.e. https://packages.ubuntu.com/jammy/verilator

In case of Verilator, the packaging is done by the Debian Electronics team, and Ubuntu imports those packages. https://alioth-lists.debian.net/pipermail/pkg-electronics-devel/2024-January/thread.html is the place to discuss the packaging and to help out (it's actually not that hard and a great way to get started as a contributor!)

imphil avatar Jan 03 '24 08:01 imphil