Yeah, I want to know if the cost is going to increase (so it’s a warning), but I only want an error if it’s going to drop me out of pooling.
> On 11 Jun 2020, at 18:18, Jon Evans <[email protected]> wrote: > > I guess we just think about this differently. I would not use > "errors" for anything that is a cost difference. I would only use > errors to mean "this can't be built at any cost from my preferred > manufacturer" or "this design won't work if I try to build it" > > On Thu, Jun 11, 2020 at 1:13 PM Jeff Young <[email protected]> wrote: >> >> Imagine that violating the micro-via min bumps me up a classification but >> violating the through-via min drops me out of pooling. There’s a big cost >> difference between those two. >> >> >>> On 11 Jun 2020, at 16:47, Jon Evans <[email protected]> wrote: >>> >>> Unconnected copper can also have electrical impacts. I agree it makes >>> sense to have some separation between copper and non-copper (not >>> connected vs. non-connected). >>> >>> I'm okay in general with the idea of trying to have different >>> severities for production vs. design performance constraints and so >>> on. Keeping annulus separate from via diameter is fine. >>> >>> Can you explain a situation where it makes sense to have e.g. >>> through-via drill be a warning but uVia drill be an error or >>> vice-versa? This is what I don't understand. >>> >>> On Thu, Jun 11, 2020 at 11:24 AM Jeff Young <[email protected]> wrote: >>>> >>>> I’d definitely want to set edge clearance apart from other clearance. >>>> >>>> And I’d definitely want to set connected-item clearance (an electrical >>>> constraint) apart from non-connected-copper-item clearance (a production >>>> constraint). >>>> >>>> And I’d definitely want different violations for via annulus (a production >>>> constraint) and via size (possibly just a current/heat constraint). >>>> >>>> I’m still on the fence with throughVia drill vs. uVia drill. The rest I >>>> can agree with. >>>> >>>> Cheers, >>>> Jeff. >>>> >>>> >>>>> On 11 Jun 2020, at 15:56, Jon Evans <[email protected]> wrote: >>>>> >>>>> I think having fewer codes is something to strive for, especially >>>>> since we are auto-generating severity options from the list of codes. >>>>> >>>>> Having a bunch of severity settings where people wouldn't reasonably >>>>> need to change them clutters the UI. >>>>> >>>>> Having excessive categorization in the DRC window makes it harder to >>>>> sort through that information (for me at least). >>>>> >>>>> I don't think we need to be able to set severities independently for >>>>> each rule in the "classic" system, we just need enough different >>>>> severity settings to make sense. >>>>> >>>>> For example, going down the classic DRC rules dialog: >>>>> >>>>> Allowed features: both checkboxes generate DRCE_ALLOWED_FEATURES >>>>> Arc/circle and zone fill: these aren't actually DRC checks >>>>> Copper min clearance: generates DRCE_CLEARANCE >>>>> Min track width: generates DRCE_WIDTH >>>>> Min via annulus: generates DRCE_VIA_SIZE >>>>> Min via diameter: generates DRCE_VIA_SIZE >>>>> Copper edge clearance: generates DRCE_CLEARANCE >>>>> Min through hole: generates DRCE_HOLE_SIZE >>>>> Hole to hole: generates DRCE_HOLE_CLEARANCE >>>>> uVia diameter: generates DRCE_VIA_SIZE >>>>> uVia drill: generates DRCE_HOLE_SIZE >>>>> >>>>> >>>>> >>>>> On Thu, Jun 11, 2020 at 10:42 AM Jeff Young <[email protected]> wrote: >>>>>> >>>>>> What does that buy us? The only things the error code gives us is a >>>>>> string and a severity. The data storage (items, locations, etc.) is >>>>>> already completely orthogonal. >>>>>> >>>>>>> On 11 Jun 2020, at 15:36, Jon Evans <[email protected]> wrote: >>>>>>> >>>>>>> But couldn't this taxonomy be separate from the DRC_ITEM (i.e. error >>>>>>> code) taxonomy? >>>>>>> >>>>>>> For example you could have a "classic minimum clearance" severity >>>>>>> setting. >>>>>>> This would set the severity of any DRCE_CLEARANCE items generated >>>>>>> where the rule source is the classic system. >>>>>>> This would replace all of the "X too close to Y" error codes >>>>>>> >>>>>>> I think if we did this, the minimum set of error codes would look >>>>>>> something like one error code per setting in the Constraints setup >>>>>>> dialog. >>>>>>> Maybe even smaller than that number of settings, because you can set >>>>>>> separate numbers for vias and microvias and I still don't think you >>>>>>> need separate severities for those. >>>>>>> >>>>>>> On Thu, Jun 11, 2020 at 10:24 AM Jeff Young <[email protected]> wrote: >>>>>>>> >>>>>>>> (But I do like being able to assign a severity to a rule.) >>>>>>>> >>>>>>>> On 11 Jun 2020, at 15:22, Jeff Young <[email protected]> wrote: >>>>>>>> >>>>>>>> I think we’d still need some sort of taxonomy to put the severities on >>>>>>>> for the “classic” system. >>>>>>>> >>>>>>>> On 11 Jun 2020, at 15:01, Ian McInerney <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Why not make the severity attached to the rule being used instead of >>>>>>>> the error code type. I think being able to say "this rule is very >>>>>>>> important and should be treated as an error" and "this rule is just a >>>>>>>> guideline and can be treated as a warning" while they are both the >>>>>>>> same error code would make more sense. >>>>>>>> >>>>>>>> -Ian >>>>>>>> >>>>>>>> On Thu, Jun 11, 2020 at 2:53 PM Jon Evans <[email protected]> wrote: >>>>>>>>> >>>>>>>>> The only reasons to have multiple violation error codes is to be able >>>>>>>>> to set a different severity for them, or to be able to filter/sort >>>>>>>>> them. >>>>>>>>> >>>>>>>>> I can't think of a situation in which I would want to do either of >>>>>>>>> those things for different via types. >>>>>>>>> >>>>>>>>> On Thu, Jun 11, 2020 at 9:48 AM Wayne Stambaugh >>>>>>>>> <[email protected]> wrote: >>>>>>>>>> >>>>>>>>>> I was thinking along the same lines. Wouldn't it make more sense to >>>>>>>>>> define the objects that violate a DRC rule and generate the error >>>>>>>>>> message on the fly rather than adding violation error codes for every >>>>>>>>>> possible error? >>>>>>>>>> >>>>>>>>>> On 6/11/20 9:26 AM, Jon Evans wrote: >>>>>>>>>>> I think microvias and vias using different technologies means they >>>>>>>>>>> need different *rules*, not different error codes. >>>>>>>>>>> >>>>>>>>>>> Whether a hole is laser or mechanically drilled, it will have some >>>>>>>>>>> rules, and those rules could generate an error "hole size is outside >>>>>>>>>>> allowed range". >>>>>>>>>>> >>>>>>>>>>> You can tell from the affected items whether the hole in question >>>>>>>>>>> is a >>>>>>>>>>> via, microvia, blind via, buried via. >>>>>>>>>>> You can tell from the rule source whether this came from a microvia >>>>>>>>>>> rule, normal via rule, custom rule, etc. >>>>>>>>>>> >>>>>>>>>>> Why should we have separate violations per via type? (not separate >>>>>>>>>>> *rules* but separate violations) I still don't get the use case. >>>>>>>>>>> >>>>>>>>>>> As mentioned in the last taxonomy discussion, I still think we could >>>>>>>>>>> get rid of the tons of different "X close to Y" errors and just call >>>>>>>>>>> it a "clearance error", but I understand that might be more >>>>>>>>>>> contentious so I'd like to focus for now on just the keepouts and >>>>>>>>>>> vias. >>>>>>>>>>> >>>>>>>>>>> -Jon >>>>>>>>>>> >>>>>>>>>>> On Thu, Jun 11, 2020 at 6:51 AM Jeff Young <[email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>> The “Inside Keepout” issue might be a bad example. I’d definitely >>>>>>>>>>>> be in favour of folding all of those into a single violation >>>>>>>>>>>> because a keepout already specifies which types of things are >>>>>>>>>>>> excluded. >>>>>>>>>>>> >>>>>>>>>>>> But other things I’d be less in favour of. I want a warning about >>>>>>>>>>>> NPTHs in courtyards; I don’t want one for PTHs (the former likely >>>>>>>>>>>> has a mechanical fixing, the later likely doesn't). >>>>>>>>>>>> >>>>>>>>>>>> While I don’t personally use uVias, I’d certainly think we’d want >>>>>>>>>>>> separate violations for their holes (as they’re made with >>>>>>>>>>>> different technologies). On the flip side, I’m not sure there’s >>>>>>>>>>>> any value in distinguishing between throughVia holes and pad holes. >>>>>>>>>>>> >>>>>>>>>>>> But that gives us a different taxonomy for size vs. hole, as the >>>>>>>>>>>> difference between uVia and throughVia size may not be important. >>>>>>>>>>>> (We already have this to some extent as I didn’t bother with >>>>>>>>>>>> separate annulus violations for via types, although there’s a TODO >>>>>>>>>>>> in the code). >>>>>>>>>>>> >>>>>>>>>>>> This all begs the question “how bad is an uneven taxonomy”? Is it >>>>>>>>>>>> just an ivory-tower kind of thing, or will it actually cause >>>>>>>>>>>> confusion? >>>>>>>>>>>> >>>>>>>>>>>> Back to specific instances, I like being able to treat >>>>>>>>>>>> track-too-close-to-connected-item separately from >>>>>>>>>>>> track-to-close-to-unconnected-item, but I’m less fussed about the >>>>>>>>>>>> differences between the type of connected item >>>>>>>>>>>> (track-to-close-to-via vs track-to-close-to-track). (For what >>>>>>>>>>>> it’s worth, unconnected items are already grouped as we don’t have >>>>>>>>>>>> separate errors for track-to-close-to-graphics vs >>>>>>>>>>>> track-to-close-to-text. Yet another bit of unevenness in the >>>>>>>>>>>> existing taxonomy.) >>>>>>>>>>>> >>>>>>>>>>>> Oddly I find the parallel-tracks vs crossing-tracks useful, but I >>>>>>>>>>>> have no idea why. I guess it just gives me a better idea of what >>>>>>>>>>>> I’m looking for on the board? >>>>>>>>>>>> >>>>>>>>>>>> One last note: Greg’s request for specific exclusions is already >>>>>>>>>>>> in the nightlies. >>>>>>>>>>>> >>>>>>>>>>>> Cheers, >>>>>>>>>>>> Jeff >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> On 11 Jun 2020, at 06:19, Greg Smith <[email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> I think more grouping in general categories is good. I also think >>>>>>>>>>>>> that it would be nice to exclude *specific* DRCs that once a >>>>>>>>>>>>> designer checks the error, they can flag it to ignore in the >>>>>>>>>>>>> future. The specific check could be identified by a unique id: a >>>>>>>>>>>>> hash of specific information, like unique error and objects >>>>>>>>>>>>> involved (identified by geometries and properties involved). If >>>>>>>>>>>>> anything changes, then the rule violation reappears under a >>>>>>>>>>>>> different unique id. I think this would help greatly on >>>>>>>>>>>>> near-tapeout activities where sifting over the same DRC errors >>>>>>>>>>>>> becomes tedious and prone to missing valid DRC violations in the >>>>>>>>>>>>> midst of “designer checked and allowed” ones. >>>>>>>>>>>>> >>>>>>>>>>>>> Greg S. >>>>>>>>>>>>> >>>>>>>>>>>>>> On Jun 10, 2020, at 7:59 PM, Jon Evans <[email protected]> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>> >>>>>>>>>>>>>> A DRC error code is something like "Via inside keepout area", or >>>>>>>>>>>>>> in >>>>>>>>>>>>>> the code, DRCE_VIA_INSIDE_KEEPOUT. It describes a "type" of DRC >>>>>>>>>>>>>> error. This type is used for organizing the errors in the DRC >>>>>>>>>>>>>> report, >>>>>>>>>>>>>> and more recently, for letting you set a severity >>>>>>>>>>>>>> (error/warning/ignore) for each code. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Currently we have a lot of DRC violation types, probably because >>>>>>>>>>>>>> the >>>>>>>>>>>>>> violation types match up to the underlying code that is doing the >>>>>>>>>>>>>> checking. So, we also have a DRCE_MICROVIA_INSIDE_KEEPOUT and >>>>>>>>>>>>>> DRCE_BBVIA_INSIDE_KEEPOUT, because a lot of KiCad code has >>>>>>>>>>>>>> separate >>>>>>>>>>>>>> paths for those three types of vias. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Do people find this useful? I think it is too specific: I would >>>>>>>>>>>>>> rather see a single code DRCE_VIA_INSIDE_KEEPOUT to include all >>>>>>>>>>>>>> types >>>>>>>>>>>>>> of vias. I could even see having a single code for any object >>>>>>>>>>>>>> inside >>>>>>>>>>>>>> a keepout that isn't supposed to be there. I can't imagine a >>>>>>>>>>>>>> situation where I would want to have a via inside a keepout be an >>>>>>>>>>>>>> error, but a microvia inside a keepout be a warning or an ignore >>>>>>>>>>>>>> (having the separate error codes means you can have seperate >>>>>>>>>>>>>> severity >>>>>>>>>>>>>> settings). If I wanted to know if a particular DRC error >>>>>>>>>>>>>> referred to >>>>>>>>>>>>>> a via or a microvia, I can do that from the linked item >>>>>>>>>>>>>> information -- >>>>>>>>>>>>>> I don't need a category to tell me that. >>>>>>>>>>>>>> >>>>>>>>>>>>>> What do you think? Does having a lot of very specific error >>>>>>>>>>>>>> codes >>>>>>>>>>>>>> help your workflow? Would you miss these categories if some of >>>>>>>>>>>>>> them >>>>>>>>>>>>>> got consolidated like the example I gave? If so, are there other >>>>>>>>>>>>>> changes we could make (or features we could add) that would make >>>>>>>>>>>>>> it >>>>>>>>>>>>>> easier to deal with having less specific error codes? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> Jon >>>>>>>>>>>>>> >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>>>>>>>> Post to : [email protected] >>>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>>>>>>> Post to : [email protected] >>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>>>>> Post to : [email protected] >>>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>>>> Post to : [email protected] >>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>>> Post to : [email protected] >>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>> Post to : [email protected] >>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>> >>>>>>>> >>>>>>>> >>>>>> >>>> >> _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

