Commit Graph
6915 Commits
Author SHA1 Message Date
Michael Bedford Taylor c8171ae37b Fix class specializations named before all their pins are folded (#8604) 2026-10-03 12:37:32 -04:00
Marco Bartoli 256468e8ae Fix synchronous drives of an unchanged value not assigning the signal (#8486) 2026-10-03 09:59:24 -04:00
Martin Velay 9f72509635 Fix preserving macro argument depth during stringification (#8592) (#8596) 2026-10-03 09:54:36 -04:00
Geza Lore 5c9a804e8b Internals: Add range Left/Right/Lo/Hi iterable sequences (#8585) 2026-10-02 20:19:10 +01:00
Michael Bedford Taylor b080950f76 Fix hierarchical library block source ordering (#8578) (#8579) 2026-10-02 13:23:56 -04:00
Marco Bartoli a278652439 Fix typenames to be more readable (#8568) (#8570) 2026-10-02 10:54:43 -04:00
Geza Lore e4cc6cadca Fix %m in hierarchical models (#8575)
The model of a hierarchical block, or of a --lib-create library, is
named after the %m of its instance in the parent model, but %m within it
also used to include the name of its top module (l2-name within the
partition), adding an extra level per block. %m now matches across
non-hierarchical, --hierarchical and manual --lib-create builds.

before: top.t.u_sub.sub.u_leaf.leaf
after:  top.t.u_sub.u_leaf
2026-10-02 14:20:41 +01:00
Kornel Uriasz 93e9660ea5 Internals: V3Randomize cleanup. No functional change intended (#8574)
Signed-off-by: Kornel Uriasz <[email protected]>
2026-10-02 07:54:51 -04:00
Wilson Snyder bdfb2e8db1 Fix --hierarchical parameter specialization name collisions (#8555) (#8565)
Fixes #8565.
2026-10-01 08:04:56 -04:00
Nick Brereton 0fc4310048 Fix VPI rows for dynamic and class type variables (#8564) 2026-10-01 07:48:56 -04:00
Wilson Snyder e04f350109 Revert: Fix --hierarchical parameter specialization name collisions (#8555 revert) (#8565). 2026-10-01 07:48:36 -04:00
Nazar Zibilyuk ea536a54b8 Fix waking --sc wrapper when DPI/delay makes work runnable (#8394) (#8534)
Fixes #8394
2026-10-01 12:01:17 +01:00
Nick Brereton 368f59d5f2 Optimize exhaustive case if-chains with an unconditional else (#8554) 2026-09-30 20:17:00 -04:00
Marco Bartoli 2a82047e4e Fix --hierarchical parameter specialization name collisions (#8555) 2026-09-30 20:15:47 -04:00
Ethan Sifferman 6438d977fa Fix dehash of a suffix after a hashed name (#8556) 2026-09-30 19:51:19 -04:00
Saqib Khan 5458bd2e77 Fix circular class inheritance hang (#8324) (#8545) 2026-09-30 18:42:58 -04:00
Martijn Wobbes 61289bc80b Fix cascading errors after unsupported class dot reference in parameter value (#8551)
Signed-off-by: Martijn Wobbes <[email protected]>
2026-09-30 17:53:42 -04:00
Aditya Shevade 1edf8f986a Fix real values and unenforced rand/randc type-eligibility rules in constraints (#8273) (#8275) (#8276) 2026-09-30 17:52:43 -04:00
Nick Brereton 226cf2f850 Fix stack depth calculations over calls (#8544) 2026-09-30 13:28:55 -04:00
Artur Bieniek d4e4b1d795 Optimize assertion control queries (#8547) 2026-09-30 11:32:56 -04:00
Kristof Marien 055b870e11 Fix derived class construction resets inherited per-instance rand_mode state (#8527) (#8528) 2026-09-30 11:07:49 -04:00
Marco Bartoli c686a25f54 Fix V3Const__gen.o not rebuilt when headers change (#8550) 2026-09-30 11:07:22 -04:00
Krzysztof Bieganski 1f0e80dbd6 Optimize sched-initial/static/final: call splitCheck once per sub-function (#8549)
Signed-off-by: Krzysztof Bieganski <[email protected]>
2026-09-30 10:26:54 -04:00
Wilson Snyder a419e91574 Fix $c() inside a DPI export (#8402). [Nazar Zibilyuk]
Fixes #8402.
2026-09-29 19:17:34 -04:00
Noam Gallmann 7f9a8695c1 Fix crash on class handle passed to string port (#8536) (#8538) 2026-09-29 17:25:52 -04:00
Kristof Marien feb1f64be8 Fix extern class method rejects matching virtual interface argument type #8525 (#8526) 2026-09-29 16:53:54 -04:00
Marco Bartoli 68439fbb72 Fix nonblocking event trigger never firing in suspendable processes (#8485) 2026-09-29 16:48:09 -04:00
Marco Bartoli 21bae44b03 Fix verilator_coverage report to align with get_coverage() (#8522) (#8524) (#8531) 2026-09-29 16:36:33 -04:00
em2machine bbdc2cce08 Internals: fixDeadRefs, findLiveCloneOf, TypeTableDeadRefVisitor removal (#8492 partial) (#8537) 2026-09-29 16:33:17 -04:00
Hongseok Choi c2479ce807 Fix function reference into generate case block (#5312) (#8532) 2026-09-29 12:59:23 -04:00
Igor Zaworski 3fd0948cf2 Fix of queue pop return value access (#8529)
Fixes #8511,  #8380 repair

Signed-off-by: Igor Zaworski <[email protected]>
2026-09-29 16:45:28 +01:00
Kornel Uriasz 38f011ed2c Fix enums inside randomize() with (#8517)
Signed-off-by: Kornel Uriasz <[email protected]>
2026-09-29 10:01:43 -04:00
em2machine 58fc34e6df Internals: Remove AstRefDType ledger parallel scaffolding in favor of AstRefDType tags (#8492 partial) (#8513) 2026-09-29 09:03:16 -04:00
Saqib Khan 9d9d367302 Support waiting on clocking block event through modport (#8403) (#8530) 2026-09-29 08:50:57 -04:00
Wilson Snyder 647b2056ed Fix verilator_coverage reports rounding incomplete coverage to 100.0% (#8523).
Fixes #8523.
2026-09-29 08:50:20 -04:00
Geza Lore b3139df707 Fix emitting public parameters (#8520)
Fixes #8520, #8512 repair.
2026-09-29 12:23:40 +01:00
Geza Lore da4903f721 Fix bear version detection if uninstalled
Fallout from b8068fad46 The CI 'test' jobs
has no 'bear' installed but attempted to run due to caching the result
of the version check on disk. Check every time instead of caching.
2026-09-29 11:20:45 +01:00
Kristof Marien 640607a0d0 Fix rand_mode(0) not preserving dynamic array of struct values used in a dist constraint (#8508) (#8509) 2026-09-28 22:23:01 -04:00
Wilson Snyder f83ed971e2 Use reversable base64 for -generate-key 2026-09-28 20:11:31 -04:00
Wilson Snyder bafdae1847 Internals: Favor constexpr for constants. No functional change intended. (#8521) 2026-09-28 19:58:56 -04:00
Marco Bartoli bde1b98ee0 Support coverpoint bin 'with' filters (#8518) 2026-09-28 18:29:54 -04:00
Kamil Danecki a949674a6b Support nested array and associative array element member access in constraint 3/4 - associative arrays (#8244)
Signed-off-by: Kamil Danecki <[email protected]>
2026-09-28 08:08:57 -04:00
Ethan Sifferman 510ae7b38b Fix duplicate struct declaration when inlining (#8515) 2026-09-28 09:41:56 +01:00
Marco Bartoli 4ab229e659 Support wildcard bins (#8516) 2026-09-27 21:06:09 -04:00
Michael Bedford Taylor 2c441d853c Optimize DFG temporary sharing across module instances (#8456) 2026-09-28 00:46:27 +01:00
Marco Bartoli a933e723c2 Support covergroup fixed-size bin arrays (#8514) 2026-09-27 13:57:38 -04:00
Wilson Snyder f691cd1936 Change --protect to use SHA512 per IEEE 1735. 2026-09-27 13:34:11 -04:00
Geza Lore 43c3c88c38 Internals: AstCoverToggle is not an AstNodeStmt (#6280)
It is more akin to an AstAlways, being a module item.
2026-09-27 13:46:58 +01:00
Geza Lore 348b9b6209 Internals: Make the constant pool a regular package (#8512)
The constant pool is now an ordinary package, created with the netlist
and instantiated under $root like any other package, and most special
handling has been removed, including AstConstPool. Lookups go through
V3ConstPool, which has a singleton instance owned by V3Global. Static
methods on V3Common form the public interfce to add/find constant pool
entries.

With that, the constant pool is usable at any stage during compilation,
so enum and dimension tables created by V3Width, and enum value tables
created by V3Randomize now also live in the constant pool instead of
$unit, so identical tables are shared.

Associative array constants are handled separately from unpacked
tables, which used to be broken but unused.

Emitted constant pool variables use direct initialization, and
`constinit` with C++20 where the type allows it. This ensures we don't
change a run-time in a way that would result in unintended code size
increase.

-fno-merge-const-pool, which was introduced years ago but never prompted
a bug report is deprecated and has no effect.

This is also prep for future work.
2026-09-27 13:25:41 +01:00
Geza Lore d234caafc1 Optimize through package variables in Dfg 2026-09-26 15:01:32 +01:00