Wilson Snyder
1bf2ea7643
Improve function call argument error to show target function
2026-03-04 19:01:01 -05:00
Igor Zaworski
7acd73fede
Fix super constructor calls with local variables, by using init functions ( #6214 ) ( #6933 )
2026-03-04 17:55:55 -05:00
em2machine
c34cd6ddf1
Fix missing scope when calling package function ( #7128 repair) ( #7188 ) ( #7190 )
2026-03-04 15:37:55 -05:00
Rahul Behl
9a5c1d27c8
Support array reduction methods with 'with' clause in constraints ( #6455 ) ( #6999 )
2026-03-04 12:01:35 -05:00
Nick Brereton
44701201ac
Support inout inside SV interface ( #3466 ) ( #7134 )
2026-03-04 09:08:07 -05:00
jalcim
7cf539cf05
Add --func-recursion-depth CLI option ( #7175 ) ( #7179 )
2026-03-04 06:46:07 -05:00
Yilou Wang
3bc73cc768
Support constraint imperfect distributions ( #6811 ) ( #7168 )
2026-03-03 11:23:14 -05:00
em2machine
5f3d475736
Internals: Minor coverage improvement as followup to ( #7128 followup) ( #7184 )
2026-03-03 11:13:32 -05:00
em2machine
5821d0697c
Fix interface localparam dependencies and arbitrary nesting ( #6936 ) ( #7128 )
2026-03-03 06:55:59 -05:00
Yilou Wang
ed84f3adb2
Support constraints on fixed-size array of class object members ( #7170 ) ( #7183 )
2026-03-03 06:27:31 -05:00
jalcim
d406efdcf9
Fix recursive constant function in $unit scope ( #7174 ) ( #7178 )
2026-03-02 15:15:34 -05:00
Wilson Snyder
251d1835cf
Internals: Comment to explain stray emit semicolon
2026-03-02 11:26:48 -05:00
Yilou Wang
8a413b3ec7
Fix std::randomize() in static function with static class members ( #7167 ) ( #7169 )
2026-03-02 05:59:00 -05:00
Yilou Wang
108d209bd7
Support soft constraint solving with last-wins priority ( #7124 ) ( #7166 )
2026-03-01 15:16:55 -05:00
Wilson Snyder
192445097a
Internals: Fix non-determinism in V3Delayed, V3SplitVar, V3Task ( #7120 partial) ( #7165 )
2026-03-01 11:59:29 -05:00
Geza Lore
6c48b3282e
Enable V3LiftExpr with code coverage ( #7164 )
2026-03-01 15:04:49 +00:00
Geza Lore
3249fd8cc0
Internals: Mark Premit temporaries funcLocal, noReset ( #7160 )
2026-03-01 14:56:21 +00:00
Geza Lore
97838325cd
Fix scheduling non-determinism ( #7120 partial) ( #7162 )
2026-03-01 07:44:59 -05:00
Geza Lore
77ce9cec1e
Optimize conditional merging across some impure statements ( #7159 )
...
- Allow reordering pure statements with DPI import calls iff no public
variables (including those read via a DPI export) are involved. This
ensures the DPI import can't observe the reordering
- Allow reordering of pure statements with AstDisplay and AstStop. This
requires an assumption that AstDisplay and AstStop will not read or
write model state other than via a VarRef explicitly present int the
Ast.
Overall this allows eliminating a lot of conditionals around assertions,
which were previously not possible.
2026-03-01 05:47:05 -05:00
Geza Lore
26eac21432
Internals: Use existing astgen type info for ASTGEN_MAX_NODE_SIZE ( #7161 )
2026-03-01 05:33:30 -05:00
Wilson Snyder
e9dd6eaaf0
Internals: Fix VL_ALLOC_RANDOM_CHECKS with multiple threads
2026-02-28 20:24:09 -05:00
Wilson Snyder
e23c7a510e
Internals: Add VL_ALLOC_RANDOM_CHECKS
2026-02-28 18:21:51 -05:00
Geza Lore
098fe96643
Add V3LiftExpr pass to lower impure expressions and calls ( #7141 )
...
Introduce new pass that converts impure expressions, or those with
function and method calls into simple assignment statements. Please see
the blurb at the top of the file why this is useful and how it works.
In particular currently it enables more Dfg optimization as functions
will be inlined without AstExprStmt.
Ideally we should enforce this lowering is applied to every procedural
statement (there are still a handful of exceptions). With that, long
term with this pass + #6820 , there should be no need to ever use an
AstExprStmt past this new lowering pass, which should enable more easier
optimization down the line.
Also ideally this should be run earlier. Currently it's after V3Tristate
as that calls pinReconnectSimple so we don't have to touch Cell ports.
Currently disabled when code coverage is enabled due to #7119 .
2026-02-28 22:20:09 +00:00
Geza Lore
2ceea267e5
Fix eliminating assignments to DPI-read vaiables ( #7158 )
2026-02-28 10:09:01 -05:00
Pawel Kojma
face700f29
Improve assignment-compatibility type check ( #2843 ) ( #5666 ) ( #7052 )
2026-02-28 09:55:06 -05:00
Geza Lore
139bdc1ae3
Optimize function call return value temporaries ( #7152 )
2026-02-28 09:54:39 -05:00
Szymon Gizler
1af7fa92c2
Optimize size of trace declaration object code ( #7150 )
2026-02-28 09:54:08 -05:00
Ryszard Rozak
6f892d58ac
Fix forcing unpacked variables ( #7149 )
2026-02-28 09:53:41 -05:00
Kamil Danecki
df6b808c49
Fix parameters inside std::randomize `with` clause ( #7140 )
2026-02-28 09:53:05 -05:00
Todd Strader
8705bc56c8
Fix errant integer promotion ( #7012 )
2026-02-28 09:52:35 -05:00
Nick Brereton
02c1dbc5dc
Fix lambda coroutines ( #6106 ) ( #7135 )
2026-02-28 09:52:02 -05:00
Geza Lore
1716423d07
Internals: Fix invalid use of user1 in V3Const ( #7157 )
2026-02-28 09:51:07 -05:00
Wilson Snyder
1e6c1ab106
Add VPI callback support to --main ( #7145 ).
...
Fixes #7145 .
2026-02-28 09:42:28 -05:00
Wilson Snyder
af65a85a1e
Fix function locals in display %p
2026-02-26 18:12:12 -05:00
Wilson Snyder
22290a74c2
Fix class initial-automatic insertion order ( #7086 repair)
2026-02-25 19:01:19 -05:00
em2machine
d658517715
Change type definition error to show type chain with source context ( #7151 )
2026-02-25 14:47:13 -05:00
AUDIY
10eafb9b3f
Add coverage type information to verilator_coverage annotation output ( #7131 ) ( #7133 ).
...
Fixes #7131 .
2026-02-24 20:59:42 -05:00
Gilberto Abram
826b03c21f
Fix segfault in EmitCSyms::getSymCtorStmts ( #7142 ) ( #7143 )
2026-02-24 14:08:01 -05:00
Wilson Snyder
7607f0e7fa
Support proper automatic/static initialization, and remove STATICVAR warning ( #6405 ). ( #7086 )
2026-02-24 14:04:43 -05:00
Todd Strader
6a5d3b0b72
Add --max-replication option ( #7139 )
2026-02-23 16:51:37 -05:00
Geza Lore
f7c5454d91
Internals: Strengthen AstNodeExpr operand types ( #7138 )
2026-02-23 20:55:08 +00:00
Geza Lore
8c7f08dfc3
Fix inlining of CFuncs with reloop locals ( #7132 )
...
The recent V3InlineCFuncs only checks AstCFunc::varsp for locals, but
V3Reloop used to insert them into AstCFunc::stmtsp resulting in multiple
locals with the same name being inlined into the caller if the stars
align. Fix Reloop. Such things will also go away with #6280 .
2026-02-23 17:35:15 +00:00
Wilson Snyder
7c923bb330
Internals: Fix hasher message
2026-02-23 03:34:37 -05:00
Geza Lore
1e5a6901c8
Internals: Make AstWith explicit in AstCMethodHard ( #7129 )
...
This makes it consistent with other usage in NodeFTaskRef. Also AstWith
is no longer a NodeExpr.
2026-02-22 15:38:28 -05:00
Geza Lore
da51021b0a
Internals: Simplify AstForeach header handling ( #7126 )
...
Rename AstSelLoopVars to AstForeachHeader, and make it a non-NodeExpr.
Tweak parser to always create an AstForeachHeader, so no need to fix it
up later.
2026-02-22 18:57:12 +00:00
Yilou Wang
1717df0261
Support solve..before constraints ( #5647 ) ( #7123 )
2026-02-22 11:33:18 -05:00
Geza Lore
350966de6b
Internals: Remove all AstClassOrPackageRef in V3Width ( #7125 )
2026-02-22 11:26:44 -05:00
Geza Lore
579acced99
Internals: Make AstArg into an AstNode, not Expr ( #7122 )
2026-02-22 14:40:51 +00:00
Yilou Wang
443678d8c4
Support array reduction methods without 'with' clause in constraints for dynamic arrays ( #7104 ) ( #7108 )
2026-02-22 09:23:02 -05:00
Yilou Wang
79e1f33173
Fix new <obj> shallow copy not preserving polymorphic runtime type ( #7105 ) ( #7109 )
2026-02-22 09:22:37 -05:00