Commit Graph
10397 Commits
Author SHA1 Message Date
David Harris a99ced0ed4 Fix covergroup '0/'1 bin values not filling to coverpoint width (#8458) (#8460) 2026-09-23 12:50:39 -04:00
Todd Strader e9a24647d8 CI: Fix regress wording (#8471) 2026-09-23 08:29:06 -04:00
Wilson Snyder 9401876de5 Commentary: Changes update 2026-09-23 08:16:58 -04:00
Wilson Snyder 492a8f7b67 Commentary 2026-09-23 08:16:51 -04:00
David Harris fe4b3bdec4 Fix $sscanf/$fscanf returning -1 after a partial match (#8457) (#8459) 2026-09-23 05:35:17 -04:00
Marco Bartoli 39e2d8e853 Support dynamic cross layouts and fix covergroup bin exclusions priority (#8424) 2026-09-22 20:44:25 -04:00
David Harris 525d1fade3 Fix internal error on covergroup in a specialized parameterized class (#8450) (#8452) 2026-09-22 19:00:20 -04:00
Geza Lore 6eced23e84 Optimize instance port connections by aliasing rather than by assignment (#8427)
Use AstAlias instead of AstAssignW in V3Inst port connection lowering,
the same way as V3Inline would do if the instance is inlined. This
closes some of the gap between -finline and -fno-inline behaviour, and
is also required for moving V3Inline post scope, where it could not
create aliases anymore (hence required for future patch to maintain
current behaviour).

This is also a partial fix to #4698 (only when the connected expression
is a plain VarRef)
2026-09-22 20:27:21 +01:00
Tynan McAuley 0ab3915de6 Fix data race in AstTypeTable by serializing V3VariableOrder (#8451) 2026-09-22 12:49:23 -04:00
Patrick Creighton d637b665ce Synthesize successive whole-element array assignments (#8316)
Preserve previous whole-element drivers when synthesizing successive
constant-index assignments to unpacked arrays. Retain earlier values
through their assignment temporaries and keep the default while some
elements remain uncovered.

Complete the array-default tracing path exposed by this representation.
Keep public-write checks, control-flow restrictions, and scheduling
unchanged, and cover propagation and conservative fallbacks in the
existing DFG regressions.

Part of #7964; array-only follow-up to #7966.
2026-09-22 17:46:38 +01:00
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 5dab8ab576 Commentary 2026-09-22 09:13:31 -04:00
Wilson Snyder e63ca70d92 Tests: Add memers commented test 2026-09-22 07:21:32 -04:00
Wilson Snyder f883b1c858 Commentary. No functional change 2026-09-22 07:20:46 -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
Kornel Uriasz a1e6252e77 Internals: V3Randomize cleanup. No functional change intended (#8443)
Signed-off-by: Kornel Uriasz <[email protected]>
2026-09-22 06:34:32 -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
dependabot[bot] 5883a5a40d CI: Bump the everything group with 4 updates (#8432) 2026-09-21 17:45:59 -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 232d3ecc0c Commentary: Changes update 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 3c05eef216 Fix losing coverage declarations if first in a module body (#8425) 2026-09-21 00:47:04 +01:00
Geza Lore e5384c7b68 CI: Fix yaml format 2026-09-20 23:56:59 +01:00
Geza Lore 33d1e4e685 CI: Fix more unintended cancellations 2026-09-20 23:38:41 +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 bef6c8afa0 CI: Fix imprecise 'onMaster' checks 2026-09-20 20:40:22 +01:00
Geza Lore 77e9938188 CI: Prevent concurrent format jobs on same ref 2026-09-20 20:40:22 +01:00
Geza Lore 8f0bd99449 CI: Fold pr-conflicting into pr-automation 2026-09-20 20:40:22 +01:00
Kaleb Barrett c4957ef206 Fix MSYS header include search to be after toolchain headers (#8422) 2026-09-20 15:14:11 -04:00
Geza Lore 2ee6f7435d CI: Fix unlabeling closed PRs canceling unrelated jobs 2026-09-20 20:08:41 +01:00
Shriyans Sahoo e71f6f3b7a Fix cache of boundary vertices in Dfg cycle breaking (#8308) 2026-09-20 17:05:56 +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
Geza Lore dfa4ace3dd Optimize V3Scope to move nodes on the last instance of a module (#8417)
Nodes were always cloned under the new scope, with the originals deleted
at the end of the pass. Count total module instantiations up front, then
move the nodes instead of cloning them when scoping the last instance.

Required to avoid a memory regression in a follow up, but also faster
and less peak memory overall.

Output is identical.
2026-09-20 14:15:29 +01:00
Geza Lore d30487e0f7 Optimize V3Scope to gather variable reference fixups in a vector (#8418)
Each AstVarRef is visited exactly once (blocks are iterated under
their per-scope clone), and the fixups are independent, so no need
for the ordered set.
2026-09-20 14:15:07 +01:00
Marco Bartoli dc946aee2b Support enclosing cross identifiers in bin selections (#8416) 2026-09-20 08:57:14 -04:00
Geza Lore 9e3ec98461 CI: Don't skip CI on format (#8408) 2026-09-20 07:14:47 -04:00
Wilson Snyder c8b8c79ee9 Commentary: Changes update 2026-09-19 21:33:08 -04:00
Wilson Snyder 67e6d09768 Commentary 2026-09-19 21:31:14 -04:00
Wilson Snyder 3444d57929 Tests: Add VtOs.system 2026-09-19 21:31:14 -04:00