Skip to content

Add AM625SiP inner-row microSD fanout repro - #157

Open
AnasSarkiz wants to merge 1 commit into
mainfrom
codex/repro-am625sip-sparse-bga-fanout
Open

Add AM625SiP inner-row microSD fanout repro#157
AnasSarkiz wants to merge 1 commit into
mainfrom
codex/repro-am625sip-sparse-bga-fanout

Conversation

@AnasSarkiz

@AnasSarkiz AnasSarkiz commented Sep 5, 2026

Copy link
Copy Markdown
Member

Adding MMC1_DAT1 on inner-row B21 to the AM625SiP microSD fanout leaves the solver at 2/3 routed connections. A21/CMD and A22/DAT0 alone solve with no connectivity or copper DRC issues.

This PR captures the report and reproduction separately from the algorithm fix. It adds a numbered Cosmos debugger page with a control toggle, the captured native fanout input, and PCB-routing SVG snapshots. All 425 circular BGA pads and three testpoint obstacles are retained in both cases; the control removes only the B21 connection/bus. Debug-serializer markers representing undefined were decoded by omitting those properties.

Reproduce

bun install --frozen-lockfile
bun test tests/am625sip-microsd-fanout-repro.test.ts tests/am625sip-microsd-fanout-control.test.ts
bun run start

In Cosmos, open repro06-am625sip-microsd-fanout and run with B21 enabled, then disabled. The reproduction snapshot reports solved=false · best=2/3; the control solves 2/2. The failure test captures the current visual result without locking the solver to failure, following the existing northeast repro pattern.

Expected / actual

Expected: route all three connections to the shared boundary, with legal through-all vias and preserved pad geometry. Actual on v0.0.57 / b859939: B21 does not escape. The candidate search omits neighboring vacant BGA grid positions, including the diagonal position beside B21; a follow-up PR will test and fix that search.

Input: 0.50 mm pad pitch, 0.30 mm circular pads, 0.09 mm trace/clearance, 0.4572 mm via pad, 0.2032 mm drill, four layers, top/bottom escape, no blind/buried vias, 32 × 32 mm fanout boundary. Captured from the incremental AM625SiP circuit after adding B21 to v1.0.3. This isolates the native fanout phase; the circuit's global router remains Pipeline 9.

PCB snapshots

Failing three-signal case:

AM625SiP 2/3 fanout

Working control:

AM625SiP 2/2 control

Validation

Focused tests: 2 pass. Typecheck, format check, and Cosmos export pass. GitHub CI passes all 8 test shards, aggregate tests, typecheck, format, and the preview deployment. Local full suite: 158 pass; 2 existing tests timed out under concurrent benchmark load, and both pass unchanged when rerun individually (bus-layer-atomicity and footprinter-benchmark). Dataset31 baseline at the default 120-second sample deadline: 1/12 solved, 11 timeouts. No production solver code changes.

Follow-up fix: #158 (stacked on this PR).

@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
fanout-solver Ready Ready Preview Sep 5, 2026 12:57pm UTC

Request Review

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