Skip to content

fix(gen-verilog): TB assignments emit for real; packed literals read element text - #1953

Merged
gHashTag merged 1 commit into
masterfrom
fix/tb-real-assigns
Aug 8, 2026
Merged

fix(gen-verilog): TB assignments emit for real; packed literals read element text#1953
gHashTag merged 1 commit into
masterfrom
fix/tb-real-assigns

Conversation

@gHashTag

@gHashTag gHashTag commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Refs #1948

Two TB-side defects kept array-driven specs red even after the fn-side [T; N] packing:

  1. Test-block StmtAssign/StmtLocal were emitted COMMENTED OUT — every binding built from a call (array = create(...)) stayed X; array-driven asserts could never pass. Real emission now (regs from gen-verilog-sim: test-block local bindings emitted as assignments without reg declarations #1894 + gen-verilog TB long tails: typed let-locals get no reg declaration; unsized concat operands; 'Syntax error defining function' class #1948 passes).
  2. Packed array-literal concat only read child nodes — the parser stores list-form element text in extra_size with no children, so literals built from params/calls rendered as zeros. The text path splits top-level commas and width-casts each element.

tri-net corpus: icarus 60 → 69 passing (adaptive_routing, energy_aware_routing, failure_predictor, health_monitoring, key_management, multipath_routing, network_coding, redundancy_management, trust_manager join); no gate regression. Only unit red is pre-existing bitnet_layer. FROZEN_HASH resealed; NOW.md entries added.

🤖 Generated with Claude Code

…element text

Refs #1948

Two testbench-side defects kept every array-driven spec red under
icarus even after the fn-side [T; N] packing landed:

- Test-block StmtAssign/StmtLocal statements were emitted COMMENTED
  OUT: every binding built from a call (`array = create(...)`) stayed
  X in the testbench, so array-driven asserts could never pass. They
  emit for real now -- the regs come from the #1894 pass and the
  t27#1948 declaration pass.
- The packed array-literal concatenation only read CHILD nodes, but the
  parser stores list-form element text in extra_size with no children:
  literals built from parameters or calls rendered as ZEROS
  (create_path_metrics_array returned {32'd0, 32'd0, 32'd0, 32'd0}).
  The text path now splits top-level commas and width-casts each
  element for the concatenation.

tri-net corpus: icarus 60 -> 69 passing; adaptive_routing,
energy_aware_routing, failure_predictor, health_monitoring,
key_management, multipath_routing, network_coding,
redundancy_management and trust_manager all join. No gate regression.
FROZEN_HASH resealed; only unit red is the pre-existing bitnet_layer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gHashTag
gHashTag enabled auto-merge (squash) August 8, 2026 17:44
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-08 17:44:26 UTC

Summary

Status Count
Total Open PRs 14
PRs with Failing Checks 1
PRs with All Checks Green 13
READY 5
FAILING 1
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=83e84837bc3f != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag merged commit 079ed21 into master Aug 8, 2026
21 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant