Improve dense BGA routing and integrate AM3352 benchmark samples - #186
Open
seveibar wants to merge 24 commits into
Open
Improve dense BGA routing and integrate AM3352 benchmark samples#186seveibar wants to merge 24 commits into
seveibar wants to merge 24 commits into
Conversation
…it/fanout-solver into improve-dense-source-routing
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
seveibar
marked this pull request as ready for review
September 7, 2026 20:47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dense BGA source reservations can prevent an otherwise routable bus from meeting its length limit. Bounded reservation retries, diagonal source-corridor repairs, coordinated pair routing, and transactional rematching of unfinished dogbones increase the original benchmark from 29/48 to 40/48. Empty via-occupancy checks and repeated obstacle ownership work are reduced.
The benchmark also integrates dataset revision
637a6566a011be520b4fd170ad3f6da696ad4ff9, adding 12 AM3352 configurations for 72 total cases. The full./benchmark.shrun passes 40/72, with 32 timeouts, no errors, and no partial results.The run uses the unchanged defaults: four workers, a 120-second hard deadline per sample, and original assignment budgets. All prior 60 captured SRJs and solver options remain JSON-equivalent. Dataset geometry, connected pins, skew limits, allowed layers, and native DRC are preserved. The JSON/Markdown reports and all 40 passing SVGs are committed in
benchmark-results/; none of the previous 29 passing cases regressed.Validation includes focused visual regressions, native DRC, transactional rollback checks, typecheck, and formatting. An independent audit of all 14 new or changed passing SVGs checked 82,307 segments and 79,589 turns with no angle or boundary issues. Full CI passes: 255 tests, 4 preexisting skips, and no failures.
Snapshot CI now matches the macOS ARM baseline platform: an independent numerical probe reproduced OS-dependent Math.hypot results changing the native router's exact priority-queue order. Ordinary CI tests allow 15 seconds for cold renderer startup; solver limits and benchmark deadlines are unchanged. The corner helper test initializes its inputs directly, and the six-family CLI test allows capture overhead while preserving each solver subprocess's one-second deadline.
Benchmark measured on Apple M3 Pro/macOS ARM with Bun 1.3.2 at
16ee0c6; final solver, generator, and benchmark source are identical. Stacked on #185.