Jakub Michalski
1b0d73d60b
Fix out-of-bounds read value for 2-state types
...
Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
2026-06-16 09:07:00 +02:00
Wilson Snyder
57c9f22e3c
Tests: Enforce 2-space indents on Verilog
2026-06-07 22:00:24 -04:00
Wilson Snyder
96630cee5a
Verilog format
2026-06-07 21:55:43 -04:00
Wilson Snyder
53cb913ab6
Internals: Fix lint-py warning
2026-06-07 21:37:16 -04:00
Marco Bartoli
2db34818b3
Fix parameter values in coverage bins widths ( #7732 ) ( #7734 )
...
Fixes #7732 .
2026-06-07 20:47:43 -04:00
Marco Bartoli
4d556dfcc7
Fix s_eventually on interface ( #7731 ) ( #7733 )
...
Fixes #7731 .
2026-06-07 20:46:00 -04:00
Wilson Snyder
4e49941b39
CI: Skip later CI on reformat
...
Small chance a bug gets through, but this will avoid multiple runs on the
common case of reformatting users' pull requests, and related run
cancellation problems.
2026-06-07 16:02:29 -04:00
Geza Lore
5cb8d8291a
CI: Load RTLMeter cases to run from separate file ( #7730 )
...
Add a script that prints the job matrix of cases to run with RTLMeter.
This enables running different sets based on parameters. It will run
everything on scheduled nightly runs, but only a subset on PRs (to reduce
time and variance due to short cases).
Also prints the job matrix in descending duration order, which
effectively makes GitHub actions schedule longest jobs first to reduce
total workflow latency.
2026-06-07 20:50:31 +01:00
Geza Lore
220e46994c
CI: Combine RTLMeter collate step to reduce job count ( #7729 )
2026-06-07 20:30:57 +01:00
Geza Lore
83ef69d866
CI: Run RTLMeter on the same machine with target commit ( #7726 )
2026-06-07 15:36:34 +01:00
Wilson Snyder
d9cbc27902
Disable blank github issues
2026-06-07 08:47:00 -04:00
Wilson Snyder
d62ebf9e6d
Update github issue templates
2026-06-07 08:40:07 -04:00
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