← Back to team overview

kicad-developers team mailing list archive

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