I'm not exactly sure what you're planning, but I think before you go too
far down this road we should have a conversation / plan for how we actually
want DRC to work architecturally.
There are definitely lots of reasons to have multiple diff pair rules per
board, and also have those rules only apply to certain areas of the board.
There might not be a specific feature request for this because it is part
of a request for a net class system and rule by area system.
The ideal DRC system, in my mind at least, has a split between the "what
objects does this rule apply to" part and the "what is this rule and what
are its limits" part. That makes it very flexible and easy to expand.
It would be nice to be able to build a rule kind of like a database query
"If something is part of a diff pair AND "is part of net class 'USB'" AND
is within the polygon 'FlexArea'"
Then once you have a selector that applies to the objects you want, you can
apply whatever rule is relevant (trace widths, spacing, what vias are
allowed, how close copper pours can come, and 100 other things if you like)
(the above selector happens to rely on two features that KiCad doesn't have
yet, but could have for V6: net classes and named areas)
These selectors would be cascading, like CSS, so you could define a base
set of rules that apply to everything, and more specific rules that
override things defined in the general rules.
Not a super trivial bit of code to write, but an important one in my mind
since it's the only way to offer the flexibility of rules that people who
are used to tools like Altium/Cadence/Mentor are used to.
On Sat, Apr 14, 2018, 08:57 Jeff Young <j...@rokeby.ie> wrote:
> I was looking into moving the solder mask and paste dimensions, courtyard
> rules, and differential pairs dimensions to the board for 6.0. It seemed
> like having multiple sets of differential pair dimensions (like we do for
> tracks and vias) would be good, yet there are no feature requests for
> this. Are differential pairs specific enough that there is usually only
> one spec per board?
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : email@example.com
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
Mailing list: https://launchpad.net/~kicad-developers
Post to : firstname.lastname@example.org
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp