Wilson Snyder
f20076c4a3
Commentary: Changes update
2026-06-07 08:34:17 -04:00
Geza Lore
4e3be56415
CI: Improve RTLMeter reports ( #7725 )
2026-06-07 11:50:02 +01:00
Geza Lore
4ee19c4065
CI: Generate whole RTLMeter report in ci-rtlmeter-report.bash
2026-06-07 09:54:40 +01:00
Geza Lore
067cd6c9c6
CI: Show summary tables in 'pr: rtlmeter' results
2026-06-06 19:10:27 +01:00
em2machine
680ef8dda9
Fix for HIERPARAM - relax checking ( #7570 ) ( #7690 )
2026-06-06 11:55:47 -04:00
Wilson Snyder
85d9c38ebf
Commentary: Changes update
2026-06-06 10:46:18 -04:00
Wilson Snyder
629266a988
Fix whitespace
2026-06-06 10:46:02 -04:00
Geza Lore
e35b2429ff
Optimize $countones constant in Dfg
2026-06-06 06:11:13 +01:00
Geza Lore
ca376d681a
Optimize $onehot in Dfg
2026-06-06 06:11:13 +01:00
Geza Lore
e53d6d9006
Improve procedural loop unrolling
...
- Enable unrolling of nested loops when the inner loop updates the
outer loop condition
- Enable unrolling 'for' loops with break statements
2026-06-06 06:11:13 +01:00
github action
e9274be247
Apply 'make format'
2026-06-06 00:44:02 +00:00
Nikolai Kumar
bc86701bec
Support forceable on unpacked array variables ( #7677 ) ( #7678 )
...
Fixes #7677 .
2026-06-05 20:43:06 -04:00
Wilson Snyder
816ab67826
Commentary: Changes update
2026-06-05 18:36:55 -04:00
Ryszard Rozak
0851d1fbe5
Fix optimizations of assignments with timing controls ( #7718 )
2026-06-05 12:21:21 -04:00
Matthew Ballance
2886291eba
Support covergroups, coverpoints, and bins ( #784 ) ( #7117 )
...
Fixes #784 .
2026-06-05 09:35:01 -04:00
Mateusz Gancarz
7e2fe64ae2
Fix splitting functions containing fork logic ( #7717 )
2026-06-05 09:32:52 -04:00
Larry Doolittle
99f62fca62
Adjust installredirect Makefile action to not write to ${srcdir} ( #7715 )
2026-06-05 06:53:50 -04:00
Yogish Sekhar
947a08965e
Add hierarchy-aware reporting to `verilator_coverage` ( #7657 )
2026-06-04 09:32:19 -04:00
Geza Lore
14cf611c72
Internals: Factor out inlining predicate in V3Gate
...
No functional change.
2026-06-04 09:33:24 +01:00
Nick Brereton
81282c3d57
Fix (const) ref default task argument handling ( #7698 )
2026-06-03 22:31:21 -04:00
Nick Brereton
4d5393c191
Fix tristate lowering for interface inout ports ( #7134 repair) ( #7708 ) ( #7710 )
...
Fixes #7708 .
2026-06-03 19:51:49 -04:00
Todd Strader
7bd41bfbb9
Fix MULTIDRIVEN in generates ( #7709 )
2026-06-03 19:50:56 -04:00
Artur Bieniek
72db0b575e
Support if/if-else in properties ( #7692 )
2026-06-03 15:54:15 -04:00
Nick Brereton
bbd8d927ee
Support printing enum names for %p and %s ( #5523 ) ( #7338 repair) ( #7521 ) ( #7527 )
2026-06-03 14:55:00 -04:00
Geza Lore
41811d436f
Optimize runtime assertOn() checks ( #7707 )
...
Combine consecutive assertOn() checks into one, and hoist past enclosing
'if' statements if possible. This enables combining a lot of them, which
can be worth 10% performance on some assertion heavy designs depending
on how the assertions are written.
2026-06-03 18:09:49 +01:00
Nick Brereton
1af9c39759
Fix ref-arg type check for packed arrays with differing range directions ( #7700 )
2026-06-03 12:49:14 -04:00
Igor Zaworski
bbf8471c2a
Fix of ignoring not found pruned modules with encoded names ( #7706 )
2026-06-03 12:19:33 -04:00
Geza Lore
c878a7e735
Optimize VL_ONEHOT
...
Equivalent to `__builtin_popcount(_) == 1` and a few instructions
shorter.
2026-06-03 11:24:34 +01:00
Geza Lore
7b45b3ee8a
Optimize string formatting runtime functions
...
Add an overload that takes `const char*` format string. This avoids
having to construct/destruct a temporary `std::string` at the call site
when calling these functions with a string literal, which is fairly
common. This is worth 25% code size on some assertion heavy design.
Also use `std::string::clear()` instead of assigning an empty string
which is more efficient.
2026-06-03 11:18:38 +01:00
Geza Lore
715f5f0c13
Optimize $sformatf into $sformat ( #7701 )
...
Turn `x = $sformatf(...)` into `$sformat(x, ...)`. The former requires
checking and running a destructor for `x` at the call site, the later
does it in the callee VL_SFORMAT. This reduces the size of the call
site, which can be significant e.g. in the presence of many assertions.
Also added a rewrite of `$sformat(x, "const-string")` back into `x =
"const-string"` for the cases where the `$sformatf` would have been
folded into a constant string.
2026-06-03 08:43:05 +01:00
Geza Lore
efb83c55de
Optimize VL_SFORMAT when result is string ( #7702 )
...
Omit unused bit width parameter. Emit rule is simple enough to change
and the unused parameter just bloats code size.
2026-06-03 08:42:48 +01:00
Geza Lore
970e7983d3
Optimize $sformat in V3Life ( #7703 )
...
Treat AstSFormat as a special form of assignment in V3Life. This allows
eliminating earlier redundant assignments to strings when an $sformat
later sets the string. UVM has lot of these.
2026-06-03 08:41:58 +01:00
Geza Lore
0026a73ca0
Optimize DPI import argument passing ( #7704 )
...
Pass inputs to DPI import wrappers by reference (unless fits in a
register). This eliminates a lot of temporary constructors/destructors.
2026-06-03 08:41:33 +01:00
Krzysztof Bieganski
7664bbb3ef
Support generic interface arrays ( #7604 )
2026-06-02 22:28:50 -04:00
github action
0c9448dadd
Apply 'make format'
2026-06-02 20:47:02 +00:00
Tracy Narine
ee793669c5
Support MacOS lldb ( #7697 )
2026-06-02 16:42:42 -04:00
Igor Zaworski
fe4adfe273
Support process::self().srand() ( #7695 )
2026-06-02 12:00:27 -04:00
Kamil Danecki
802efd579a
Fix t_class_param type invalid array access ( #7615 repair) ( #7653 ) ( #7693 )
2026-06-02 09:01:05 -04:00
Geza Lore
c079aa0b17
Optimize wide conditional expansion in V3Premit ( #7691 )
...
V3Premit extracts wide sub-expressions via temporaries, which is needed
for emitting wide operations to C++ (calls to `VL_*_W`). The previous
version used to extract both branches of an AstCond unconditionally,
meaning both branches were fully evaluated. Rewriting the AstCond into
an AstIf instead enables evaluating only the required branch. While
this does limit V3Subst, overall the resulting code is ~3% faster,
and contains ~25% fewer branches on a large design.
2026-06-01 20:25:41 +01:00
Yilou Wang
39b9901032
Support weak `until` / `until_with` property operators ( #7290 ) ( #7548 ) ( #7685 )
...
Fixes #7290 . Fixes #7685 .
2026-06-01 14:50:13 -04:00
Wilson Snyder
e965fb92de
Fix skipping nulls in $sscanf ( #7689 ).
...
Fixes #7689 .
2026-05-31 17:25:28 -04:00
Wilson Snyder
72ed55b180
Support strength on buf/not
2026-05-31 08:54:29 -04:00
Wilson Snyder
5def7c2b5d
Commentary: Changes update
2026-05-31 07:16:30 -04:00
Paul Swirhun
1eb12685a7
Support streaming into 2-D unpacked arrays ( #7686 ) ( #7687 )
...
Fixes #7686 .
2026-05-30 22:08:32 -04:00
github action
e2063e7ac0
Apply 'make format'
2026-05-30 19:36:22 +00:00
Muzaffer Kal
57fa98e52c
Fix TSP variable ordering for mtasks ( #5342 ) ( #7610 )
...
Fixes #5342
2026-05-30 15:35:12 -04:00
Wilson Snyder
2ccaae77ae
Fix CONTASSINIT false positive on wire inside two different instantiations
...
Fixes #7640 .
2026-05-30 15:23:02 -04:00
Wilson Snyder
99a24c7f39
Commentary: Changes update
2026-05-30 15:16:41 -04:00
Wilson Snyder
2d16ca375d
Tests: Rename t_lint_contassinit
2026-05-30 14:48:01 -04:00
Yilou Wang
fa0f814686
Fix biased bit distribution under value < (1 << N) constraints ( #7563 ) ( #7684 )
...
Fixes #7563
2026-05-30 13:00:35 -04:00