Skip to content

Bug: a ground pour split by tracks leaves an island with no via, and nothing ties it back - #289

Open
JeffMboya wants to merge 4 commits into
absmach:mainfrom
JeffMboya:SYN-ground-island-vias
Open

JeffMboya wants to merge 4 commits into
absmach:mainfrom
JeffMboya:SYN-ground-island-vias

Conversation

@JeffMboya

Copy link
Copy Markdown
Contributor

What type of PR is this?

This is a bug fix

What does this do?

island_vias::tie_islands adds a ground via inside any filled-pour island that has copper but no via, before validate_candidate.

Which issue(s) does this PR fix/relate to?

Resolves #279

Have you included tests for your changes?

Yes, five island_vias tests: a tied island, a via-holding island, no copper, too small, and a stable written via.

Did you document any new/modified features?

No, behaviour only; the module doc describes the pass.

Notes

…ng it

refill_zones filled and installed in one step. Split out filled_text so a pass can read the poured polygons first.
Tracks cut a pour into regions, and a region holding copper of its own but no via to the other layer is tied to nothing. KiCad reports it as a zone against itself at the zone origin, so the router's repair had no place to put a bridge. Read the poured polygons, join them through vias, plated pads and tracks, and add a via where an island and the main pour on another layer both have room. Runs on the candidate before it is validated.
The smallest copied a router's one escalated via, which is under the board's minimum via diameter. Use the size the net has most of, the larger on a tie.
A decoupling capacitor's ground pad sat in a 2.67 mm2 F.Cu island on the
irrigation controller. Its widest circle has a radius of 0.387 mm, and the
pass asked for 0.4 mm: the 0.3 mm via pad and 0.1 mm of slack. It tied
nothing, and KiCad reported the zone against itself.

The slack is now 0.05 mm, since the pour edge already stands off foreign
copper by the clearance rule. The search grid no longer starts at 0.2 mm,
which could step over a window that narrow, and comparisons allow for
rounding.
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.

Bug: a ground pour split by tracks leaves an island with no via, and nothing ties it back

1 participant