Improve SRJ18 path negotiation and copper clearance repair - #2447
Improve SRJ18 path negotiation and copper clearance repair#2447seveibar wants to merge 142 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Benchmark This PRRun benchmarks by commenting on this PR: Comment Everything after Use Any PR whose title contains |
|
/benchmark --same-machine --dataset 18 |
|
/benchmark --same-machine --dataset 1 |
|
/benchmark --same-machine --dataset 18 |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 3 improved, 0 regressed. DRC issues are totaled across solved samples. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Changed outcomes (3)
Workflow: View run |
|
/benchmark --same-machine --dataset 18 |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 2 improved, 1 regressed. DRC issues are totaled across solved samples. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Changed outcomes (3)
Workflow: View run |
Native and Linux retain all four assertions and the reviewed physical contact lineage. Final reference errors are 52 versus 71 on the exact public baseline; no clean-board claim is made.
Both native and Linux retain all nine assertions, zero reference DRC errors, and zero physical via-pad or fixed-obstacle violations. Review used the physically installed final repair dependency.
|
/benchmark --dataset 18 --same-machine --pipeline 9 |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 2 improved, 1 regressed. DRC issues are totaled across solved samples. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Changed outcomes (3)
Workflow: View run |
Follow-up to merged #2442. Crowded boards can lose shared routes during rip-up, cross fixed copper during repair, or exhaust the time limit on repeated path and clearance work. This PR corrects shared ownership and copper geometry, and replaces the specialized precision portfolio with bounded negotiated repair.
Current result: 12/16 DRC passing (75.0%), versus 10/16 (62.5%) on main. This improves SRJ18 by 12.5 percentage points, but does not meet the original >90% target or the requirement to avoid a large performance drop. The PR remains draft because performance and broader regression checks are unresolved.
The pipeline uses clearance projection and bounded sweeps of via coalescence, terminal escape repair, regional repair, and projection. Regional searches share a work budget. Candidate acceptance checks reference DRC improvement, fixed copper, and via-pad contacts. Selection does not use dataset IDs or initial error-count thresholds, and the structural
Pipeline9ExactRepairSolver = BaseSolver & ...alias is removed.Geometry fixes preserve shared-cell ownership, physical A03 coordinates, exact via anchors, and full trace/via copper dimensions. Repair inputs carry immutable copper. Terminal necking follows pad width and reaches full width after exiting the pad. Pipeline 7 performs exact repair, clearance projection, and the shared bounded regional operation using physical board bounds and preloaded copper.
Performance changes reduce repeated path searches, port-owner lookups, spatial queries, connectivity lookups, and distance calculations. The final Repair03 dependency also avoids rebuilding unused force-move indexes while enumerating layer topologies. The benchmark, dataset, reference checker, declared clearances, trace widths, via diameters, and time limits are unchanged.
207c419197ca852cThe final same-machine comparison uses
/benchmark --same-machine --dataset 18and the standard 360-second limit. Later commits only update reviewed SVG snapshots; their production code and dependency pins match this run. Samples 13 and 14 become DRC passing. Sample 2 regresses from a completed route with DRC errors to a timeout. Samples 2, 6, and 15 time out in joint repair. Sample 16 retains two input-related contacts, including overlapping foreign-net pads. The issue total excludes timed-out samples.An earlier revision reached 93.8%, but it predates required copper and via-pad guard corrections. That score does not describe this PR's final runtime.
Validation and remaining work:
Supporting PRs are pinned to immutable commits: