kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #28628
Re: [update] [PATCH] Differential pair DRC Errors
On 11.03.2017 18:36, jp charras wrote:
> Le 01/03/2017 à 16:43, Tomasz Wlostowski a écrit :
>>
>> Hi again,
>>
>> I've fixed the rounding issues in the P&S code (patch attached), now the
>> diff pair gap should always equal the specified value. The DRC checker
>> still produces some errors, though. I've identified their source is the
>> DRC::checkMarginToCircle() function. The current clearance test
>> algorithm is quite complex for me to understand, so I couldn't see any
>> obvious rounding/comparison issues...
>>
>> @Jean-Pierre: could you have a look at the attached PCB file and the DRC
>> errors it produces? A trivial clearance check (see code below) finds no
>> clearance errors.
>>
>> Cheers,
>> Tom
>
> Hi Tom,
>
> I fixed this issue in rev 2c56085f410d75ad2b01164b12d9dee95c7d3ab6
>
> In fact I found 2 problems:
>
> 1) DRC::checkMarginToCircle() detected a DRC issue for dist <= clearance, instead of dist < clearance
> 2) In DRC calculations, calculations create rounding issues (this cannot be avoided)
> So, to avoid false detections, the detection is now dist < clearance - 1 nanometer.
>
> Please, try this rev.
>
> FYI, the current clearance test algorithm is quite complex because it was optimized in the early
> times of Kicad, when computers did not always have a FPU, and were slow.
> It could be now certainly less complicated.
>
Hi JP,
Thanks a lot for your help. I'll push the DP clearance fixes patch and
close the bug report.
Cheers,
Tom
References