Commit Graph
5548 Commits
Author SHA1 Message Date
Artur Bieniek f04eb8de81 Fix compound types in anonymous structs (#8449)
Signed-off-by: Artur Bieniek <[email protected]>
2026-09-22 12:41:11 -04:00
Artur Bieniek 08c9032927 Fix internal error when task without CFunc is left in the tree (#8437)
Signed-off-by: Artur Bieniek <[email protected]>
2026-09-22 11:36:20 -04:00
Wilson Snyder 4110d13131 Tests: Also check for brace-init comments 2026-09-22 09:13:42 -04:00
Wilson Snyder e63ca70d92 Tests: Add memers commented test 2026-09-22 07:21:32 -04:00
Ryszard Rozak dc179243eb Tests: Fix t_constraint_global_cls_arr (#8446)
Signed-off-by: Ryszard Rozak <[email protected]>
2026-09-22 06:35:43 -04:00
Jonathan Drolet e71d4e7fe5 Fix force read update sensitivity quadratic (#8431) (#8433) 2026-09-21 23:17:39 -04:00
Artur Bieniek 9e6af08c84 Fix false MULTIDRIVEN for writes in tasks never executed (#8401) 2026-09-21 20:57:40 -04:00
Kristof Marien a50aea7709 Fix streaming dynamic arrays with different element types failing to compile (#8434) (#8435) 2026-09-21 20:57:03 -04:00
Kristof Marien 9ca90f414c Fix nested random dynamic arrays internal error (#8438) (#8439) 2026-09-21 20:50:37 -04:00
Kornel Uriasz ba1961c70b Fix unique constraint with multiple arrays (#8378)
Signed-off-by: Kornel Uriasz <[email protected]>
2026-09-21 17:47:18 -04:00
Wilson Snyder d321a5fa5d Update IEEE references 2026-09-21 08:46:58 -04:00
Wilson Snyder 2180cfd635 Tests: Less aggressive waiting message 2026-09-21 08:11:21 -04:00
Wilson Snyder 3884b3ddf3 Tests: skip t_forceable_unpacked_large (#8431 disable) 2026-09-21 08:11:21 -04:00
Kamil Danecki f954f4fd1d Support nested array element member access in constraint (#8243) 2026-09-21 08:10:53 -04:00
Geza Lore 46774fded9 Optimize away dead ports (#8426) 2026-09-21 02:02:59 +01:00
Geza Lore 652495a932 Fix interface modport resolution against non-scope symbol tables (#8420)
LinkDotFindVisitor queued an AstIface into m_ifaceModSyms once for every
symbol table entry it was reached through. When creating scopes,
LinkDotIfaceVisitor resolves the modport items against the AstVarScopes,
which LinkDotScopeVisitor only inserts under the entry of an AstScope. A
hierarchical block wrapper builds a second copy of the instance tree in
the symbol table, and an interface reached through that copy has no
AstVarScopes to resolve against.

Resolving is destructive (the AstModportVarRef is deleted once resolved),
so this only worked when a resolvable entry happened to be processed
first, and failed with "Modport item not found" otherwise. When creating
scopes, register from the AstScopes instead, as those are exactly the
entries that hold the AstVarScopes.

Reproduces on t_hier_block with -fno-inline, added as a test.
2026-09-20 20:52:17 +01:00
Geza Lore c545552cc1 Fix FSM coverage hierarchy being emitted as an absolute path (#8421)
AstNodeCoverDecl::hier() is relative to the scope the declaration is
emitted from, as V3EmitCImp builds the reported path as 'vlNamep + hierp',
and that is how V3Coverage uses it. V3FsmDetect instead set it to the
absolute scope name, so the instance path was counted twice.

This was masked whenever the owning module was inlined, as the declaration
then ended up in the top scope. With inlining disabled, an FSM in an
instance reported 'top.t.forced_wide_u.t.forced_wide_u'. In the inlined
case it reported 'top.TOP', leaking the internal top wrapper name into
user visible coverage output, rather than plain 'top'.
2026-09-20 16:21:40 +01:00
Geza Lore fcb2a22d8e Tests: Skip t_forceable_unpacked_large with dev-coverage
This test takes over 1 hour to run with code coverage collection.
2026-09-20 16:12:29 +01:00
Geza Lore 8f6d6cd13b Fix placing Always into List[VarScope] in LinkDot (#8419)
Updated order dependent tests.
2026-09-20 14:15:41 +01:00
Marco Bartoli dc946aee2b Support enclosing cross identifiers in bin selections (#8416) 2026-09-20 08:57:14 -04:00
Wilson Snyder 3444d57929 Tests: Add VtOs.system 2026-09-19 21:31:14 -04:00
Marco Bartoli 18ad801887 Fix covergroup constructor initialization (#8410) 2026-09-19 16:44:04 -04:00
Kristof Marien c266da882d Fix crash when widthing a covergroup option through a forward class (#8351) (#8352) 2026-09-19 14:47:07 -04:00
Jonathan Drolet 6999fe0f29 Fix O(N^2) compile-time blowup forcing large unpacked arrays (#8395) 2026-09-19 14:22:38 -04:00
Marco Bartoli 014c9820de Warn on not yet implemented and ignored iff in default or transition bins (#8406) (#8407) 2026-09-18 21:34:54 -04:00
Marco Bartoli 1cefe95c85 Support iff in covergroup bins (#8406) 2026-09-18 20:29:22 -04:00
Nick Brereton a93317b6cc tests: Add VM_PREFIX_INCLUDE_DPI (#8386) 2026-09-18 17:29:53 -04:00
Jesús Alberto López Soto 724a42e31d Fix reevaluation of method calls in wait conditions (#8391) 2026-09-18 15:41:01 -04:00
Marco Bartoli 830cb633e5 Optimize covergroup bin metadata lookup (#8404) 2026-09-18 14:25:37 -04:00
Geza Lore 079422d6ae Fix Dfg driver tracing of partial assignments (#8377) (#8397)
Fixes #8377
2026-09-18 17:51:54 +01:00
Kornel Uriasz ce482bb087 Fix weighted dist constraints in presence of other constraints (#8392)
Signed-off-by: Kornel Uriasz <[email protected]>
2026-09-18 10:30:39 -04:00
Andrii Andrieiev 064ecbcb82 Fix error on non-existent interface ports (#8393)
Signed-off-by: Andrii Andrieiev <[email protected]>
2026-09-18 08:26:56 -04:00
Ryszard Rozak c25f287779 Fix copy constructor of classes with constraints (#8381) 2026-09-18 07:47:25 -04:00
Igor Zaworski 5f38b797f3 Fix access types of refs and inouts (#8380) 2026-09-18 07:46:56 -04:00
Nick Brereton 3fd16ed498 Internals: Hoist vpi_put_value_array argument validation to entry point. (#8384) 2026-09-17 18:08:16 -04:00
Geza Lore 1c4c6c9e9d Improve V3Split (#8385)
Various cleanups, simplifications and improvements:
- Build the output bottom up, eliminating AstSplitPlaceholder
- Replace the 'ignore step' pruning with removing the vertices and edges
- Treat an NBA written variable as a block input, enabling more splits
- Move instead of clone leaf statements

Overall V3Split is faster, uses less memory, can do more splits, is
simpler algorithmically, and has half the lines of code in V3Split

Most notably this can now be split, which could not be before:

```systemverilog
always @(posedge clk) begin
    a <= !a;
    if (a) b <= c;
end
```

t_x_rand_mt_stability* pin $random values, but there is one random seed
per C thread, so they depend on which thread runs the block. More
splitting moved that block onto a different thread, so force a single
MTask in those tests to keep them stable.

Some property/assert test changed hit counts due to races, but are now
closer to what might be expected.
2026-09-17 23:11:26 +02:00
Marco Bartoli 1aa87913c8 Support illegal_bins and ignore_bins for cross bins (#8372) 2026-09-16 17:53:15 -04:00
Artur Bieniek e2caf971de Fix NFA rings for bounded SVA delays (#8371)
Signed-off-by: Artur Bieniek <[email protected]>
2026-09-16 17:52:28 -04:00
Marco Bartoli 08cadc034d Reland and fix "Fix wide enum names" (#8344) (#8362) (#8365) (#8366) 2026-09-16 17:47:51 -04:00
Geza Lore 9f66980355 Revert "Internals: Improve V3Split (#8373)" (#8374)
This reverts commit d8a3208bea.
2026-09-16 21:44:19 +01:00
Geza Lore d8a3208bea Internals: Improve V3Split (#8373) 2026-09-16 16:25:36 -04:00
Geza Lore 573c2e61a6 Internals: Make V3LiftExpr non optional (#8369) 2026-09-16 12:29:56 -04:00
Wilson Snyder 45dbc90343 Tests: Reformat some tests to mostly verilog-format standard. No test functional change. 2026-09-15 21:35:50 -04:00
Edmund Lam 529d98918a Fix deferring parameters for class::localparam access (#7746) (#7748) 2026-09-15 21:17:26 -04:00
Artur Bieniek c9e3f59f26 Fix stale reads of continuously assigned forceable signals (#8223)
Signed-off-by: Artur Bieniek <[email protected]>
2026-09-15 21:15:37 -04:00
Bartosz Skorowski 3e30f4476a Support constant expressions in bins (#8309)
Signed-off-by: Bartosz Skorowski <[email protected]>
2026-09-15 21:15:25 -04:00
Drew Risinger e0e0011b36 Optimize recursion depth in Dfg circular driver tracing (#8272) 2026-09-15 23:23:54 +01:00
Wilson Snyder a9ddb4fab3 Revert "Fix wide enum names" (#8344) (#8362) 2026-09-15 13:42:35 -04:00
Geza Lore 3343f4d6c8 Fix V3InstrCount with recursive functions (#8361)
Fixes #8327
2026-09-15 18:30:16 +01:00
Marco Bartoli 253f51f1dc Fix %p format on class members (#8360) 2026-09-15 09:43:12 -04:00