← Back to team overview

kicad-developers team mailing list archive

Re: [update] [PATCH] Differential pair DRC Errors

 

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.

-- 
Jean-Pierre CHARRAS


Follow ups

References