Edmund Lam
529d98918a
Fix deferring parameters for class::localparam access ( #7746 ) ( #7748 )
2026-09-15 21:17:26 -04:00
Mike Murunov
270c528afd
Fix missing implicit net for bufif/notif/nmos/pmos data input ( #8353 ) ( #8354 )
2026-09-14 17:31:51 -04:00
Geza Lore
849cc5aeca
Internals: Move wrapTop before V3Coverage ( #8291 )
2026-09-06 17:34:40 -04:00
Geza Lore
d04647f459
Fix library method argument references ( #8252 )
...
Each VCMethod now carries a signature describing the access required of
the references passed as arguments to the call. 'r' if the argument is
read, 'w' if it is fully assigned so the old value does not matter, 'm'
if it is modified (or only conditionally assigned), with a trailing '+'
repeating the preceding entry for all remaining arguments. Signatures
are validated at compile time, and V3Broken checks the arguments of
every AstCMethodHard against them.
The incorrect references this found and that are easy to fix are
repaired in this patch. "TODO" marks method that are currently broken or
not yet fit the scheme, these will be fixed in follow up patches.
Also renames SCHED_COMMIT and SCHED_ENQUEUE to NBA_COMMIT and
NBA_ENQUEUE, and remove unused methods.
2026-09-05 19:48:07 +01:00
Wilson Snyder
1c2fa7234d
Fix removing extra width warnings after another error
2026-08-31 18:04:58 -04:00
Geza Lore
dcf45da1c0
Fix excessive SIMILARNAME warnings ( #8233 )
2026-08-28 15:55:41 -04:00
Aisha
b23b53227d
Fix SIMILARNAME warning on parameters and localparams ( #8186 ) ( #8226 )
2026-08-25 16:19:41 -04:00
Wilson Snyder
df0d801790
Internals: Duplicate code cleanup. No functional change intended.
2026-08-23 16:24:59 -04:00
Marco Bartoli
0820506d74
Support covergroup/function/task (ref/virtual/array) interface arguments ( #8180 )
2026-08-22 15:46:07 -04:00
Geza Lore
d1067002da
Fix crash on empty '#()' parameter list on class instance ( #8182 )
...
The following used to crash:
```systemverilog
class base #(type T = int); endclass
class derived extends base; endclass
derived #() d; // <- crash due to '#()'
```
2026-08-21 18:16:09 +02:00
Adam Kostrzewski
75a776c516
Fix invalid typedef linkdot ( #8106 )
...
Signed-off-by: Adam Kostrzewski <[email protected] >
2026-08-14 12:28:35 -04:00
Artur Bieniek
0ebb92da26
Fix hierarchical class scope resolution ( #8094 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-12 15:29:04 -04:00
Paul Campbell
5d888d2ac0
Add SIMILARNAME warning when variables have names that only differ in lexical case ( #7992 ) ( #8020 )
2026-08-10 06:57:58 -04:00
Kamil Danecki
7e80ea6577
Support default clocking ( #7984 )
2026-08-07 13:21:18 +01:00
Nikolai Kumar
351d67c81e
Fix pin to non-existent port with PINNOTFOUND suppressed ( #8051 ) ( #8052 )
2026-08-05 12:00:32 -04:00
David Garau
a24dd8b2dc
Fix generic interface param resolution in module/cell parameterization ( #7970 ) ( #7971 )
2026-08-03 05:18:59 -04:00
Marco Bartoli
7e116ca601
Support embedded covergroup member references ( Fix #7749 ) ( #8015 )
2026-08-01 02:13:53 -04:00
Marco Bartoli
4b770cffb4
Fix cross module disable (Part 5 of #7857 ) ( #8006 )
2026-07-30 14:56:07 +01:00
BRDR LIFE
5fd1c93d43
Fix randomize() with shadowing a user variable named 'item' ( #7993 ) ( #7994 )
...
Fixes #7993 .
2026-07-28 12:29:45 -04:00
Wilson Snyder
3924fe9c18
Fix uncaught type error leading to invalid C++ output ( #7814 ).
...
Fixes #7814 .
2026-07-19 13:32:53 -04:00
Mateusz Gancarz
185a49e628
Fix unlinked error with function call in derived class parameter ( #7923 )
...
Signed-off-by: Mateusz Gancarz <[email protected] >
2026-07-19 09:55:29 -04:00
Pawel Klopotek
cf27c63b2d
Fix type resolution when a local name shadows a type name ( #7915 )
2026-07-17 08:10:23 -04:00
Andrii
affe4cde57
Fix class parameter resolution ( #7935 )
2026-07-15 10:56:22 -04:00
Geza Lore
566f4e6efc
Internals: Add new VL_RESTORER flavours ( #7866 )
...
Restrict VL_RESTORER to be usable only with trivially copyable types.
Introduce VL_RESTORER_COPY and VL_RESTORER_CLEAR, which are more
efficient versions usable for non trivially copyable types.
VL_RESTORER_COPY semantically behaves the same as VL_RESTORER, but only
does one copy at initialization, and on scope exit restores via a move.
VL_RESTORER_CLEAR swaps the variable with an new one constructed via
the no-args constructor (e.g. empty collection), which does not require
any copying at any point.
Static assertions enforce picking one of the new flavours when copying
might be expensive.
2026-07-04 17:27:07 +01:00
Sergey Chusov
1ea10ba71c
Fix class scope '::' reference through an inherited type parameter ( #7844 )
2026-07-01 15:58:35 -04:00
Tom Jackson
2baca68f86
Fix class/var named identically to an enclosing-scope type ( #7827 ) ( #7828 )
...
Fixes #7827 .
2026-06-23 20:43:31 -04:00
Nick Brereton
26c85d4495
Fix $bits on unpacked structs ( #4521 ) ( #7796 )
...
Fixes #4521 .
2026-06-17 17:56:48 -04:00
Geza Lore
df1b1577d9
Deprecate isolate_assignments attribute ( #7774 )
...
As per discussion. Remove the unsound V3SplitAs pass. The
isolate_assignments attribute/directive is now parsed and ignored in the
frontend for compatibility but otherwise have no effect.
Fixes #7144
2026-06-13 19:40:29 +01:00
Krzysztof Bieganski
7664bbb3ef
Support generic interface arrays ( #7604 )
2026-06-02 22:28:50 -04:00
Wilson Snyder
349dd546e7
Internals: Rename stdPackageProcessp etc. No functional change.
2026-05-15 17:33:19 -04:00
Yilou Wang
fc49811fd7
Support randsequence production function ports ( #7522 )
2026-05-04 11:28:17 -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
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
Alex Zhou
7e0f25b41b
Fix access to static variable inside function ( #7474 ) ( #7475 )
...
Fixes #7474 .
2026-04-23 11:17:14 -04:00
em2machine
59fe8066ff
Support multidimensional arrays of interfaces ( #6230 ) ( #7451 )
...
Fixes #6230
2026-04-22 13:42:10 +02: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
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
e7a644a3fc
Fix functions in generate block resulting in "Broken link in node" ( #7236 ) ( #7367 )
...
Fixes #7236
2026-04-03 11:19:17 -04:00
Wilson Snyder
31757df229
Internals: clangtidy cleanups. No functional change intended ( #7343 )
2026-03-27 23:14:18 -04:00
Geza Lore
e5adb60461
Internals: Only add VAR_PORT_DTYPE prior to V3Width ( #7331 )
2026-03-26 13:44:11 -04:00
Nick Brereton
24918b83be
Fix typedef scope resolution for parameterized class aliases ( #5977 ) ( #7319 )
2026-03-24 17:25:40 -07:00
Artur Bieniek
aff85cef19
Support more than one dot in defparam ( #7262 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-03-24 09:20:46 -04:00
Ryszard Rozak
9a01a4054a
Improve error message when variable used as data type ( #7318 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2026-03-24 01:45:09 -07:00
Yilou Wang
b71abb0032
Fix local:: false error in randomize() with on parameterized class ( #6680 ) ( #7293 )`
2026-03-20 10:25: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
Yilou Wang
8925762077
Fix rand_mode(0) on sub-object members not preventing solver write-back ( #7272 )
2026-03-17 15:09:14 -04:00
em2machine
bef5c1f475
Fix static function not found from parameterized extends class ( #7204 ) ( #7208 )
2026-03-06 16:23:02 -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