Leela Pakanati
a3fc11b5a4
Merge 3301c7c699 into 3bc73cc768
2026-03-03 16:23:18 -08:00
em2machine
5f3d475736
Internals: Minor coverage improvement as followup to ( #7128 followup) ( #7184 )
2026-03-03 11:13:32 -05:00
em2machine
5821d0697c
Fix interface localparam dependencies and arbitrary nesting ( #6936 ) ( #7128 )
2026-03-03 06:55:59 -05:00
Geza Lore
da51021b0a
Internals: Simplify AstForeach header handling ( #7126 )
...
Rename AstSelLoopVars to AstForeachHeader, and make it a non-NodeExpr.
Tweak parser to always create an AstForeachHeader, so no need to fix it
up later.
2026-02-22 18:57:12 +00: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
Geza Lore
e023113b79
Internals: Carry 'with' clause as op4 on AstNodeFTaskRef ( #7114 )
...
op4 is now available to carry the 'with' clause explicitly instead of
being part of the argument lit. Will strengthen 'pinsp' to be
List[AstArg] next.
2026-02-22 09:15:28 +00:00
github action
03ed6a5bd3
Apply 'make format'
2026-02-21 05:44:17 +00:00
Alex Zhou
a4ad255438
Fix extending class by a typedef ( #6679 ) ( #6855 )
2026-02-21 11:13:22 +05:30
Yilou Wang
e0edb49f7a
Support 'this' keyword inside inline randomize() with {} constraint blocks ( #7102 ) ( #7113 )
2026-02-20 10:53:34 -05:00
Artur Bieniek
da28c67e60
Fix #0 delays to control fork scheduling ( #6730 repair) ( #6891 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2026-02-17 21:51:11 -05:00
github action
60b52a4986
Apply 'make format'
2026-02-06 11:39:13 +00:00
Leela Pakanati
b14d65a787
Support modport expression syntax + nested ( #2601 ) ( #5581 ) ( #7005 )
2026-02-06 06:38:16 -05:00
Leela Pakanati
c2d3655569
Fix typedef of parameterized class for member access ( #5977 )
...
Defer RefDType resolution in linkDotPrimary when the classOrPackageRef
target is a typedef to a parameterized class. Previously only direct
class references were deferred, so `typedef outer_cls#(params) drv_t;
drv_t::beat_t x;` would resolve against the generic class which V3Param
later deletes.
2026-02-05 22:06:31 -06:00
Leela Pakanati
2215d01d6b
Fix hierarchical interface/modport issues ( #5941 ) ( #6997 )
2026-02-05 22:15:30 -05:00
github action
55eaa64386
Apply 'make format'
2026-02-04 21:27:14 +00:00
Leela Pakanati
57c3b8e51b
Support nested interface as port connection ( #5066 ) ( #6986 )
2026-02-04 16:26:20 -05:00
Krzysztof Bieganski
ad85d89817
Support `foreach` with nested dots ( #6991 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2026-02-03 08:44:18 -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
67df517bec
Fix type assignments for arrays of parameter types ( #6955 )
2026-01-26 15:50:52 -05:00
Wilson Snyder
1b9f38f78f
Fix parameterized virtual interface references that have no model references ( #4286 ).
...
Fixes #4286 .
2026-01-25 14:25:42 -05:00
Wilson Snyder
86cd249816
Add instance module location helper when pin not found
2026-01-21 07:50:46 -05:00
Jose Drowne
3a080ef543
Add IEEE 4-state type lint checks ( #3645 partial) ( #6895 )
2026-01-18 11:00:25 -05:00
Wilson Snyder
50b6954cfc
Internals: cppcheck cleanups
2026-01-17 23:18:09 -05:00
Wilson Snyder
913cf933e9
Fix segfault in missing extends ( #6903 ).
...
Fixes #6903 .
2026-01-16 19:57:23 -05:00
Wilson Snyder
13327fa9c0
Copyright year update.
2026-01-01 07:22:09 -05:00
Wilson Snyder
397e64903c
Fix typedef `::` class reference error ( #6862 ).
2025-12-24 10:01:46 -05:00
Wilson Snyder
5dc05e1fa8
Internals: Update some JSON references. No functional change.
2025-12-23 10:13:23 -05:00
Thomas Aldrian
361ab194ff
Internals: Modport expression parsing and tests ( #2601 partial) ( #6848 )
2025-12-21 08:58:21 -05:00
em2machine
3ceac0b37e
Fix parameterized class module parameters ( #6754 ) ( #6834 )
2025-12-19 12:57:15 -05:00
Wilson Snyder
a3f913c5b1
Fix randomize call in parameterized class
2025-12-08 20:26:53 -05:00
em2machine
d0a5da2445
Fix typedef derived from type defined inside interface ( #3441 ) ( #6776 )
2025-12-08 15:36:21 -05:00
Wilson Snyder
ae480c5f76
Fix enum item references in class extends with parameters.
2025-12-07 15:26:52 -05:00
Wilson Snyder
8130fed777
Fix pre/post_randomize on extended classes ( #6467 ).
2025-12-07 14:14:48 -05:00
Wilson Snyder
ba9d6df20c
Fix class-in-class extends with parameters ( #6773 ).
2025-12-07 13:38:25 -05:00
Wilson Snyder
35a794687b
Internals: Add some additional dangling checks. No functional change intended
2025-12-07 13:25:37 -05:00
Matthew Ballance
0e03ab2a57
Fix crash when super.new() called without a base class ( #6772 )
2025-12-06 18:08:51 -05:00
Wilson Snyder
040484cc3f
Fix extern function that returns parametrized class ( #4924 ).
2025-12-06 16:16:06 -05:00
em2machine
c2cba8bfc6
Fix localparam type assignment from interface type parameters ( #6637 ) ( #6732 )
2025-12-06 09:42:59 -05:00
Wilson Snyder
b9b6eb61d9
Support randsequence ( #6131 )
2025-11-30 09:04:42 -05:00
Artur Bieniek
2c5ff3f63f
Fix fork scheduling semantics ( #6730 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-11-26 15:52:53 +03:00
Wilson Snyder
8293a8d035
Fix multitop cross references ( #6699 ).
2025-11-26 06:09:29 -05:00
Wilson Snyder
6bba9f6c40
Internals: Defer interface typedefs, and add more tests ( #3441 tests)
2025-11-21 19:42:22 -05:00
Wilson Snyder
e61012e30d
Improve class extends error format
2025-11-16 21:00:13 -05:00
Geza Lore
a4c5d2e29c
Fix ENUMVALUE error when overriding enum param from CLI using -G/-pvalue
2025-10-30 12:04:12 +00:00
Wilson Snyder
b652009235
Internals: Fix name of some static and thread variables. No functional change.
2025-10-27 20:49:41 -04:00
Geza Lore
0ead54b17e
Support dotted access to ports of a direct hier_block instance. ( #6595 )
...
Accessing the ports of hier_block instances directly under the current
hier_block (or top level) work just fine (the heir stub .sv has them),
and this can simplify hooking up dotted references into hier blocks:
push part of the reference under the hier block into the hier block, and
wire it to a port, then resolve the rest of the reference to the port of
the instance.
2025-10-25 18:39:21 +01:00
Geza Lore
d864057a60
Internals: Refactor AstNodeBlock representation ( #6280 ) ( #6588 )
...
Internals: Refactor AstNodeBlock representation (#6280 )
AstNodeBlock now has 2 child lists: 'declsp' to hold declarations within
the block, and 'stmtsp' to hold the procedural statements.
AstBegin is then just a simple subtype of AstNodeBlock.
AstFork is a proper superset of AstNodeBlock (and also AstBegin), and
adds 'forksp' which hold the parallel statements. Having the sequential
'stmtsp' in AstFork is required to properly implement variable
initializers in fork blocks (IEEE 1800-2023 9.3.2), this makes that
clear, while also separating the non AstNodeStmt declarations
(for #6280 ). The actual fork branches in 'AstFork::forkps()' are all
AstBegin nodes. This is required as lowering stages will introduce
additional statements in each parallel branch. (We used to wrap AstFork
statements into AstBegin in 3 different places, now they always are
AstBegin and this is enforced via the type checker/V3Broken).
Also fixes incorrect disabling of forked processes from within the `fork`.
2025-10-24 14:00:07 +01:00
Ryszard Rozak
e00403351c
Fix references to interfaces containing generate blocks ( #6579 )
2025-10-22 08:37:43 +02:00
Wilson Snyder
14e3448ba6
Fix `with` inside a `with`
2025-10-21 00:40:47 -04:00
Ryszard Rozak
af2327aaf4
Fix hierarchical references with parameterized modules and interfaces ( #5649 ) ( #6566 )
2025-10-17 09:06:46 -04:00