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

Reply via email to