Ryszard Rozak
09518ee207
Support aliases with more operands ( #6501 )
2025-09-29 13:23:51 -04:00
Ryszard Rozak
500312c050
Support for simple alias statements ( #6339 )
2025-09-26 15:19:48 +02:00
Geza Lore
800af37975
Internals: Refactor generate construct Ast handling ( #6280 ) ( #6470 )
...
Internals: Refactor generate construct Ast handling (#6280 )
We introduce AstNodeGen, the common base class of AstGenBlock,
AstGenCase, AstGenFor, and AstGenIf, which together represent all SV
generate constructs. Subsequently remove AstNodeFor, AstNodeCase
(AstCase is now directly derived from AstNodeStmt) and adjust internals
to work on the new representation.
Output is identical modulo hashes do to changed AstNode type ids, no
functional change intended.
Step towards #6280 .
2025-09-23 19:49:01 +01:00
Geza Lore
40ca0527db
Internal: Refactor AstAssignAlias ( #6280 ) ( #6473 )
...
Rename AstAssignAlias to AstAlias and make it derive from AstNode
instead of AstNodeStmt.
Replace AstAlias with AstAssignW in V3LinkDot::linkDotScope, which is
the last place we need to be aware of the alias construct. Using
AstAssignW dowstream enables further optimization while preserving the
same functionality.
2025-09-22 16:30:26 -04:00
Wilson Snyder
a647747260
Add IMPLICITSTATIC also on procedure variables.
2025-09-21 19:52:19 -04:00
Wilson Snyder
af54a26b43
Fix parsing of `with (...) {...}` but still unsupported
2025-09-20 19:59:31 -04:00
Wilson Snyder
580a843474
Fix randomize inside module without any classes
2025-09-20 17:13:54 -04:00
Wilson Snyder
d7f4dbfd13
Fix class.randomize without parens.
2025-09-16 18:56:04 -04:00
Geza Lore
a44907b700
Fix memory leaks - batch 4 ( #6439 )
2025-09-16 19:22:36 +01:00
Ryszard Rozak
c856380fac
Support modports referencing clocking blocks ( #4555 ) ( #6436 )
2025-09-16 13:25:40 -04:00
Wilson Snyder
2b3bf5f51d
Fix false missing implementation warning.
2025-09-16 07:48:20 -04:00
Wilson Snyder
39a9a00299
Fix external function declarations with class typedef references ( #6433 expanded).
2025-09-14 23:52:48 -04:00
Wilson Snyder
218af5500b
Fix external function declarations with class typedef references ( #6433 ).
2025-09-14 21:53:13 -04:00
Wilson Snyder
12c524ac06
Internals: Refactoring ( #6433 prep). No functional change intended.
2025-09-14 21:50:19 -04:00
Wilson Snyder
e348c9c344
Internals: Create common function for inlinedDots handling
2025-09-13 19:35:56 -04:00
Geza Lore
f1396fbced
Fix memory leaks - batch 2 ( #6417 )
2025-09-10 22:42:45 +01:00
Artur Bieniek
1923d23cff
Fix resolving default params upon instantiation or reference ( #4497 ) ( #6388 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
Co-authored-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2025-09-10 07:58:15 -04:00
Krzysztof Bieganski
6c69210037
Fix multiple resolution of classes, broke recently ( #6396 ) ( #6410 ) ( #6413 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2025-09-10 07:09:55 -04:00
Wilson Snyder
f57d1255e9
Fix import error format
2025-09-09 18:32:04 -04:00
Wilson Snyder
c6ffd22c45
Improve interface parent error wording ( #5357 )
2025-09-08 07:21:03 -04:00
Geza Lore
a1167b3d55
Fix use after free in V3LinkDot ( #6403 )
2025-09-08 10:24:55 +01:00
Krzysztof Bieganski
46f8003c4e
Fix import of class with default params ( #6396 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2025-09-06 21:21:50 +02:00
Ryszard Rozak
107f64e53b
Fix segfault when modport variable is unresolved ( #6386 )
2025-09-05 14:27:46 +02:00
Wilson Snyder
bd7f6d3c19
Fix randomize local after parameters applied ( #6371 ).
2025-09-03 20:04:41 -04:00
Wilson Snyder
929d2ad83a
Fix package imports not found after parameters applied ( #6373 ).
2025-09-03 19:45:43 -04:00
Szymon Gizler
8868d459a2
Fix broken support of unassigned virtual interfaces ( #6253 ) ( #6338 )
...
* Fix broken support of unassigned virtual interfaces
Unassigned virtual interface support added by #6245 is broken - PR marks
dead module as alive - we can't do that as once a module is dead it
needs to remain dead because earlier steps (e.g. port resolution) have
already been skipped.
This commit handles unassigned virtual interfaces at the beginning of
first pass of LinkDot (so it is never marked as dead, and no linking
steps are getting skipped).
Fixes #6253 .
* Apply suggestions from code review
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Apply 'make format'
* Revert add of redundant iterateChildren() call
* Add original test case
---------
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: github action <action@example.com>
2025-08-28 09:03:46 -04:00
Wilson Snyder
ac2859bf24
Internals: Upgrade to clang-format-18 ( #6333 )
2025-08-25 20:47:48 -04:00
Wilson Snyder
703f0d8c5d
Commentary: spelling
2025-08-25 18:47:08 -04:00
Igor Zaworski
b95a974ff1
Support generic interfaces ( #6272 )
2025-08-22 06:44:35 -04:00
Wilson Snyder
047a12cc62
Fix variables hiding package imports ( #6289 ).
2025-08-13 18:05:37 -04:00
Wilson Snyder
60cbbf0ec1
Add error on mismatching prototypes ( #6207 ).
2025-08-11 19:50:47 -04:00
Wilson Snyder
eb80db9397
Clarify extern error message
2025-08-10 08:38:26 -04:00
Wilson Snyder
c005486acf
Support by ignoring delay2 on UDPs
2025-08-05 17:34:42 -04:00
Wilson Snyder
870c398094
Fix incorrect Non-ANSI I/O declaration conflict error ( #6258 ) broke with #bd1ac038
2025-08-05 16:33:28 -04:00
Wilson Snyder
dca504c706
Internals: Use UINFOTREE istead of dumpTree
2025-08-02 13:44:40 -04:00
Szymon Gizler
61f4c97f40
Support unassigned virtual interfaces ( #5265 ) ( #6245 )
2025-08-01 12:39:13 +02:00
Wilson Snyder
bd1ac03828
Add I/O versus data declaration checking.
2025-07-31 18:38:50 -04:00
Wilson Snyder
9d38e63269
Remove error on missing forward declarations of typedef in class ( #6207 ).
2025-07-30 09:14:13 -04:00
Wilson Snyder
f3560837ec
Add error on missing forward declarations ( #6207 ).
2025-07-26 17:11:35 -04:00
Igor Zaworski
98b8d43a4a
Fix parameter-dependent type linking ( #6170 )
2025-07-21 07:30:10 -04:00
Igor Zaworski
8c5ba3a0d7
Fix conflicting function/class name linking error ( #6182 )
2025-07-16 17:25:01 -04:00
Igor Zaworski
4e8a8a0398
Fix param-dependent class typedef linking ( #6171 )
2025-07-10 21:11:09 -04:00
Igor Zaworski
31c279a7b3
Support randomize() on class member selects ( #6161 )
2025-07-10 04:59:05 -04:00
Igor Zaworski
dbfbc657e1
Fix class extends dotted error ( #6162 )
2025-07-09 17:12:11 -04:00
Ryszard Rozak
8b3a6ba542
Support disable dotted references ( #6154 )
2025-07-09 16:59:26 -04:00
Igor Zaworski
5777ab75c7
Fix crash with --dumpi-V3LinkDot without --debug ( #6159 )
2025-07-08 10:28:17 -04:00
Wilson Snyder
6c9cbaef62
Internals: Clean up some constructors. No functional change intended.
2025-07-03 18:59:32 -04:00
Paul Swirhun
e0c3b42262
Fix developer build error on MacOS/Flex2.6.4 ( https://github.com/verilator/verilator/pull/6153 )
2025-07-02 19:56:10 -07:00
Wilson Snyder
75229cc03d
Fix `pre_randomize`/`post_randomize` when no randomize ( #6122 ).
2025-06-26 18:34:20 -04:00
Wilson Snyder
e422c183ff
Fix method calls without parenthesis ( #6127 ).
2025-06-26 18:16:21 -04:00