kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #43997
Re: Granularity of DRC error code
-
To:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxx>
-
Date:
Thu, 11 Jun 2020 09:41:37 -0400
-
Autocrypt:
addr=stambaughw@xxxxxxxxx; prefer-encrypt=mutual; keydata= mQGiBEM0hxQRBAC2fNh3YOVLu1d5GZ0SbrTNldGiGnCJPLqzEnqFX9v6jmf33TMt6EmSLkl6 Wtfkoj0nVwKxcYmJkA8DX0QAokBkwNIzhSsBzQvthBLIk/5LnPVVKrEXOcL4mUyH1doKlkaE slgJozNa6Av+oavcvD02o1zJOloBbaHlNlyRt7fKswCgtIFlVjWggVH/15KfWk+Qo5JVPbME AIUBAQyL2OAx0n60AWec2WHnO9buHuG0ibtICgUMkE+2MRmYyKwYRdyVwGoIUemFuOyHp0AJ InX4T+vy2E7vkwODqjtMLfIoRkokW74Fi4nrvjlhOAw/vdq/twLbAmR9MOfPTpR4y7kQy1O2 /n+RkkRvh26vTzfbQmrH7cBJhk6aA/9Uwvu3E4zNJgHVZeS0HyWtmR1eOPPRbnkPgJTToX5O KMKzTJI/FX6kT7cFoCamitHrW3BJP4Dx+cMMsa47EGxqVTdbVJ4LjogsXTXxb+0Fn1u4zBdx x3Cer6O7+hqWy7zvpzeC6nSREjqDKa5CgHtv/GLm5uFPOmsjAsnHj2tlBrQmV2F5bmUgU3Rh bWJhdWdoIDxzdGFtYmF1Z2h3QGdtYWlsLmNvbT6IeAQTEQIAOBYhBOffs6CbblRzBkv33BtR cWlZ+CReBQJbFBS2AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEBtRcWlZ+CReMI8A nRbrLkzp7+c2f0vX7sfg4ICX8LAKAJ9uClo4uJajmZa5zZrL2nKdZlUwIrkCDQRDNIcxEAgA gCru+3/aOC6RCjpvYC72wY+d5SmHphC6yeiV2/mOumyt5MLo/Ps2GznZr11JspqFk5K/Zpvp MMLqqjDZ39+50a2iKRQFJ6NlK+hJWMmj6eJygQrCwYo3Gjc6CqfrqUv+8VSnf/i5sIZmtOVA 4ZjML18MuBvMSsNdVLFJd5HNnYb1iOECpvqdPVh/21LLCEw7MUUGGnHBhCrmk2aJe5hFmcSN g4ldBcXrgMQBwf7aMVoobXBMFDb/IENByXn0llB7Gr2IFMRmNS9/p8s/II1Yl2bTqyX4FSz8 cfn7C9KEz7faZ7wzAcpwHFC/zs3JoAjJ0IEKdNUpIwAlKMzT3CzctwADBQf/cxpG28MKyrqk nNmq/8LQLy+x6FSYXBLjxQz9BiBNYeesDZQ6J5UbL1mjpJzMa5tLZypPYo4bbGyR22hrbyDF K7m6AcVaMIJKl98g4ukMutFfAJyRDaREH5Zl/X1P4u1Z/yaAIy9mKaNbaK1/5djNJ5wCTFen TUgAp9xdc30kGkFDdLJFp5uxDY4P0vaZiZdjUCvDM3Zjv5IzpNOfxVqTUBQNUP/BnnKhkk0p DTD6s3X8S+D0rOtEBQ8K0cwERI/E8EFa8nj0TNw4e2MYGR8wg+SxqJ7z5f0zPY0bO6G9DDFB wYCqzzPWGqdAh9vA5971TAbPERtdFybhkurozp2SfYhJBBgRAgAJBQJDNIcxAhsMAAoJEBtR cWlZ+CResHUAniULLCWiT26ieRTl7N2vS6vBo/DuAJ4m7Ss/gyiW6ybTn1ctDXAUgm2QVQ==
-
In-reply-to:
<CA+qGbCDtEDR95vKsPei-+i8zTeZz=ce91zE4hA2V7aT2rtmOmA@mail.gmail.com>
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1
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 <jeff@xxxxxxxxx> 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 <ecomputerd@xxxxxxxxx> 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 <jon@xxxxxxxxxxxxx> 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 : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>> More help : https://help.launchpad.net/ListHelp
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help : https://help.launchpad.net/ListHelp
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References