You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add integration test `accepts_w818_bench_module_455x2p6_aos_var_call_write`.
20
+
- Expected zero compiler / reference-model / FROZEN_HASH changes.
21
+
22
+
### B — `[453][3]^6 Pt` — grow the second inner dimension to stress stride scaling
23
+
24
+
- Keep outer dimension 453; change inner shape from `[2]^6` to `[3]^6`.
25
+
- This exercises a different stride scaling direction: inner dimension 3 produces a 3^6 = 729 inner product, yielding 453 × 729 = 330,237 elements and 10,567,584 bits (~10.08 MiBit), which crosses the 4-MiBit cliff. Use only if the maintainers explicitly want to probe that boundary; otherwise it is intentionally more disruptive.
26
+
27
+
### C — `[453][2]^6 Pt` with negative-index writes to exercise wrap-around addressing
28
+
29
+
- Same outer/inner dimensions as variant A (453) but add negative signed index writes inside the bench block (e.g., `dst[-1][...] = ...`).
30
+
- Verifies that the Verilog backend handles signed index wrap-around correctly.
31
+
- Requires careful choice of negative indices so the wrapped positions are deterministic and the reference model agrees.
32
+
33
+
## Recommended variant
34
+
35
+
**A** — the mechanical ladder is still well below the 4-MiBit cliff at `[455][2]^6 Pt` (~0.889 MiBit), and the generator/test/seal pipeline is fully reusable. Variant A minimizes risk and keeps the ladder moving predictably.
36
+
37
+
## Acceptance criteria
38
+
39
+
-[ ] Generator `scripts/gen_w818.py` with `OUTER = 455`, `MID_IDX = 227`; copy hazard fixed before first run.
40
+
-[ ] Witness `specs/scratch/w818_bench_module_455x2p6_aos_var_call_write.t27` generated and parsed.
41
+
-[ ]`t27c icarus-lowerable`, `icarus-simulate`, `icarus-cocotb`, and `seal --save` all PASS.
42
+
-[ ] Integration test `accepts_w818_bench_module_455x2p6_aos_var_call_write` added to `bootstrap/tests/icarus_lowerable.rs`.
Increment the non-power-of-two outer-dimension ladder by one rung to `[453][2]^6 Pt`, keeping the established inner-dimension (`2^6`) and struct (`Pt { x : i16, y : i16 }`) pattern. Validate that t27c still lowers, simulates, cocotb-matches, and seals the wider packed vector without compiler or FROZEN_HASH changes.
14
+
Increment the non-power-of-two outer-dimension ladder by one rung to `[455][2]^6 Pt`, keeping the established inner-dimension (`2^6`) and struct (`Pt { x : i16, y : i16 }`) pattern. Validate that t27c still lowers, simulates, cocotb-matches, and seals the wider packed vector without compiler or FROZEN_HASH changes.
15
15
16
16
## Acceptance criteria
17
-
-[ ] Generator `scripts/gen_w817.py` with `OUTER = 453`, `MID_IDX = 226`; copy hazard fixed before first run.
18
-
-[ ] Witness `specs/scratch/w817_bench_module_453x2p6_aos_var_call_write.t27` generated and parsed.
17
+
-[ ] Generator `scripts/gen_w818.py` with `OUTER = 455`, `MID_IDX = 227`; copy hazard fixed before first run.
18
+
-[ ] Witness `specs/scratch/w818_bench_module_455x2p6_aos_var_call_write.t27` generated and parsed.
19
19
-[ ]`t27c icarus-lowerable`, `icarus-simulate`, `icarus-cocotb`, and `seal --save` all PASS.
20
-
-[ ] Integration test `accepts_w817_bench_module_453x2p6_aos_var_call_write` added to `bootstrap/tests/icarus_lowerable.rs`.
20
+
-[ ] Integration test `accepts_w818_bench_module_455x2p6_aos_var_call_write` added to `bootstrap/tests/icarus_lowerable.rs`.
0 commit comments