Yilou Wang
76c1b26e3b
Support `obj.randomize(null)` ( #7487 ) ( #7509 )
2026-04-28 15:31:08 -04:00
Nikolai Kumar
93c594e18a
Fix mailbox#(packed_struct) type mismatch with parameterized class ( #7494 ) ( #7495 )
2026-04-28 15:25:37 -04:00
Yilou Wang
bb1bfabab3
Fix internal error on multi-cycle SVA under default clocking ( #7472 ) ( #7506 )
2026-04-28 06:50:16 -04:00
Yilou Wang
327fc4ffbe
Support randomize() with (identifier_list) {constraint_block} ( #7486 ) ( #7507 )
...
Fixes #7486 .
2026-04-28 06:10:53 -04:00
Yilou Wang
5d1b4fe8a8
Fix generic interface port forwarded to a nested instance ( #7454 ) ( #7457 )
...
Fixes #7454 .
2026-04-27 21:15:25 -04:00
github action
c460f0e6a0
Apply 'make format'
2026-04-27 21:05:49 +00:00
Nikolay Puzanov
4437ae79e7
Fix virtual interface method call inlining and IMPURE suppression ( #7505 )
2026-04-27 16:58:30 -04:00
Geza Lore
cee174c4b6
Fix inlining static initializer in V3Gate ( #7503 )
...
V3Gate could incorrectly inline a non-constant static initializer of
a variable into the use site if there are no other drivers. Disabling.
Fixes #5381
2026-04-27 16:58:38 +01:00
Yilou Wang
c8893b64de
Support `always` / `always[m:n]` / `s_always[m:n]` property operators ( #7482 )
2026-04-27 08:20:34 -04:00
hjsanjana
982b9ee219
Fix std::randomize internal error on static member of different class ( #7498 ) ( #7499 )
...
Fixes #7498 .
2026-04-26 06:24:40 -04:00
em2machine
b1d3d63e9f
Fix for unction argument expects a class refetence ( #7483 ) ( #7489 )
...
Fixes #7483 .
2026-04-24 10:31:57 +02:00
em2machine
121fd3f613
Fix module parameters not re-evaluated upon instantiation ( #7463 ) ( #7477 )
2026-04-23 12:30:42 -04:00
Geza Lore
ba3937734f
Optimize mix of Concat/Extend assignments ( #7479 )
...
Generalize concatenation splitting/balancing in V3FuncOpt to also handle
AstExtend (which is a Concat with a 0 LHS).
2026-04-23 16:57:43 +01:00
Alex Zhou
7e0f25b41b
Fix access to static variable inside function ( #7474 ) ( #7475 )
...
Fixes #7474 .
2026-04-23 11:17:14 -04:00
Yilou Wang
27e7fdc9eb
Fix std::randomize inside {typedef array} internal error ( #7481 )
...
Fixes #7481 .
2026-04-23 11:16:24 -04:00
Yilou Wang
ae642facf5
Fix function-in-constraint internal error on bare port VarRef return ( #7473 ) ( #7480 )
...
Fixes #7473 .
2026-04-23 10:47:39 -04:00
Geza Lore
3149f43372
Internals: Add special Dfg vertex for replication ( #7471 )
2026-04-23 10:14:27 +01:00
Yilou Wang
cfebe805c9
Support implication operator with constraint_set ( #7300 ) ( #7448 )
...
* Support implication operator with constraint_set
* improve coverage, achieve 100 line cov
* Address review: simplify addNext; tighten disable soft grammar to constraint_primary
* Apply 'make format'
* re-run
---------
Co-authored-by: github action <action@example.com>
2026-04-23 10:50:23 +02:00
github action
46a6884df6
Apply 'make format'
2026-04-23 07:14:49 +00:00
Yogish Sekhar
72bbccb543
Add Fsm coverage to print summary ( #7462 )
2026-04-23 09:13:45 +02:00
Wilson Snyder
c1d1b333ac
With -Wpendantic allow circular assigns
2026-04-23 00:50:12 -04:00
Wilson Snyder
6945f04531
Internals: Use addNext. No functional change intended
2026-04-23 00:34:47 -04:00
Yilou Wang
51eb5346c8
Support sequence within operator ( #7461 )
2026-04-23 05:47:24 +02:00
github action
e4da16caf0
Apply 'make format'
2026-04-22 19:20:00 +00:00
Yogish Sekhar
a680919edc
Support native FSM state and arc coverage ( #7412 )
2026-04-22 15:18:59 -04:00
Nikolay Puzanov
5cddbd7fda
Fix tracing virtual interface member written from classes ( #5044 ) ( #7465 )
...
Track AstMemberSel writes through virtual interface refs and connect them to matching interface-member VarScopes, so class-driven interface clocks get proper VCD activity updates.
Fixes #5044 .
2026-04-22 12:09:30 -04:00
Geza Lore
496665800d
Internals: Annotate AstNode classes to generate matching DfgVertex ( #7469 )
...
Explicitly annotate those AstNodeExpr subclasses that should have a
corresponding DfgVertex subclass generated by astgen. This avoids having
to tweak things in Dfg when adding new AstNode subclasses, which can
then be handled separately.
2026-04-22 16:35:07 +01:00
em2machine
59fe8066ff
Support multidimensional arrays of interfaces ( #6230 ) ( #7451 )
...
Fixes #6230
2026-04-22 13:42:10 +02:00
Todd Strader
15163d1e39
Tests: Switch VCD/FST compare to wavediff ( #7426 )
2026-04-21 13:53:53 -04:00
Geza Lore
686594b4ab
Optimize temporary insertion in Dfg ( #7459 )
...
Insert temporaries for highest fanout vertices first. Omit them for
cheap comparisons.
2026-04-21 18:34:26 +01:00
Artur Bieniek
a1a8b9624c
Support IEEE-compliant force/release handling ( #7391 )
2026-04-21 11:54:42 -04:00
Yilou Wang
280cff06f3
Fix std::randomize `inside` corrupting class-member queue operand ( #7449 ) ( #7456 )
...
Fixes #7449
2026-04-21 17:37:58 +02:00
github action
c60d8f002f
Apply 'make format'
2026-04-21 12:22:33 +00:00
Yogish Sekhar
bca5839d46
Add printed summary to verilator_coverage ( #7438 )
2026-04-21 14:21:38 +02:00
Geza Lore
2b9d006097
Change Dfg pattern dumps to use --dump-dfg-patterns ( #7455 )
...
Dumping Dfg patterns can take a non-trivial amount of time, so do it
only with --dump-dfg-patterns, instead of with --stats.
Also further improve dumping format.
2026-04-21 12:07:19 +01:00
Wilson Snyder
2ef979a39c
Fix dead removing packages with only DPI.
2026-04-21 00:34:20 -04:00
Wilson Snyder
94e3f387a7
Internals: With debug, show cwd
2026-04-20 14:06:01 -04:00
Geza Lore
cd30c22d1c
Optimize more Dfg patterns ( #7452 )
2026-04-20 18:28:11 +01:00
em2machine
23ca23b7b5
Fix for ariane/CVA6 false member call on object error ( #7445 ) ( #7450 )
...
Fixes #7445 .
2026-04-20 18:21:59 +02:00
Geza Lore
f3c63d017a
Optimize Sel patterns in DfgPeephole
2026-04-20 09:01:31 +01:00
Geza Lore
ffd2c5c69e
Optimize temporary insertion in DfgPeephole
2026-04-20 09:01:31 +01:00
Geza Lore
93d7d9c417
Optimize DfgDataType::hash()
2026-04-20 09:01:31 +01:00
Yilou Wang
935b2564eb
Use NFA in SVA pass (V3AssertNfa: NFA-based multi-lcycle SVA evaluation engine) ( #7430 )
2026-04-20 07:43:18 +02:00
Geza Lore
e82bd52fa3
Optimize arithmetic right shift (>>>) in DfgBreakCycles ( #7447 )
2026-04-19 20:28:17 +01:00
Geza Lore
60b41c7822
Optimize DfgBreakCycles IndependentBits analysis ordering ( #7446 )
...
Perform the data flow analysis based on reverse post-order numbering of
vertices. This speeds up convergence by ~10x. Partial fix for #7201 .
2026-04-19 19:48:02 +01:00
Geza Lore
97454a1bc5
Remove multi-threaded FST tracing ( #7443 )
...
Remove parallel (using the FST library writer thread) and offloaded
(separate Verilator internal thread) tracing (only used by FST). These
are not compatible with #6992 , and #5806 should yield better performance
in all cases.
Consequently mark '--trace-threads' and '--trace-fst-thread' options as
deprecated
2026-04-19 16:02:12 +01:00
Yilou Wang
29a93fe5bc
Fix internal error on `dist` under implication operator in constraints ( #7440 ) ( #7442 )
...
Fixes #7440
2026-04-19 08:03:19 +02:00
Ryszard Rozak
ba508c00d2
Support `until_with` property ( #7290 partial) ( #7436 )
2026-04-17 06:33:36 -04:00
Yilou Wang
72952fd3fb
Fix inline constraint on array-indexed randomize target ( #7431 ) ( #7434 )
...
Fixes #7431 .
2026-04-16 11:02:22 -04:00
Kamil Danecki
3587ac48a4
Fix modification of members of object with const handle ( #7433 )
...
Signed-off-by: Kamil Danecki <kdanecki@internships.antmicro.com>
2026-04-16 09:43:12 -04:00
Rowan Goemans
c143c2fdd2
Fix side-effect loss when slicing array expressions ( #7427 ) ( #7429 )
...
Fixes #7427 .
2026-04-15 08:10:11 -04:00
Todd Strader
7f571971ca
Optimize trace code for faster compiles on repeated types ( #6707 ) ( #6832 )
2026-04-14 19:16:21 -04:00
Yilou Wang
38b7734530
Fix subclass with rand_mode(0) getting randomized ( #7376 ) ( #7383 )
...
Fixes #7376 .
2026-04-14 16:47:24 -04:00
Geza Lore
ab0264deca
Optimize more Dfg peephole patterns ( #7423 )
2026-04-14 16:22:54 +01:00
Wilson Snyder
7e3400b37d
Fix virtual interface implied comparison with null ( #7421 ).
...
Fixes #7421 .
2026-04-14 07:25:02 -04:00
Yilou Wang
9eb2ba4c54
Support 2**n expressions in constraint randomization ( #7422 )
2026-04-14 07:17:53 -04:00
Wilson Snyder
023b2edd48
Add newline on alarm timeouts to help error parsers
2026-04-13 21:07:03 -04:00
Yilou Wang
6ba45d3383
Support per-process RNG for process::srandom() and object seeding ( #7408 ) ( #7415 )
...
Fixes #7408 .
2026-04-13 13:58:53 -04:00
em2machine
fd7a3f4a16
Fix zero-size parameter ( #7387 repair) ( #7411 ) ( #7418 )
...
Fixes #7411 .
2026-04-13 13:19:11 -04:00
Yilou Wang
83b2061a35
Fix std::randomize treated as this.randomize in parameterized-derived class ( #7409 ) ( #7416 )
...
Fixes #7409 .
2026-04-13 11:34:17 -04:00
Leela Pakanati
14e2f834e9
Fix parameterized class typedef as interface type parameter ( #7000 ) ( #7006 )
...
Fixes #7000 .
2026-04-12 20:38:27 -04:00
Wilson Snyder
fac07970e6
Improve too-small cast warning to show size
2026-04-12 18:12:41 -04:00
Wilson Snyder
be7d26c5be
Fix delete inside foreach skipping elements ( #7404 ) ( #7410 )
...
Fixes #7404
2026-04-11 22:42:50 -04:00
Wilson Snyder
fed8275e42
Internals: Refactor createForeachAssoc. No functional change intended.
2026-04-11 18:10:05 -04:00
em2machine
dc33e8bb18
Fix for Returning an object of the wrong type from a static function of a parameterized class ( #5479 ) ( #7387 )
2026-04-11 07:49:45 -04:00
Nikolay Puzanov
a8f62703ab
Fix virtual class inheritance ( #7403 ) ( #7405 )
...
Fixes #7403 .
2026-04-10 12:17:06 -04:00
em2machine
081ecbd095
Fix for elaboration hang ( #7385 repair) #7398 ( #7406 )
...
Fixes #7398 .
2026-04-10 11:03:14 -04:00
Geza Lore
6595e5cf55
Remove Dfg extract pass ( #7394 )
...
This has no measurable benefit and algorithmically will be superseded by
some upcoming work.
2026-04-10 13:46:59 +01:00
Ryszard Rozak
4da31b0418
Support 'until' property (partial #7290 ) ( #7399 )
2026-04-10 08:17:54 -04:00
Christian Hecken
cf9a52cb92
Fix vpi_put_value not updating forced read value ( #7092 ) ( #7395 )
...
Fixes #7092 .
2026-04-09 19:08:36 -04:00
Yilou Wang
854e80c3c2
Support nonconsecutive repetition [=N] in sequence expressions ( #7397 )
2026-04-09 18:28:28 -04:00
github action
bb84bb643b
Apply 'make format'
2026-04-09 16:33:37 +00:00
Geza Lore
1b4f574b31
Internals: Improve Dfg pattern dumps
2026-04-09 17:32:26 +01:00
Yilou Wang
d20d765dd0
Support first_match sequence operator ( #7392 )
2026-04-09 11:42:43 -04:00
Geza Lore
fb66174d80
Internals: Run Dfg passes on all components at once
...
This is just a reordering of pass applications to make --stats more
useful. No functional change.
2026-04-09 15:22:10 +01:00
Ryszard Rozak
cf6a2aec19
Internals: Clean up sampling. No functional change intended ( #7389 )
2026-04-09 08:49:07 -04:00
Geza Lore
9f9532ff78
Optimize Dfg only once, after V3Scope ( #7362 )
2026-04-09 08:31:12 -04:00
Yilou Wang
e63c4f563e
Support consecutive repetition [*N:M], [+], and [*] in sequence expressions ( #7379 )
2026-04-08 10:26:03 -04:00
Ryszard Rozak
7dcf586807
Fix sampling of hierarchical references ( #7386 )
2026-04-08 07:09:25 -04:00
Yilou Wang
141fe8bdad
Support sequence intersect operator ( #7374 )
2026-04-08 09:31:54 +02:00
em2machine
2736262b98
Fix resolving default/nondefault type-of-type parameters ( #7380 ) ( #7385 )
2026-04-07 17:58:36 -04:00
Artur Bieniek
8c11d0d0bd
Support rise/fall delays ( #7368 )
...
Signed-off-by: Artur Bieniek <abieniek@antmicro.com>
2026-04-07 06:44:52 -04:00
Yilou Wang
dfb7b034a5
Support sequence 'throughout' operator ( #7378 )
2026-04-06 17:12:22 -04:00
Yilou Wang
72b2ca5585
Support ##[*], ##[+], ##[M:$] unbounded cycle delays in SVA properties ( #7377 )
2026-04-06 16:31:43 -04:00
Christian Hecken
0df0064d64
Fix VPI access to Verilog `force`-ed signals ( #7381 )
2026-04-06 10:51:01 -04:00
Wilson Snyder
9f4546fcb9
Fix constraint 'with' in parameter classes ( #7375 )
2026-04-04 21:03:44 -04:00
Wilson Snyder
2796294396
Fix string `inside` queue ( #7373 ).
...
Fixes #7373 .
2026-04-04 14:43:06 -04:00
github action
4b6bc1ff83
Apply 'make format'
2026-04-04 18:32:27 +00:00
Yilou Wang
3b454a6f60
Internals: Add isNonPackedArray(). No functional change. ( #7334 prep)
2026-04-04 14:31:09 -04:00
Yilou Wang
adb48046c2
Fix parameter default comparison when value contains type cast ( #6281 ) ( #7369 )
...
Fixes #6281 .
2026-04-04 11:02:20 -04:00
Wilson Snyder
00bf59ac92
Internals: Cleanup some V3Simulate branches. No functional change intended.
2026-04-03 20:16:10 -04:00
Wilson Snyder
ed0506ea8d
Internals: Use Var flag instead of magic names. No functional change intended.
2026-04-03 19:05:56 -04:00
Yilou Wang
efd60df2be
Fix virtual interface select from sub-interface instance ( #7203 ) ( #7370 )
...
Fixes #7203 .
2026-04-03 19:04:10 -04:00
em2machine
e7a644a3fc
Fix functions in generate block resulting in "Broken link in node" ( #7236 ) ( #7367 )
...
Fixes #7236
2026-04-03 11:19:17 -04:00
Yilou Wang
56ed47ee7c
Fix false ASSIGNIN on interface input port connections ( #7365 )
...
* add oneline fix
* Apply 'make format'
* merge test and update 2 space indents
---------
Co-authored-by: github action <action@example.com>
2026-04-02 20:44:48 +02:00
Yilou Wang
1e5c93cc51
Fix virtual interface function calls binding to wrong instance ( #7363 )
2026-04-02 10:53:01 -04:00
em2machine
32672deb6f
Fix resolving default/nondefault type parameters ( #7171 ) ( #7346 )
...
Fixes #7171
2026-04-02 10:51:11 -04:00
Geza Lore
d7c484ae85
Fix missing temporary for DfgSplicePacked ( #7361 )
2026-04-01 22:44:58 +01:00
Geza Lore
2e151c3b74
Do not unroll simple array assignments in V3Slice ( #7359 )
...
See also #5644
2026-04-01 22:35:29 +01:00
Yilou Wang
894f6c4c58
Fix virtual interface member trigger convergence ( #5116 ) ( #7323 )
2026-04-01 21:42:42 +01:00