Skip to content

verilator-bin 5.052

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Sep 15:17
· 19 commits to main since this release

Automated build of verilator-bin 5.052.

Upstream: https://github.com/verilator/verilator/releases/tag/v5.052

Upstream changes

Verilator 5.052 2026-09-05

Important:

  • Verilator now supports UVM 2020-3.2; see (#1538) for limitations.

Other:

  • Add comments as a branch description in coverage .info files (#7843). [Eryk Szpotanski]
  • Add --enable-light-debug configure option (#7886). [Geza Lore, Testorrent USA, Inc.]
  • Add user-provided DPI-C function declarations (#7626) (#7893). [Jakub Michalski]
  • Add error on static virtual functions (#7932). [Igor Zaworski, Antmicro Ltd.]
  • Add error when scalar is passed to array task argument (#7948). [Pawel Klopotek]
  • Add MULTIDRIVENPROC warning for signals driven by multiple plain always blocks (#7968). [Aisha]
  • Add FSM arc and state coverage to verilator_coverage .info output (#7972) (#7973). [Igor Zaworski, Antmicro Ltd.]
  • Add SIMILARNAME warning when variables have names that differ in case (#7992) (#8020) (#8186) (#8226) (#8233). [Paul Campbell]
  • Add Unigen2 constrained randomization algorithm (#8042). [Jakub Wasilewski, Antmicro Ltd.]
  • Add +verilator+assert+lock to ignore RTL assert control statements (#8086). [Sumanth Kadiyala]
  • Add NEVERMATCH warning when an SVA sequence can never match (#8176) (#8183). [Artur Bieniek, Antmicro Ltd.]
  • Remove and deprecate --assert-unroll-limit. (#8096). [Artur Bieniek, Antmicro Ltd.]
  • Support embedded covergroup member references (#7749) (#8015). [Marco Bartoli]
  • Support a sequence used as an event control (#7797) (#7846). [Yilou Wang]
  • Support [\*N:$] consecutive repetition (#7940). [Artur Bieniek, Antmicro Ltd.]
  • Support dynamic containers in unique constraints (#7947). [Adam Kostrzewski, Antmicro Ltd.]
  • Support delayed tristate gates (#7960) (#7961). [Patrick Creighton]
  • Support default clocking (#7984). [Kamil Danecki, Antmicro Ltd.]
  • Support embedded covergroup clocking events (#8028). [Marco Bartoli]
  • Support weak/strong keywords in property expressions (#8054). [Artur Bieniek, Antmicro Ltd.]
  • Support class handle covergroup arguments (#8071). [Marco Bartoli]
  • Support soft foreach constraints (#8174). [Kamil Danecki, Antmicro Ltd.]
  • Support overlong within sequences as never-matching (#8177). [Artur Bieniek, Antmicro Ltd.]
  • Support covergroup/function/task (ref/virtual/array) interface arguments (#8180). [Marco Bartoli]
  • Support covergroup events with reference members or ref arguments (#8201). [Marco Bartoli]
  • Support s_until/s_until_with in property expression (#8220). [Artur Bieniek, Antmicro Ltd.]
  • Support solve before with associative array (#8232). [Kamil Danecki, Antmicro Ltd.]
  • Optimize random initialization. [Geza Lore, Testorrent USA, Inc.]
  • Optimize more always blocks in DFG (#7775). [Geza Lore, Testorrent USA, Inc.]
  • Optimize assertion NFAs using bit-vector ring buffers (#7885). [Artur Bieniek, Antmicro Ltd.]
  • Optimize circular logic in DFG (#7902). [Geza Lore, Testorrent USA, Inc.]
  • Optimize VPI symbol registration and scope construction (#7936). [Nick Brereton]
  • Optimize bounded always properties using ring buffers (#8061) (#8092). [Artur Bieniek, Antmicro Ltd.]
  • Optimize VL_WORDS_I/VL_BYTES_I (#8095). [Geza Lore, Testorrent USA, Inc.]
  • Optimize consecutive and goto repetitions using ring buffers (#8096). [Artur Bieniek, Antmicro Ltd.]
  • Optimize temporary insertion for single bit replicates in DFG (#8110). [Geza Lore, Testorrent USA, Inc.]
  • Optimize mtask coarsening in multi-threaded scheduling (#8120). [Geza Lore, Testorrent USA, Inc.]
  • Optimize NFA delay-ring edge traversal, drop complexity to linear (#8145). [Artur Bieniek, Antmicro Ltd.]
  • Optimize associative constant patterns to fixed point (#8147) (#8209). [Geza Lore, Testorrent USA, Inc.]
  • Fix procedural tristate assignment overrides (#6785) (#8130). [Eddie Rydell]
  • Fix $finish continuing event loop (#7267) (#7950). [Artur Bieniek, Antmicro Ltd.]
  • Fix continuing on wait(0) (#7372) (#8231). [Szymon Gizler, Antmicro Ltd.]
  • Fix $display accepting streaming concat arguments (#7663) (#7890). [Jaeuk Lee]
  • Fix typedef clocking input sampling (#7688 partial) (#8204). [Marco Bartoli]
  • Fix DFG misoptimizing bound checks (#7755). [Jakub Michalski]
  • Fix unique0 case side effects (#7787). [Pawel Klopotek]
  • Fix mid-window disable iff (#7792) (#7869). [Yilou Wang]
  • Fix cleaning purity cache after assertions. [Geza Lore, Testorrent USA, Inc.]
  • Fix uncaught type error leading to invalid C++ output (#7814). [Geza Lore, Testorrent USA, Inc.]
  • Fix internal error for coverpoints that reference a covergroup formal parameter (#7853 partial) (#7889). [Matthew Ballance]
  • Fix immediate disable of fork join branches (#7856) (#7931). [Marco Bartoli]
  • Fix self-disable of named blocks with forks (Part of #7857) (#7996) (#8006). [Marco Bartoli]
  • Fix clang++ ambiguous overload of '==' operator (#7863). [Pawel Kojma, Antmicro Ltd.]
  • Fix heap-use-after-free in VlRNG::VlRNG() (#7865). [Dragon-Git]
  • Fix mixed-width inside and dist range bounds failing randomization (#7875). [Yilou Wang]
  • Fix solve-before over array variables failing randomization (#7876). [Yilou Wang]
  • Fix scoped randomize with array members under rand_mode (#7877). [Yilou Wang]
  • Fix dist constraint on a frozen variable failing randomization (#7878). [Yilou Wang]
  • Fix range delays with parameter bounds (#7882). [Artur Bieniek, Antmicro Ltd.]
  • Fix --coverage on labeled inline assert/cover property (#7898) (#7904). [Patrick Creighton]
  • Fix memory leak in VerilatedFst::close() (#7899). [Jakub Michalski]
  • Fix spurious FSM COVERIGN on comparisons (#7900) (#7908). [Yogish Sekhar]
  • Fix release of forced port nets (#7901) (#7907). [Artur Bieniek, Antmicro Ltd.]
  • Fix independent force of multiply instantiated signals (#7905). [Artur Bieniek, Antmicro Ltd.]
  • Fix scheduling of variables written in non-inlined functions in suspendable processes (#7909). [Igor Zaworski, Antmicro Ltd.]
  • Fix randomization of unreferenced rand members of unpacked structs (#7910) (#7911). [Philip Axer]
  • Fix VL_TO_STRING function for array of structs (#7912). [Kornel Uriasz, Antmicro Ltd.]
  • Fix queues falling into wrong template spec (#7914). [Adam Kostrzewski, Antmicro Ltd.]
  • Fix type resolution when a local name shadows a type name (#7915). [Pawel Klopotek]
  • Fix crash streaming an unpacked array of unpacked structs (#7917). [Nick Brereton]
  • Fix streaming concat as output-port lvalue into unpacked struct (#7918). [Nick Brereton]
  • Fix dropping variable writes across opaque calls (#7921) (#7933). [Philip Axer]
  • Fix dynamic array handling in solve...before (#7922). [Kornel Uriasz, Antmicro Ltd.]
  • Fix unlinked error with function call in derived class parameter (#7923). [Mateusz Gancarz, Antmicro Ltd.]
  • Fix scheduling of variables written in non-inlined functions in suspendable processes (#7924). [Igor Zaworski, Antmicro Ltd.]
  • Fix class parameter resolution (#7935).
  • Fix FSM detection of coverage-only branches (#7941) (#7942). [Patrick Creighton]
  • Fix use-after-free in V3LinkDotIfaceCapture (#7943). [Nick Brereton]
  • Fix sampled-value clocks in repeated assertions (#7944). [Artur Bieniek, Antmicro Ltd.]
  • Fix queued $finish/$stop request thread ordering (#7946 prep) (#7952). [Yilou Wang]
  • Fix NFA assertion scheduling to fix outcome counts (#7946). [Yilou Wang]
  • Fix DFG nested shifts with overflowing shift amount (#7955) (#7977).
  • Fix timing controls in interface tasks called via virtual interface (#7959). [Yilou Wang]
  • Fix lambda parameter types in queue min and max (#7962). [Bartosz Skorowski]
  • Fix solve-before dropping all soft constraints in randomize() (#7963). [Yilou Wang]
  • Fix generic interface param resolution in module/cell parameterization (#7970) (#7971). [David Garau]
  • Fix lost writes when select width exceeds variable width (#7975). [Bartosz Skorowski]
  • Fix $fgets being mis-optimized away (#7976). [G-A. Kamendje]
  • Fix SYNCASYNCNET false positive with changed non-edge logic (#7980). [Oron Port]
  • Fix variable scope in unique on dynamic array (#7981). [Kornel Uriasz, Antmicro Ltd.]
  • Fix table optimization causing not contextually convertible to bool error (#7983). [Jakub Michalski]
  • Fix wait fork trigger temporary split across generated functions (#7985) (#7986). [Marco Brambilla]
  • Fix randc cycling in a class that also uses solve...before (#7991 partial) (#8055). [Yilou Wang]
  • Fix solver session stability to avoid breaking randomize (#7991 partial). [Yilou Wang]
  • Fix simulation hang when the solver stops answering (#7991 partial) (#8129) (#8136). [Yilou Wang]
  • Fix randomize() with a user variable named 'item' (#7993) (#7994).
  • Fix UNSATCONSTR reporting constraint indices above 9 (#7995). [Yilou Wang]
  • Fix MULTIDRIVEN/MULTIDRIVENPROC warning suppression via lint_off (#8000). [Gilberto Abram]
  • Fix force not substituted into an unpacked array index (#8002).
  • Fix dist weights ignored when an item is not a literal (#8003).
  • Fix error when forcing an array element read at a run-time index (#8004).
  • Fix FSM coverage on empty reset branches (#8005) (#8064). [Yogish Sekhar]
  • Fix missing verilator_coverage in cmake install (#8008) (#8011).
  • Fix dist inside a foreach nested in a constraint if (#8016).
  • Fix gcov dump on warnings discarding later coverage counts (#8017). [Yilou Wang]
  • Fix unique constraint crash, guards, and size (#8018).
  • Fix Linux peak memory stat to use VmHWM (#8022) (#8070). [Tyrone Marhguy]
  • Fix assignment pattern key constant expressions (#8029) (#8030). [Josep Sans]
  • Fix skipping optimization for unpacked data types (#8031). [Kornel Uriasz, Antmicro Ltd.]
  • Fix gate deduplication with function arguments (#8038). [JOTEGO]
  • Fix conditional expression with parameterized classes (#8039). [Pawel Klopotek, Antmicro Ltd.]
  • Fix array size references in constraints (#8040). [Kornel Uriasz, Antmicro Ltd.]
  • Fix mid-range consecutive repetition rejects (#8041). [Artur Bieniek, Antmicro Ltd.]
  • Fix write access to dynamic arrays (#8043). [Bartosz Skorowski, Antmicro Ltd.]
  • Fix nondeterminism in trace stage (#8046). [Sumanth Kadiyala]
  • Fix force helpers in multiply instantiated modules (#8047). [Artur Bieniek, Antmicro Ltd.]
  • Fix pin to non-existent port with PINNOTFOUND suppressed (#8051) (#8052). [Nikolai Kumar]
  • Fix wildcard equality against a 4-state constant in an assertion (#8056) (#8057). [Nikolai Kumar]
  • Fix untyped datatype error on sampling functions with property arguments (#8060). [Artur Bieniek, Antmicro Ltd.]
  • Fix VPI cbValueChange for 1-bit select (#8063). [Bartłomiej Chmiel, Antmicro Ltd.]
  • Fix NFA assertion crash and mis-counted property if/case (#8074). [Yilou Wang]
  • Fix skipping non-constrained enum constraining when inside object of other class (#8075). [Kornel Uriasz, Antmicro Ltd.]
  • Fix use-after-free of captured interface typedef reference during parameter cloning (#8076). [em2machine]
  • Fix unintended side-effect insertion on associative array read (#8077). [Adam Kostrzewski, Antmicro Ltd.]
  • Fix undefined symbol solver error (#8080). [Igor Zaworski, Antmicro Ltd.]
  • Fix unpacked array element force with procedural assign (#8084) (#8085). [Nikolai Kumar]
  • Fix reading another parameter resolves to 0 in cloned modules (#8086) (#8069). [em2machine]
  • Fix hierarchical class scope resolution (#8094). [Artur Bieniek, Antmicro Ltd.]
  • Fix segmentation fault on parameters (#8102) (#8149). [Sumanth Kadiyala]
  • Fix the clang compilation using precompiled headers (#8105). [Demin Han]
  • Fix invalid typedef (#8106). [Adam Kostrzewski, Antmicro Ltd.]
  • Fix R/W references to random builtin function seeds (#8112). [Geza Lore, Testorrent USA, Inc.]
  • Fix invalid C++ on cast (#8113). [Pawel Klopotek, Antmicro Ltd.]
  • Fix COVERIGN on SVA goto repetition (#8118). [Artur Bieniek, Antmicro Ltd.]
  • Fix unordered data hazards in multi-threaded scheduling (#8133). [Geza Lore, Testorrent USA, Inc.]
  • Fix public table offsets larger than 32 bits (#8135). [Sunimali Rathnayake]
  • Fix 'get-value' for empty constrained arrays (#8138). [Kornel Uriasz, Antmicro Ltd.]
  • Fix streaming concatenation uninitialized read-modify-write access (#8143). [Geza Lore, Testorrent USA, Inc.]
  • Fix unpacked array passing to logic task argument error (#8148). [Pawel Klopotek, Antmicro Ltd.]
  • Fix $past in final blocks on a sampling-tick finish (#8153). [Yilou Wang]
  • Fix array reference in reduction constraints (#8158). [Kornel Uriasz, Antmicro Ltd.]
  • Fix VPI force data corruption (#8160). [Jonathan Drolet]
  • Fix sampled-value functions output on the first cycle (#8162). [Artur Bieniek, Antmicro Ltd.]
  • Fix null pointer dereference in process destruction (#8171). [Andrii, Antmicro Ltd.]
  • Fix invalid conversion of queue (#8172). [Andrii, Antmicro Ltd.]
  • Fix crash on forward-referencing parameters (#8175). [Geza Lore, Testorrent USA, Inc.]
  • Fix crash on empty #() parameter list on class instance (#8182). [Geza Lore, Testorrent USA, Inc.]
  • Fix crash on multiple missing type parameters (#8184). [Geza Lore, Testorrent USA, Inc.]
  • Fix SVA bound limit guard, leave headroom for alignment, respect --max-num-width (#8192). [Artur Bieniek, Antmicro Ltd.]
  • Fix internal error on an enum literal inside a with lambda body (#8190) (#8193). [Aditya Shevade]
  • Fix internal error on backslash-quoted strings (#8198). [Henry Hsieh]
  • Fix backslash behavior in string literals (#8211). [Pawel Klopotek, Antmicro Ltd.]
  • Fix task inout pin resizing error (#8212). [Pawel Klopotek, Antmicro Ltd.]
  • Fix code generation for postponed region (#8218). [Geza Lore, Testorrent USA, Inc.]
  • Fix method calls to be a reorder barrier (#8222). [Matthew Ballance]
  • Fix errors on stream connected to instance port (#8234). [Geza Lore, Testorrent USA, Inc.]
  • Fix folding of short circuiting operators guarding member access (#8238). [Geza Lore, Testorrent USA, Inc.]
  • Fix MULTIDRIVENPROC on static loop induction variables (#8242). [Geza Lore, Testorrent USA, Inc.]
  • Fix multiply undefined behavior on signed int overflow (#8247) (#8248). [Paul Rigge]
  • Fix initial statements with gate optimization (#8250). [Prithayan Barua]
  • Fix segmentation fault on context destruction (#8265).
  • Fix mis-randomizing an unpacked struct member when not rand/randc (#8277) (#8278). [Aditya Shevade]
  • Fix std::randomize() with-clause array index arguments (#8279) (#8280). [Aditya Shevade]
  • Fix incorrect reference to sync/async in SYNCASYNCNET warning (#8281). [Andrii, Antmicro Ltd.]
  • Fix use-after-free of captured interface typedef in deleted generate branch (#8287). [Nick Brereton]