Repository navigation
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+lockto 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/strongkeywords in property expressions (#8054). [Artur Bieniek, Antmicro Ltd.] - Support class handle covergroup arguments (#8071). [Marco Bartoli]
- Support
soft foreachconstraints (#8174). [Kamil Danecki, Antmicro Ltd.] - Support overlong
withinsequences 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
withlambda 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]