Route sparse BGA boundary escapes through vacant grid sites - #158
Open
AnasSarkiz wants to merge 2 commits into
Open
Route sparse BGA boundary escapes through vacant grid sites#158AnasSarkiz wants to merge 2 commits into
AnasSarkiz wants to merge 2 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
/benchmark |
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.
B21/MMC1_DAT1 in the AM625SiP reproduction now escapes through a legal neighboring vacant grid site. The case improves from 2/3 to 3/3 connections with one through-all via and zero connectivity or copper DRC issues.
Stacked on #157, which contains the unchanged captured input, report, debugger page, and before snapshot. Review/land #157 first; this PR targets its branch to keep the reproduction and fix separate.
The boundary-route search now enumerates neighboring ball-grid positions within one pitch of each source. It accepts only straight/45-degree source stubs, validates every proposed site through the existing dogbone matcher, and validates complete route plans against the original obstacles and accepted copper. Candidate coordinates participate in the static-clearance cache key. Existing directional handedness/order candidates remain first. Occupied grid positions are discarded before matching; legal vacant-site candidates are computed once per bus routing call and reused across route-order attempts. The extra search is skipped when there are no usable vacant sites. No chip-specific routing coordinates, manual traces, via-in-pad, changed clearances, or router substitution are used. Existing component-wide/plane matching is unchanged.
The reproduction regression now requires 3/3 connectivity and independent copper DRC with one via. An additional visual regression places a bottom-layer pad at the vacant site and requires the solve to fail, demonstrating through-all clearance enforcement. The outer-row control and existing nine-bus AM62L PCB snapshot remain unchanged.
PCB snapshots
Before (#157):
After:
Blocked bottom-layer site:
Validation
All listed checks pass (6 focused tests plus the unchanged AM62L snapshot). All 12 directional exit settings were also checked: each solves 3/3 with no copper DRC issues. The five tests that exposed extra-search overhead now pass locally at their unchanged deadlines, alongside the three AM625SiP regressions (8/8 pass). GitHub CI at
25fe730passes all 8 test shards, aggregate tests, and the preview build; no checks remain pending or failed. Typecheck and formatting also pass locally (the repository runs those CI workflows only for PRs targeting main).The canonical dataset31 benchmark completed at the exact fix commit
25fe730, using the default 4 workers and 120-second sample deadline:b85993925fe730The broader AM62L benchmark remains deadline-limited; these timeouts are not successful solves. Local runs had different background load, so this comparison does not establish a speedup. The AM625SiP regression is independently verified at 3/3, including all 12 directional exit settings.
This fixes native fanout prefix generation only. The downstream circuit remains configured for Pipeline 9.