Wilson Snyder
f0c569ab0d
Fix CASEINCOMPLETE to not warn on `unique0 case` ( #7647 ).
...
Fixes #7647 .
2026-05-23 20:04:54 -04:00
Yogish Sekhar
7935321b25
Fix FSM thread nondeterminism ( #7644 ) ( #7646 )
2026-05-22 22:30:01 -04:00
Wilson Snyder
c507dcf610
Internals: Enforce types on C++ enums. No functional change intended.
2026-05-22 17:59:57 -04:00
Wilson Snyder
c0dc77c908
Commentary: Changes update
2026-05-22 17:57:11 -04:00
Geza Lore
c99aa8ede5
Fix erroneous implicit conversions of VlWide ( #7642 )
...
Change WDataInP/WDataOutP to be opaque handles types instead of aliases
to raw pointers. This subsequently eliminates needing an implicit cast
operator in VlWide, which is replaced with implicit constructors of
WDataInP/WDataOutP that can create a handle from a VlWide. This
eliminates some unsafe conversions that the previous implicit cast
operator unintentionally enabled (e.g. #7618 ). It also eliminates
having to insert ".data()" in various places int he generated code, which
simplifies internals (the only place ".data()" should be needed is in
calls to variadic functions where the expected type of the argument is
not WDataInP/WDataOutP).
The handles otherwise behave like pointers, implementing the minimal
amount of operators required to code the runtime. The handle is still
only a single pointer, and will be passed in registers as before, so
this patch should be performance neutral.
As part of this removed WData, which used to be an alias for EData.
All uses are now either EData*, WDataInP, WDataOutP, or VlWide directly.
2026-05-22 20:05:08 +01:00
Lucas Amaral
20f4eca646
Support busses with mix of pullup/pulldown ( #7632 )
2026-05-21 14:45:40 -04:00
github action
a208d17939
Apply 'make format'
2026-05-21 17:51:28 +00:00
Yogish Sekhar
f282335600
Support FSM detection in primitive wrappers ( #7607 )
2026-05-21 13:50:31 -04:00
Artur Bieniek
6a74112f0b
Fix V3Force deterministism ( #7620 ) ( #7637 )
...
Fixes #7620 .
2026-05-21 11:04:17 -04:00
Benjamin Collier
69b3c5f6d1
Support streaming on queues ( #7597 )
2026-05-20 19:14:02 -04:00
Nick Brereton
c5798f902b
Fix reference counting for modport task references ( #7628 )
2026-05-20 14:24:56 -04:00
github action
d874d2fd06
Apply 'make format'
2026-05-20 11:11:52 +00:00
Yogish Sekhar
9e4863589e
Fix non-determinism in FSM detection ( #7619 )
...
Fixes #7619
2026-05-20 12:10:53 +01:00
Michael Rogenmoser
cb3b9c7c43
Fix nested parameterized class typedef chain ( #7538 )
2026-05-19 14:12:24 -04:00
Kamil Danecki
b06ea01afb
Fix type parameters order ( #7615 )
2026-05-19 09:52:09 -04:00
github action
662cd43348
Apply 'make format'
2026-05-19 01:41:54 +00:00
Nikolai Kumar
a67c5f81f3
Fix clocking-block sample of unpacked array ( #7612 ) ( #7613 )
...
Fixes #7612 .
2026-05-18 21:40:54 -04:00
Krzysztof Bieganski
eb258d7df7
IEEE-compliant, fair `std::semaphore` ( #7435 ) ( #7605 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2026-05-18 11:11:42 +02:00
Yilou Wang
00c9e58006
Fix internal error on consecutive repetition with N > 256 ( #7552 ) ( #7603 )
2026-05-17 21:54:10 -04:00
Greg Davill
57ce373e99
Fix array pattern concatenation ( #7401 ) ( #7402 )
2026-05-17 09:49:32 -04:00
github action
7f520ff1a2
Apply 'make format'
2026-05-17 11:35:24 +00:00
Muzaffer Kal
9fe058677b
Support NBAs in initial blocks with delay/event controls ( #7566 ) ( #7600 )
...
Fixes #7566 .
2026-05-17 07:34:29 -04:00
Wilson Snyder
c1ab369da2
Fix process comparison compile error with `--public-flat-rw` ( #7592 ).
...
Fixes #7592 .
2026-05-15 18:22:46 -04:00
Wilson Snyder
349dd546e7
Internals: Rename stdPackageProcessp etc. No functional change.
2026-05-15 17:33:19 -04:00
Yilou Wang
f9427c6d5f
Support property abort operators (accept_on, reject_on) ( #7578 )
2026-05-15 08:38:38 -04:00
Stuart Morris
67e74c5ce4
Fix interface instance name collision ( #7591 ) ( #7593 )
...
Fixes #7591 .
Co-authored-by: Leela Pakanati <41307800+cachanova@users.noreply.github.com>
2026-05-15 07:52:26 -04:00
Wilson Snyder
d66733aeb8
Fix process comparison compile error with `--public-flat-rw` ( #7592 ).
...
Fixes #7592 .
2026-05-14 17:52:28 -04:00
Artur Bieniek
fb617e49dd
Optimize read selects with no overlapping forces with regular reads ( #7594 )
2026-05-14 16:46:57 -04:00
Zubin Jain
4a1f17e75f
Fix force of unpacked arrays ( #7579 ) ( #7580 )
...
Fixes #7579 .
2026-05-14 10:58:16 -04:00
Krzysztof Bieganski
c518abd22a
Optimize reading selected words on forced wide ( #7391 repair) ( #7554 partial) ( #7572 )
2026-05-14 07:38:42 -04:00
Wilson Snyder
a3da587fc3
Internals: Show operator in assert
2026-05-13 21:02:45 -04:00
Thomas Brown
1c3ee7ce4c
Support expression coverage on assign statements ( #7543 )
2026-05-13 13:59:29 -04:00
Geza Lore
e485dfe48c
Fix NBA to whole arrays ( #7583 )
...
Fixes #7575
2026-05-13 13:20:22 +01:00
Krzysztof Bieganski
3381d656c7
Support calling interface functions without parens ( #7584 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2026-05-13 08:15:32 -04:00
Yilou Wang
05302080a9
Support procedural concurrent assertions with inferred clock ( #7581 )
2026-05-13 07:42:28 -04:00
Jakub Michalski
1ffa6b277d
Fix property argument retaining type of the previous variable ( #7582 )
...
Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
2026-05-13 07:41:35 -04:00
Yogish Sekhar
8312e9d901
Extend FSM Detect to support 'Wide State Encodings' ( #7573 )
2026-05-13 06:59:22 -04:00
Nick Brereton
9588e67ca9
V3Timing: pre-clear destructive event state before dynamic waits ( #7340 )
...
When lowering dynamic event controls, destructive pre-clear updates were inserted with addHereThisAsNext() on the original node and then that node was replaced. This could leave leaked/orphaned nodes under leak-checking runs.
Build an explicit replacement stmt chain instead:
[pre-clear stmts] -> trigger loop -> awaitResumption,
and replace the original control with the chain head. Keep the loop-only path unchanged when no destructive pre-clear is needed.
2026-05-12 19:01:37 +01:00
anonkey
67b21e4c62
Fix segmentation fault when using --trace with --lib-create ( #7299 ) ( #7518 )
2026-05-12 10:16:47 -04:00
Jakub Michalski
05f6db7970
Optimize emitting to_string() for compiler speedup ( #7468 )
...
Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
2026-05-12 09:49:21 -04:00
Wilson Snyder
bdcdc10966
Fix floating point compile warning on min/max delays.
2026-05-11 19:50:48 -04:00
github action
edab09333c
Apply 'make format'
2026-05-11 22:33:56 +00:00
Cookie
cf9334f2c1
Fix error on mixed-initialization ( #7352 ) ( #7357 )
2026-05-11 18:32:55 -04:00
Wilson Snyder
18e06b1e7d
Fix display of %m in non-first argument ( #7574 ).
...
Fixes #7574 .
2026-05-11 08:18:34 -04:00
Yilou Wang
b0d58bbcef
Support SVA goto repetition with range `[->M:N]` ( #7569 )
2026-05-11 07:07:51 -04:00
github action
485c0e746c
Apply 'make format'
2026-05-10 17:13:56 +00:00
Yogish Sekhar
f67159de30
Extend FSM coverage detection to case-free FSMs - Use - if/else chains ( #7561 )
2026-05-10 13:12:58 -04:00
Wilson Snyder
1630a2724b
Commentary: Changes update
2026-05-09 19:22:47 -04:00
Artur Bieniek
c69c11b2db
Support procedural continuous assign/deassign ( #7493 )
2026-05-08 19:01:11 -04:00
Yilou Wang
8eca6b8fe7
Fix regression rejecting boolean `!x` inside sequence expressions ( #7549 ) ( #7551 )
...
Fixes #7549 .
2026-05-08 18:34:28 -04:00
Kamil Danecki
5820d2936c
Support writing to inout in fork after timing ( #7345 )
2026-05-08 16:35:34 -04:00
Varun Koyyalagunta
a3003a2d0f
Add 15 new DFG peephole optimizations ( #7553 )
...
- FOLD_SELF_SUB: x - x -> 0
- REMOVE_DIV_ONE / REMOVE_DIVS_ONE: x / 1 -> x (unsigned and signed)
- REMOVE_MUL_ZERO / REMOVE_MUL_ONE / REMOVE_MULS_ZERO / REMOVE_MULS_ONE:
0 * x -> 0 and 1 * x -> x (unsigned and signed)
- REPLACE_NOT_LT/GTE/GT/LTE and their signed counterparts: eliminate a
Not vertex by flipping the comparison operator
Test signals for the NOT-of-comparison GT/GTE variants use unique shift
amounts to prevent intra-pass CSE from merging their DfgGt/DfgGte vertices
with those produced when the complementary LT/LTE patterns fire, which
would otherwise trigger the !hasMultipleSinks() guard.
2026-05-08 12:39:33 -05:00
Geza Lore
7c5069c7df
Fix exponential expansion in V3Gate ( #7550 )
...
Unfortunate constellation of combinational assignments could be inlined
by V3Gate yielding an exponential expansion (added test used to consume
4GB+ memory and generate 3GB+ code).
2026-05-07 22:01:08 -05:00
Geza Lore
db8b6ce26d
Add peak memory usage to --stats
2026-05-07 20:28:47 -05:00
Todd Strader
752b77ea77
Fix events in observed region ( #7546 )
2026-05-07 17:02:41 -04:00
Kamil Danecki
1a367a13fc
Fix side effect internal error ( #7519 ) ( #7540 ) ( #7544 )
2026-05-07 09:21:04 -04:00
Yogish Sekhar
ce34f1a070
Improve FSM Detection when state variables are non-enums ( #7529 )
2026-05-07 06:53:19 -04:00
em2machine
d5f9385e9c
Fix class::localparam during elaboration ( #7524 ) ( #7534 )
2026-05-06 11:46:33 -04:00
github action
252afef499
Apply 'make format'
2026-05-06 11:26:07 +00:00
Yogish Sekhar
22db9d2c66
Add mnemonic to parameter constants in JSON for FSM Coverage ( #7531 )
2026-05-06 07:25:03 -04:00
Yilou Wang
fc49811fd7
Support randsequence production function ports ( #7522 )
2026-05-04 11:28:17 -04:00
Bartłomiej Chmiel
4e349971d3
Support `s_eventually` ( #7291 ) ( #7508 )
2026-05-04 09:57:03 -04:00
Yilou Wang
bc1acc8aa3
Support followed-by operators `#-#` and `#=#` in properties ( #7523 )
2026-05-04 08:10:37 -04:00
Yilou Wang
8011f9a796
Internals: V3AssertNfa: hoist sampled(propp) into a per-property temp ( #7502 ) ( #7525 )
...
Fixes #7502 .
2026-05-02 12:13:58 -04:00
Kamil Danecki
659274e45d
Fix array indexing side effects in compound assignments ( #7519 )
2026-05-01 20:35:51 -04:00
Igor Zaworski
25d4827bd5
Internals: Four state pre-pull (types) ( #7520 )
2026-04-30 16:56:15 -04:00
Artur Bieniek
ec03edcddd
Support functions on RHS of force ( #7491 )
...
Signed-off-by: Artur Bieniek <abieniek@antmicro.com>
2026-04-30 10:38:07 -04:00
Wilson Snyder
dd75c4cd1b
Revert: 21020ea2: Support printing enum names for %p and %s ( #5523 revert) ( #7338 revert) ( #7521 test)
2026-04-30 10:29:47 -04:00
github action
021f5f7d02
Apply 'make format'
2026-04-30 11:23:36 +00:00
Yogish Sekhar
7f01806e15
Improve FSM coverage detection ( #7490 )
2026-04-30 07:22:34 -04:00
Nick Brereton
21020ea2d1
Support printing enum names for %p and %s ( #5523 ) ( #7338 )
2026-04-30 07:15:38 -04:00
em2machine
d15b1fba94
Fix $bits on local struct with chained-interface ( #7515 ) ( #7517 )
2026-04-30 07:12:11 -04:00
Yilou Wang
4befec4463
Support rand_mode() on static rand class members ( #7484 ) ( #7510 )
2026-04-29 17:07:27 -04:00
Nikolai Kumar
4ebc4f1eee
Fix V3Assert stale failsp after recursive iteration ( #7500 ) ( #7513 )
...
Fixes #7500 .
2026-04-29 05:18:12 -04:00
Wilson Snyder
8f18f0cf22
Fix internal error instead of missing prototype error ( #7485 ). [Alex Solomatnikov]
...
Fixes #7485 .
2026-04-28 17:59:18 -04:00
Todd Strader
0188679631
Fix expression coverage in loops ( #7511 )
2026-04-28 15:33:41 -04:00
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
Geza Lore
6aa6c45c73
Internals: Add DfgGraph::neighborhood for debugging
2026-04-01 10:53:30 +01:00
Geza Lore
b4a0ca8ba6
Optimize Ast read references in Dfg directly ( #7354 )
...
Introduce a new DfgAstRd vertex, which holds an AstNodeExpr that is a
reference to a variable. This enables tracking all read references in
Dfg, which both enables more optimization, and allows inlining of
expressions in place of the reference more intelligently (e.g, when the
expression is only used once, and is not in a loop). This can get rid of
20-30% of temporary variables introduced in Dfg in some designs. Note
V3Gate later got rid of a lot of those, this is a step towards making
V3Gate redundant. The more intelligent expression inlining is worth ~10%
runtime speed on some designs.
2026-04-01 10:52:56 +01:00
Wilson Snyder
dbd4823323
Fix error on illegal nand/nor binary operators ( #7353 ).
...
Fixes #7353 .
2026-03-31 18:35:27 -04:00
github action
1096740113
Apply 'make format'
2026-03-30 23:12:27 +00:00
Wilson Snyder
62ffe43a82
Fix port assignment to large arrays ( #6904 ).
...
Fixes #6904 .
2026-03-30 19:09:23 -04:00
Yilou Wang
04f410622b
Fix wait() hang when interface with combinational logic using process calls and VIF function ( #7342 )
2026-03-30 15:34:32 +01:00
Yilou Wang
bf453361f6
Support consecutive repetition [*N] in SVA properties ( #7311 )
2026-03-30 07:01:33 -04:00
Artur Bieniek
55958efbe1
Fix false sensitivity of signals to unrelated interface members
2026-03-30 09:42:51 +01:00
Wilson Snyder
600eb7ec86
Internals: Favor std::swap. No functional change.
2026-03-29 20:33:06 -04:00
Wilson Snyder
5036af3d37
Commentary: Refer to latest standard where can
2026-03-29 18:06:12 -04:00
Wei-Lun Chiu
092d3d4de0
Support map() method for associative and wildcard arrays ( #7344 )
2026-03-29 04:00:52 -04:00
Wilson Snyder
e0b4d5ad44
Fix lost `$stop` on implied assertion `$error` failures.
2026-03-28 10:57:59 -04:00
Wilson Snyder
31757df229
Internals: clangtidy cleanups. No functional change intended ( #7343 )
2026-03-27 23:14:18 -04:00
Wilson Snyder
8d109e85d0
Fix missing quotes on VPI error signal names
2026-03-27 21:44:11 -04:00
Nick Brereton
f66df9e70e
Fix `disable iff` imply-delay statement linking ( #7337 )
2026-03-27 14:31:03 -04:00
Yilou Wang
ba9a7aaa66
Fix static initialization order for packages with class hierarchies ( #7324 )
2026-03-27 12:53:45 -04:00
Yilou Wang
55e5f01758
Support SVA goto repetition [->N] in concurrent assertions ( #7310 )
2026-03-27 10:31:15 -04:00
Geza Lore
9ed7a9f98b
Internals: Do not optimize variables with RW refs in Dfg
2026-03-27 07:50:05 +00:00
Geza Lore
f12cdac8da
Optimize muxes in DfgPeephole
2026-03-27 07:50:05 +00:00
Geza Lore
2759f2ab16
Optimize comparisons with identical operands in Dfg
2026-03-27 07:50:05 +00:00
Geza Lore
e0fc69a2f0
Optimize CountOnes in Dfg
2026-03-27 07:50:05 +00:00
Geza Lore
382f5003ca
Optimize more patterns in DfgPeephole ( #7332 )
2026-03-27 07:47:50 +00:00
Jakub Michalski
5d2d05236e
Support very wide $display arguments ( #7280 )
2026-03-26 13:55:14 -04:00
Geza Lore
e5adb60461
Internals: Only add VAR_PORT_DTYPE prior to V3Width ( #7331 )
2026-03-26 13:44:11 -04:00