← Back to team overview

kicad-developers team mailing list archive

Re: layer based constraints

 

Le 27/04/2013 08:52, Simon Huwyler a écrit :
I think I do something wrong, since my responses are only seen in the
"date" view, but not in the "thread" view. Maybe it has something to do
with the fact that I don't see any "response depth level" greater than
"response-to-response-to-response"? So, I just once try responding at a
"higher" level. Sorry for being an absolute noob in mailing lists! :)

As I said in the response that is not visible here, I made a patch which
I'll attach to this mail. It's based on the stable_2013-03-31_BZR4008
release and it's far from finished (no saving of the constraints, no
intializing, DRC doesn't care abot layer width constraints yet).

But it gives you a nice look-and-feel of how this helps layouting, if
you have different constraints on different layers. I kinda like it, I
am very sure it will save me a LOT of time layouting, because it always
switches to the right width and clearance whenever I place a via to
switch the layer. Therefore I will patch new versions of kicad, when
they arrive, for my personal use. After I fininished the job, of course.


Simon,
Thanks to take the time to work on Kicad code.

For this kind of feature, the best solution is not always the first found, or the more beautiful dialog.

Therefore, "response-to-response-to-response" is not surprising.
Which could be surprising is a lack of response-to-response-to-response!

The first response was (obviously) "is it worth". This is not surprising.
Ideas to enhance DRC are also not surprising, and are welcome.

The best decision is always taken after collecting many ideas, and sometimes differs from the first idea.

Many options is DRC are not always good, so we always make compromise between the power and the easy to use features.

In this case, having layers constraints is not bad.
But remember your issue come from SeedStudio, and my board house do not have these constraints.
The first question I am thinking is:
Why a by layer constraints.
Why do not have only 2 min clearance values: one for outer layers, one for inner layers.

The answer (remember : having both power and easy to use features is not easy: you often should choose between them) is very important: In Design Rules we have already one constraint. Just a second constraint will fix your issue.
Remember we have constraints for minimal values for:
clearances, tracks, vias, microvias, and should have also minimal annular ring for pads and vias. Having values for each layer in a 16 layer board is a serious constraint... for users.
I know you said: leave these values to 0 when not used.
Yes, but I am not convinced: For the user, they are in a major dialog, For the user, the Design rule dialog have already these constraints.
when these values are not to 0, which value is used ?
Local masks clearance are set to 0 to use the global value.
Is it the case for clearance ?
Your answer was "use the more restrictive value".
But the rule you want to use is not same as masks clearance rules!
Not so easy to explain and understand.

The best decision must be taken before creating/modifying dialogs, the code and the file format.
Remember also the calculation time is a major constraint in DRC.

By the way I had a look to your patch, and i believe the minimal track width defined in layers silently overrides the track width set in net classes.

This is not good. You can just set a DRC error.
In some cases (namely for tracks having a specific impedance) you should have to use the defined width.

--
Jean-Pierre CHARRAS


Follow ups

References