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
Bartłomiej Chmiel
4e349971d3
Support `s_eventually` ( #7291 ) ( #7508 )
2026-05-04 09:57:03 -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
Yogish Sekhar
a680919edc
Support native FSM state and arc coverage ( #7412 )
2026-04-22 15:18:59 -04:00
em2machine
59fe8066ff
Support multidimensional arrays of interfaces ( #6230 ) ( #7451 )
...
Fixes #6230
2026-04-22 13:42:10 +02:00
Todd Strader
7f571971ca
Optimize trace code for faster compiles on repeated types ( #6707 ) ( #6832 )
2026-04-14 19:16:21 -04: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
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
bf453361f6
Support consecutive repetition [*N] in SVA properties ( #7311 )
2026-03-30 07:01:33 -04:00
Wilson Snyder
31757df229
Internals: clangtidy cleanups. No functional change intended ( #7343 )
2026-03-27 23:14:18 -04:00
Artur Bieniek
aff85cef19
Support more than one dot in defparam ( #7262 )
...
Signed-off-by: Artur Bieniek <abieniek@antmicro.com>
2026-03-24 09:20:46 -04:00
Wilson Snyder
716b404256
Optimize away empty ctor_var_reset.
...
Fixes #7154 .
2026-03-23 18:10:34 -04:00
Yilou Wang
a8bccab8e6
Support named sequence declarations and instances in assertions ( #7283 )
2026-03-20 10:24:46 -04:00
Yilou Wang
a0a684109f
Support modport export/import task prototypes and out-of-block definitions ( #7277 )
2026-03-18 19:20:34 -04:00
Ryszard Rozak
258629634c
Support force assignments to array elements of real type ( #7048 )
2026-03-05 08:37:20 -05:00
Nick Brereton
44701201ac
Support inout inside SV interface ( #3466 ) ( #7134 )
2026-03-04 09:08:07 -05:00
em2machine
5821d0697c
Fix interface localparam dependencies and arbitrary nesting ( #6936 ) ( #7128 )
2026-03-03 06:55:59 -05:00
Geza Lore
2ceea267e5
Fix eliminating assignments to DPI-read vaiables ( #7158 )
2026-02-28 10:09:01 -05:00
Geza Lore
78ee787bb1
Internals: Clean up AstArg usage in AstNodeFTaskRef ( #7121 )
...
- Strengthen type of AstNodeFTaskRef::pinsp to be List[AstArg]
- Rename 'pinsp' to 'argsp'
- Add default constructor arguments
2026-02-22 10:38:37 +00:00
Wilson Snyder
ace9a34c10
Internal: Fix clang override warning ( #7106 repair).
2026-02-19 21:34:17 -05:00
Wilson Snyder
0d2fcfd49d
Fix circular class reference %p-printing causing infinite recursion ( #7106 ).
...
Fixes #7106 .
2026-02-19 20:15:37 -05:00
Wilson Snyder
7182e8d937
Internals: Track what variables get user initial assignment.
2026-02-17 02:05:05 -05:00
Geza Lore
a0b89dde8e
Internals: Make AstCAwait an AstNodeStmt ( #6280 ) ( #7078 )
...
AstCAwait is only ever uses in statement position, so model it as a
statement. We should never ever have a coroutine that returns a value.
There is no need for it in SV, nor should we rely on it for internals.
Also reworks the fix for V3Life incorrectly constant propagating the
beforeTrig functions (#7072 ). The property that upsets V3Life is that
a function:
1. Is called from multiple static call sites (multiple AstCCall)
2. Reads model state directly (AstVarRef to non-locals/arguments)
Such function can only be created internally after scheduling (V3Task
throws an unsupported error on a non-inlined function that reads model
state), so added a flag to AstCFunc to mark the dangerous ones for
V3Life.
2026-02-14 20:15:32 +00:00
Geza Lore
3dd2b762e7
Fix scope tree in traces in hierarchical mode ( #7042 )
2026-02-12 20:54:03 -05:00
Wilson Snyder
bbb231dfe2
Internals: Minor cleanups preparing for initialization fixes. No functional change.
2026-02-07 14:16:12 -05:00
Wilson Snyder
7ca113a84f
Fix non-inlined function return value clearing ( #6982 ).
2026-02-01 11:57:09 -05:00
Wilson Snyder
7c6c6a684b
Add SPDX copyright identifiers, and get 'reuse' clean. No functional change.
2026-01-26 20:24:34 -05:00
Todd Strader
bc3c5b32dd
Fix delayed initial assignment ( #6929 )
2026-01-23 12:53:40 -05:00
Wilson Snyder
13327fa9c0
Copyright year update.
2026-01-01 07:22:09 -05:00
Wilson Snyder
5dc05e1fa8
Internals: Update some JSON references. No functional change.
2025-12-23 10:13:23 -05:00
Krzysztof Bieganski
a2fcd37c08
Fix unsupported `if` virtual interface warning ( #6558 ) ( #6861 )
2025-12-23 10:12:34 -05:00
Thomas Aldrian
361ab194ff
Internals: Modport expression parsing and tests ( #2601 partial) ( #6848 )
2025-12-21 08:58:21 -05:00
Wilson Snyder
12ff481689
REVERT 612237b7: Optimize trace code for faster compiles on repeated types ( #6707 ) ( #6832 partial).
2025-12-17 17:37:35 -05:00
Todd Strader
35dcf70f48
Optimize trace code for faster compiles on repeated types ( #6707 )
2025-12-16 17:52:00 -05:00
Dan Ruelas-Petrisko
394d9cf168
Support `-libmap` ( #5891 partial) ( #6764 )
2025-12-16 11:21:46 -05:00
Wilson Snyder
2f4b178957
Support parsing only of covergroup.option.option_name
2025-12-04 21:55:55 -05:00
Wilson Snyder
7957701db8
Suppress unsupported for unused constant sequences
2025-12-03 21:23:48 -05:00
Yilou Wang
e25c66de07
Support complex std::randomize patterns ( #6736 ) ( #6737 )
2025-12-01 16:26:16 -05:00
Jakub Wasilewski
0b8c369740
Add `sc_biguint` pragma ( #6712 )
2025-11-20 17:08:59 -05:00
Dan Ruelas-Petrisko
7edf6d4749
Support `--top` specifying `config` name ( #6710 )
2025-11-19 20:23:02 -05:00
Wilson Snyder
5c0ad5bd1f
Internals: cppcheck fixes. No functional change. ( #6687 )
2025-11-12 18:54:22 -05:00
Yilou Wang
0853aa7515
Support basic global constraints ( #6551 ) ( #6552 )
2025-11-05 07:14:03 -05:00
Geza Lore
d3ca79368c
Internals: Replace AstMTaskBody with AstCFunc( #6280 ) ( #6628 )
...
AstMTaskBody is somewhat redundant and is problematic for #6280 . We used
to wrap all MTasks in a CFunc before emit anyway. Now we create that
CFunc when we create the ExecMTask in V3OrderParallel, and subsequently
use the CFunc to represent the contents of the MTask. Final output and
optimizations are the same, but internals are simplified to move
towards #6280 .
No functional change.
2025-11-03 06:32:03 +00:00
Geza Lore
d066504bb9
Optimize away calls to empty functions ( #6626 )
2025-11-02 16:11:02 -05:00
Paul Swirhun
10935ee031
Fix HIERPARAM to be suppressed for interface ports ( #6587 ) ( #6609 )
...
Co-authored-by: Paul Swirhun <paulswirhun@gmail.com>
2025-10-31 15:49:30 -04:00
Geza Lore
922223a9c3
Internals: Replace VlTriggerVec with unpacked array ( #6616 )
...
Removed the VlTriggerVec type, and refactored to use an unpacked array
of 64-bit words instead. This means the trigger vector and its
operations are now the same as for any other unpacked array. The few
special functions required for operating on a trigger vector are now
generated in V3SchedTrigger as regular AstCFunc if needed.
No functional change intended, performance should be the same.
2025-10-31 18:29:11 +00:00
Geza Lore
5ac345e09c
Internals: Add AstStmtPragma ( #6280 )
...
Trivial adaptor node to put AstPragma in AstNodeStmt position, which
will be required in various places. Also fix dumping of AstPragma.
2025-10-22 18:51:11 +01:00