Wilson Snyder
983a06a16f
Merge from master for release.
2026-09-05 08:44:29 -04:00
Wilson Snyder
ea338be98e
Version bump
v5.052
2026-09-05 08:28:17 -04:00
Wilson Snyder
c8a8f02c09
Commentary: Changes update
2026-09-05 08:27:32 -04:00
Nick Brereton
b1c06fdb09
Fix use-after-free of captured interface typedef in deleted generate branch ( #8287 )
2026-09-04 14:27:11 -04:00
Andrii
18095ac924
Fix incorrect reference to sync/async in SYNCASYNCNET warning ( #8281 )
...
Signed-off-by: Andrii Andrieiev <[email protected] >
2026-09-04 11:01:10 -04:00
Aditya Shevade
efc390a37d
Fix std::randomize() with-clause array index arguments ( #8279 ) ( #8280 )
2026-09-04 11:00:10 -04:00
Aditya Shevade
228635918e
Fix mis-randomizing an unpacked struct member when not rand/randc ( #8277 ) ( #8278 )
2026-09-03 20:08:44 -04:00
Wilson Snyder
c917f04c65
Internals: Fix many but not all missing member dumps. No functional change.
2026-09-02 22:27:19 -04:00
Wilson Snyder
c4a4f35ec4
Commentary: Changes update
2026-09-02 22:15:13 -04:00
Wilson Snyder
e012f7c79d
Fix segmentation fault on context destruction ( #8265 ).
...
Fixes #8265 .
2026-09-02 08:00:32 -04:00
Wilson Snyder
80907b1e26
Internals: Fix many but not all missing bool member dumps. No functional change.
2026-09-01 22:20:20 -04:00
Wilson Snyder
a5f4f7eade
Internals: Fix covergroupRefMember overload ( #8259 ).
...
Fixes #8259 .
2026-09-01 21:31:19 -04:00
Wilson Snyder
c7aa95439c
Internals: Cleanup some member name vs accessor name mismatches. No functional change.
2026-09-01 20:10:04 -04:00
Wilson Snyder
a3932e259b
Internals: Cleanup duplicate superRef. No functional change.
2026-09-01 20:01:20 -04:00
Wilson Snyder
e6cee9d54c
Tests: Check for binary files
2026-09-01 18:30:29 -04:00
Wilson Snyder
f694e9e1e8
Revert NFA assertion outcomes ( #7946 revert) ( #8258 )
2026-09-01 11:15:05 -04:00
Wilson Snyder
667f64813f
Commentary: Changes update
2026-09-01 08:46:25 -04:00
Wilson Snyder
67818a3430
Internals: Fix unknown node message in V3Simulate. No simulation change intended.
2026-09-01 08:43:43 -04:00
Wilson Snyder
1c2fa7234d
Fix removing extra width warnings after another error
2026-08-31 18:04:58 -04:00
Szymon Gizler
be83d1393d
Fix continuing on wait(0) ( #7372 ) ( #8231 )
2026-08-31 13:06:23 -04:00
Matthew Ballance
9474a01d54
Add definitions for odr-used constexpr, as required by C++14 ( #8256 )
2026-08-31 10:38:18 -04:00
Yilou Wang
c81be029a6
Fix NFA assertion scheduling to fix outcome counts ( #7946 )
2026-08-29 15:53:08 -04:00
Wilson Snyder
3c121c0a2e
Fix initial statements with gate optimizaion ( #8250 ) ( #8253 )
2026-08-29 14:29:03 -04:00
Wilson Snyder
0f96460042
Commentary: Changes update
2026-08-29 11:46:16 -04:00
Wilson Snyder
648035df72
Tests: Cleanup some time formats
2026-08-29 11:13:47 -04:00
Geza Lore
dcf45da1c0
Fix excessive SIMILARNAME warnings ( #8233 )
2026-08-28 15:55:41 -04:00
Kamil Danecki
d2920a627d
Support solve before with associative array ( #8232 )
2026-08-28 15:19:08 -04:00
Paul Rigge
2954756190
Fix VL_MULS_* UB on signed int overflow ( #8247 ) ( #8248 )
2026-08-28 14:53:22 -04:00
Geza Lore
c70439961f
Optimize associative constant patterns to fixed point ( #8147 ) ( #8209 )
...
Re-associating constants can enable further simplification e.g. when
those constant become all zero/all ones. Run these patterns to fixed
point to capture the simplification, by revisiting the node.
2026-08-28 20:46:33 +02:00
Geza Lore
ab20edbbaf
Internals: Use single source of truth VCMethod enumeration ( #8249 )
2026-08-28 14:32:08 -04:00
Geza Lore
297713df8b
Fix folding of short circuiting operators guarding member access ( #8238 )
...
V3Const eagerly deletes nodes (we want that in V3Const instead of using
pushDeletep, as otherwise the transient peak memory use during
verilation can be very high)
The std::map used to cache the predicate checking if a subtree contains
a member access then stale if a new node is allocated in the same address.
Fix by using unique node IDs stored in user4 as cache keys.
This is the bug uncovered by #8147
Related to #6963
2026-08-28 20:16:03 +02:00
Geza Lore
6a05cc680b
CI: Update RTLMeter case lists - also for PRs
2026-08-28 17:40:46 +02:00
Geza Lore
50e42bc197
CI: Update RTLMeter case lists
...
- Only run Servant:*:phil on multi-threaded clang build
- Run HummingbirdV2-E203
2026-08-28 16:51:14 +02:00
Geza Lore
c64afda7fc
Fix MULTIDRIVENPROC on static loop induction variables ( #8242 )
...
Disable MULTIDRIVENPROC for static variables used as loop induction
variables. Same way as we disable similar warning in Dfg. While bad
style and bad for performance, it's common legacy code style.
2026-08-28 15:27:50 +02:00
Igor Zaworski
1ad9acd22e
Fix scheduling of variables written in non-inlined functions in suspendable processes ( #7909 )
2026-08-27 08:33:49 -04:00
Jakub Wasilewski
2f856971ed
Add Unigen2 constrained randomization algorithm ( #8042 )
...
Signed-off-by: Jakub Wasilewski <[email protected] >
2026-08-27 08:33:14 -04:00
Geza Lore
8546d5db06
Internals: Move the eval loop into the runtime library ( #8225 )
...
The loops modelling the SystemVerilog scheduling regions are no longer
generated. They now live in 'VerilatedEvalLoop' in the runtime library.
The generated model holds one as a member, passing itself to it, and
exposes each evaluation entry point to it as a pure virtual method on
VerilatedModel. The model's 'eval' and 'eval_step' remain the top level
entry points, and are backward compatible.
V3Sched no longer emits '_eval' or '_eval_settle', etc.. Instead every
evaluation entry point called from the runtime is enumerated by 'VEval',
Scheduling creates all entry points, for all scheduling regions, even if
they are empty, and the runtime eval loop calls everything
unconditionally. If regions are empty, this is simply a call to an empty
function. This will hurt performance on very small models, but should
not be noticeable on anything meaningful, so it is likely best to keep
to reduce complexity.
A scheduling entry points evaluate a single iteration and returns
whether it did any work, they are effectively the previous
`_eval_phase_*` functions.
2026-08-27 07:53:02 -04:00
Geza Lore
59f221986c
Fix errors on stream connected to instance port ( #8234 )
2026-08-27 07:51:35 -04:00
Sumanth Kadiyala
99c6f9ced8
Internals: Add flag to replace VNUser union w/ std::variant for type validation ( #8213 )
2026-08-26 20:09:21 -04:00
Eddie Rydell
7bff0196b1
Fix procedural tristate assignment overrides ( #6785 ) ( #8130 )
2026-08-26 19:23:46 -04:00
Kamil Danecki
f055eeabe0
Support soft foreach in constraint ( #8174 )
2026-08-26 11:05:12 -04:00
Artur Bieniek
7f9333723f
Fix sampled-value functions output on the first cycle ( #8162 )
2026-08-26 10:30:59 -04:00
Pawel Klopotek
cce0277e1a
Fix backslash behavior in string literals ( #8211 )
...
Signed-off-by: Pawel Klopotek <[email protected] >
2026-08-26 10:02:39 -04:00
Wilson Snyder
51a2dc3efb
Commentary: Changes update
2026-08-26 06:09:57 -04:00
Wilson Snyder
0dcdea3325
Commentary: AGENTS tweaks
2026-08-26 06:09:50 -04:00
Wilson Snyder
1cd2588241
Tests: Print stats with --benchmark
2026-08-26 06:02:27 -04:00
Geza Lore
087b15bdb3
Remove source location from DIDNOTCONVERGE error ( #8225 prep) ( #8227 )
2026-08-26 04:55:36 -04:00
Aliaksei Chapyzhenka
5e4151e3e0
Internals: Add WASI (wasm32-wasip1) build support ( #8216 ) ( #8217 )
2026-08-25 19:13:07 -04:00
Aisha
b23b53227d
Fix SIMILARNAME warning on parameters and localparams ( #8186 ) ( #8226 )
2026-08-25 16:19:41 -04:00
Yilou Wang
8cbaf505ee
Fix solver session stability to avoid breaking randomize ( #7991 )
2026-08-25 13:13:59 -04:00