kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #35586
Re: Differential pairs dimensions
-
To:
Jon Evans <jon@xxxxxxxxxxxxx>
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxx>
-
Date:
Wed, 25 Apr 2018 15:14:25 -0400
-
Autocrypt:
addr=stambaughw@xxxxxxxxx; prefer-encrypt=mutual; keydata= xsDiBEM0hxQRBAC2fNh3YOVLu1d5GZ0SbrTNldGiGnCJPLqzEnqFX9v6jmf33TMt6EmSLkl6 Wtfkoj0nVwKxcYmJkA8DX0QAokBkwNIzhSsBzQvthBLIk/5LnPVVKrEXOcL4mUyH1doKlkaE slgJozNa6Av+oavcvD02o1zJOloBbaHlNlyRt7fKswCgtIFlVjWggVH/15KfWk+Qo5JVPbME AIUBAQyL2OAx0n60AWec2WHnO9buHuG0ibtICgUMkE+2MRmYyKwYRdyVwGoIUemFuOyHp0AJ InX4T+vy2E7vkwODqjtMLfIoRkokW74Fi4nrvjlhOAw/vdq/twLbAmR9MOfPTpR4y7kQy1O2 /n+RkkRvh26vTzfbQmrH7cBJhk6aA/9Uwvu3E4zNJgHVZeS0HyWtmR1eOPPRbnkPgJTToX5O KMKzTJI/FX6kT7cFoCamitHrW3BJP4Dx+cMMsa47EGxqVTdbVJ4LjogsXTXxb+0Fn1u4zBdx x3Cer6O7+hqWy7zvpzeC6nSREjqDKa5CgHtv/GLm5uFPOmsjAsnHj2tlBs0mV2F5bmUgU3Rh bWJhdWdoIDxzdGFtYmF1Z2h3QGdtYWlsLmNvbT7CYgQTEQIAIgUCWXDoogIbAwYLCQgHAwIG FQgCCQoLBBYCAwECHgECF4AACgkQG1FxaVn4JF5QbACgmUn1LehNSvH8BMlCRmApskCt8sgA nAw4GoFvw6bm3b7w/Tv4cwapzwPAzsFNBEM0hzEQCACAKu77f9o4LpEKOm9gLvbBj53lKYem ELrJ6JXb+Y66bK3kwuj8+zYbOdmvXUmymoWTkr9mm+kwwuqqMNnf37nRraIpFAUno2Ur6ElY yaPp4nKBCsLBijcaNzoKp+upS/7xVKd/+Lmwhma05UDhmMwvXwy4G8xKw11UsUl3kc2dhvWI 4QKm+p09WH/bUssITDsxRQYaccGEKuaTZol7mEWZxI2DiV0FxeuAxAHB/toxWihtcEwUNv8g Q0HJefSWUHsavYgUxGY1L3+nyz8gjViXZtOrJfgVLPxx+fsL0oTPt9pnvDMBynAcUL/Ozcmg CMnQgQp01SkjACUozNPcLNy3AAMFB/9zGkbbwwrKuqSc2ar/wtAvL7HoVJhcEuPFDP0GIE1h 56wNlDonlRsvWaOknMxrm0tnKk9ijhtsbJHbaGtvIMUruboBxVowgkqX3yDi6Qy60V8AnJEN pEQflmX9fU/i7Vn/JoAjL2Ypo1torX/l2M0nnAJMV6dNSACn3F1zfSQaQUN0skWnm7ENjg/S 9pmJl2NQK8MzdmO/kjOk05/FWpNQFA1Q/8GecqGSTSkNMPqzdfxL4PSs60QFDwrRzAREj8Tw QVryePRM3Dh7YxgZHzCD5LGonvPl/TM9jRs7ob0MMUHBgKrPM9Yap0CH28Dn3vVMBs8RG10X JuGS6ujOnZJ9wkkEGBECAAkFAkM0hzECGwwACgkQG1FxaVn4JF6wdQCfSqokQS6ftWlwGN/e +uSvJR4wcrkAn1gPSGRloW9a9w+p6ugM6pNfNNpx
-
Cc:
KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
In-reply-to:
<CA+qGbCDmuwdTdjYQP=y+YY1R3=5R85gj54_Um5w9OiW3wwV=7g@mail.gmail.com>
-
Openpgp:
preference=signencrypt
-
User-agent:
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
Jon,
Sorry for the late response but this proposal looks fine to me. Of
course the devil will be in the details. One thing I want to try after
v5 is released is to use launchpad blueprints to track road map items.
Blueprints can be linked to a release version so they can be tracked and
marked as complete like bug reports. One nice feature of blueprints is
that you can just provide a link to an external document rather than use
launchpads limited editing capabilities. I think in the long run it
will be a better solution than trying to keep the road map documents up
to date.
Cheers,
Wayne
On 4/14/2018 11:53 AM, Jon Evans wrote:
> I started typing up some of my thoughts on this into a proposal:
> https://docs.google.com/document/d/1qvCH9aHwCzp5qtKTna4jJXuloNU0b96gAxAHSKPuXpU/edit?usp=sharing
>
> (anyone with the link can comment on but not edit the document)
>
> I haven't gotten very far but I thought I would throw it out here for
> early review/feedback.
> I think if we can agree on some of the basics, we can work towards it
> incrementally.
> I think it wouldn't be too hard to come up with a spec for rule storage
> that could both capture the current possible rules in KiCad 5, and also
> the new things we want to make available in 6.
>
> -Jon
>
> On Sat, Apr 14, 2018 at 11:04 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>> wrote:
>
> On 04/14/2018 10:46 AM, Jeff Young wrote:
> > I still don’t think I’d put netclass dimensions in the schematic.
> > However, I do completely agree with putting the netclass *set* (and net
> > membership) in the schematic.
>
> I see netclasses as just another constraint. I use the same netclasses
> over and over again in my projects so having a way to make them easily
> shareable between projects would be useful to me. I'm not sure a
> separate method to handle netclasses versus all other constraints makes
> sense. I do agree that it should be possible to defined them in the
> schematic editor. I would think a properly designed constraint editor
> would work equally well in both the schematic and board editors as well
> as stand alone. Given what I have learned about the board file design,
> saving the netclasses and other constraints in the schematic file
> doesn't make sense. This will need to be defined before I can begin
> writing the new schematic file format.
>
> >
> > For that kind of stuff we could start leaning more heavily on the
> > project file, or we could use inter-app communication as we do for the
> > netlist.
>
> I would consider inter-app communication a given regardless of where we
> store this information. What form the inter-app communication takes is
> certainly open for discussion. It could be using our kiway messaging or
> it could be a file watcher that updates the constraints when the
> constraint file is edited.
>
> >
> > From first blush I’d prefer the later (as it makes stand-alone files
> > more viable). But, like I said, first blush….
> >
> >
> >> On 14 Apr 2018, at 15:37, Jon Evans <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> >> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>> wrote:
> >>
> >> It's also a somewhat common workflow for design rules to be driven
> >> from the schematic (rather than created as part of board layout).
> >> Having a separate file for design rules isn't the only way to do that,
> >> but I just wanted to mention that use case so that it is also
> >> considered. In that workflow, you need a way to define design rules
> >> before there is even a PCB design started.
> >>
> >> On Sat, Apr 14, 2018, 10:29 Wayne Stambaugh <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> >> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>> wrote:
> >>
> >> It makes sense to me to have importing and exporting constraints
> >> as part
> >> of the design. I would also add copying a default constraints file as
> >> part of the new project and new project by template commands. I think
> >> that pretty much covers all of the bases.
> >>
> >> On 04/14/2018 10:23 AM, Jeff Young wrote:
> >> > Good point. A lot of the constraints are defined by the fab
> >> house rather than the particular board design.
> >> >
> >> > FrameMaker had a “Use Formats From” feature which imported page
> >> layouts, paragraph formats, variable definitions, etc. from
> >> another document. Our customers liked that a lot better than
> >> having to manage yet another file.
> >> >
> >> >> On 14 Apr 2018, at 15:14, Wayne Stambaugh <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> >> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>
> wrote:
> >> >>
> >> >> We definitely should define this before we get too far
> down the
> >> road. I
> >> >> would rather not store layout constraints in the board file if
> >> at all
> >> >> possible. I think this was somewhat shortsighted when I
> originally
> >> >> wrote the current board file format. I would rather the
> >> constraints be
> >> >> written either to a separate file or into the configuration
> >> file so they
> >> >> can easily be reused between projects. I find that I
> reuse the
> >> same
> >> >> constraints from project to project so being able to easily
> >> reuse them
> >> >> without having to reenter them every new project or modify the
> >> board
> >> >> file with a text editor would be rather handy. This would
> also
> >> have a
> >> >> nice side effect of the board file format not changing every
> >> time we
> >> >> want to add a new constraint.
> >> >>
> >> >> Wayne
> >> >>
> >> >> On 04/14/2018 09:37 AM, Jon Evans wrote:
> >> >>> I see what you are saying, but I also think that if there's
> >> any chance
> >> >>> we will be able to define a spec/format for design rules this
> >> cycle, we
> >> >>> can avoid the need for multiple (potentially incompatible)
> >> changes to
> >> >>> the way rules are stored during the development cycle.
> >> >>>
> >> >>> On Sat, Apr 14, 2018, 09:25 Jeff Young <jeff@xxxxxxxxx
> <mailto:jeff@xxxxxxxxx>
> >> <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>
> >> >>> <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx> <mailto:jeff@xxxxxxxxx
> <mailto:jeff@xxxxxxxxx>>>> wrote:
> >> >>>
> >> >>> Hi Jon,
> >> >>>
> >> >>> I agree we should have that conversation, but I also don’t
> >> want to
> >> >>> fall into the trap of doing nothing until you can do
> >> everything.
> >> >>>
> >> >>> We don’t store even the single set of differential pair
> >> dimensions
> >> >>> in the board right now.
> >> >>>
> >> >>> Cheers,
> >> >>> Jeff.
> >> >>>
> >> >>>
> >> >>>> On 14 Apr 2018, at 14:12, Jon Evans <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> >> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> >> >>>> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>> wrote:
> >> >>>>
> >> >>>> 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 like:
> >> >>>>
> >> >>>> "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.
> >> >>>>
> >> >>>> -Jon
> >> >>>>
> >> >>>>
> >> >>>> On Sat, Apr 14, 2018, 08:57 Jeff Young
> <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>
> >> <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>
> >> >>>> <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx> <mailto:jeff@xxxxxxxxx
> <mailto:jeff@xxxxxxxxx>>>> 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?
> >> >>>>
> >> >>>> Thanks,
> >> >>>> Jeff.
> >> >>>> _______________________________________________
> >> >>>> Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >> >>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> >> >>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> >> >>>> Unsubscribe :
> https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >> >>>> More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> >> >>>>
> >> >>>
> >> >>>
> >> >>>
> >> >>> _______________________________________________
> >> >>> Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >> >>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> >> >>> Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >> >>> More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> >> >>>
> >> >>
> >> >> _______________________________________________
> >> >> Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >> >> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> >> >> Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >> >> More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> >> >
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> >> Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >> More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> >>
> >
>
>
References
-
Differential pairs dimensions
From: Jeff Young, 2018-04-14
-
Re: Differential pairs dimensions
From: Jon Evans, 2018-04-14
-
Re: Differential pairs dimensions
From: Jeff Young, 2018-04-14
-
Re: Differential pairs dimensions
From: Jon Evans, 2018-04-14
-
Re: Differential pairs dimensions
From: Wayne Stambaugh, 2018-04-14
-
Re: Differential pairs dimensions
From: Jeff Young, 2018-04-14
-
Re: Differential pairs dimensions
From: Wayne Stambaugh, 2018-04-14
-
Re: Differential pairs dimensions
From: Jon Evans, 2018-04-14
-
Re: Differential pairs dimensions
From: Jeff Young, 2018-04-14
-
Re: Differential pairs dimensions
From: Wayne Stambaugh, 2018-04-14
-
Re: Differential pairs dimensions
From: Jon Evans, 2018-04-14