Wave Loop 777 validates a module-scope [373][2]^6 Pt packed array-of-struct variable initialized from a function call, with indexed signed field writes and assert_eq read-back in a bench block.
This is the next step in the odd-outer-dimension ladder (339 → 341 → 343 → 349 → 351 → 353 → 355 → 357 → 359 → 361 → 363 → 365 → 367 → 369 → 371 → 373).
Acceptance criteria
Technical notes
- Shape:
[373][2]^6 Pt where Pt = pub struct Pt { x : i16, y : i16 }.
- Total elements:
373 x 64 = 23,872.
- Packed vector width:
23,872 x 32 = 764,416 bits (~0.729 MiBit).
MID_IDX = 186; frame-condition element [186][1][0][0][0][0][0] is element 186*64 + 32 = 11,936.
- Generator script:
scripts/gen_w777.py (copy from scripts/gen_w776.py, set OUTER = 373 and MID_IDX = 186, fix module prefix).
- Use
assert_eq checks on changed elements (Icarus simulation path does not emit assert_ne).
- Include
make_grid(32768) period-identity check because 32768 == 0 (mod 32768).
- Zero compiler / reference-model / FROZEN_HASH changes expected.
Wave Loop 777 validates a module-scope
[373][2]^6 Ptpacked array-of-struct variable initialized from a function call, with indexed signed field writes andassert_eqread-back in abenchblock.This is the next step in the odd-outer-dimension ladder (339 → 341 → 343 → 349 → 351 → 353 → 355 → 357 → 359 → 361 → 363 → 365 → 367 → 369 → 371 → 373).
Acceptance criteria
specs/scratch/w777_bench_module_373x2p6_aos_var_call_write.t27is generated and parses.t27c seal --savesucceeds and FROZEN_HASH remains unchanged.accepts_w777_bench_module_373x2p6_aos_var_call_writeis added.docs/reports/FPGA_LOOP_CLOSEOUT_W777_2026-07-24.mdis written..trinity/experience.md, memory,.claude/skills/t27-wave-loop.md, and.trinity/current-issue.md..claude/plans/wave-loop-778.mdwith three cooperation variants is created.Technical notes
[373][2]^6 PtwherePt = pub struct Pt { x : i16, y : i16 }.373 x 64 = 23,872.23,872 x 32 = 764,416bits (~0.729 MiBit).MID_IDX = 186; frame-condition element[186][1][0][0][0][0][0]is element186*64 + 32 = 11,936.scripts/gen_w777.py(copy fromscripts/gen_w776.py, setOUTER = 373andMID_IDX = 186, fix module prefix).assert_eqchecks on changed elements (Icarus simulation path does not emitassert_ne).make_grid(32768)period-identity check because32768 == 0 (mod 32768).