Skip to content

Commit 2718b88

Browse files
Optimize performance of check_clearance_copper
based on #650 Main optimisations: It is now ensured that every patch that needs expanding will only be expanded once. Additionally the number of unique patches actually expanded should be reduced. The later is achieved by a primitive implementation of set-cover. Which is running a single pass over all patch_pairs and if no patch is already expanded by the required clearance the patch with more neighbours is used. Additionally only patch_pairs that have overlapping bounding boxes will be scheduled for parallel checking of pair intersection. This had the upside of also calculating the bounding boxes only once. Other optimisations: - Pre-filter patches and calculate patch pairs in a more structured approach. - Trusting the bounding box check more, not using twice the clearance only clearance + 10 (Even though I don't see the point in even doing that, but carrotIndustries insisted...). Bug fixes on the way: - Copper around a via is no longer matched against copper on all other layers - Intersection PTHs will be reported. This is that big a deal as PTHs should always be surrounded by copper which reported the error of e.g. overlapping vias previously.
1 parent 04d0b42 commit 2718b88

File tree

2 files changed

+399
-125
lines changed

2 files changed

+399
-125
lines changed

0 commit comments

Comments
 (0)