← Back to team overview

kicad-developers team mailing list archive

Re: CERN work package 4 (Extend number of layers)

 

On 6/5/2014 1:15 PM, Jean-Paul Louis wrote:
> I am no Software expert, but I have seen quite a few different CAD Tools during my work life and they all have their pros and cons.
> I am just an user, so I have a few questions relating to usability for the experts.
> 
> 1 - Is there a reason besides legacy to limit the number of layers?

Yes and no.  Internally, the current software uses a 32 bit integer for
masking so each bit represents a layer.  Bits 0-15 are assigned to
copper layers and bits 16-31 are allocated to the remaining layers.
There is nothing preventing us from changing this internally but it will
not be a trivial change.  Layer masking is used in a lot of different
places in the Pcbnew code.

> 	What I mean is that a PBA (Printed Board Assembly) is a collection of objects.
> 	The PCB in itself is the most complex object in the collection because of its highly variable
> 	multilayer structure (Design related).
> 	So it could be described as a collection of layers that have different properties such as
> 	Board Blank (Mechanical/Edges Layer, Ground Plane Layers, Signal layers, Solder Mask Layers,
> 	Solder Paste Layers, Markings (Silk Screen) Layers, Revision (ECO) Layers, Component Layers
> 	(SMT and TH) and anything that does not come to my mind now.
> 	Using a collection for layers will allow easy backward compatibility.
> 
> 	Tom’s description seems to be exhaustive enough to cover most of the entities that I have only
> 	two comments.
> 	1 - The jumper layer to me is redundant with the component layer as a jumper can be
> 	described as a component, a socketed IC, a heat-sinked device or a multipart connector can be
> 	treated as a compound component (module).

I believe the jumper layer is something that is only used as part of the
Speccrta export.  Dick can shed more light on this than I can.

> 	2 - To me, the courtyard concept is part of the footprint, so it doesn’t need a layer. 
> 	It is only used for placement purpose (design rules) to carry manufacturing assembly
> 	constraints (its shape should be arbitrary).

This may make more sense than creating a custom courtyard layer.  It may
also make sense to add a separate keepout concept instead of using a
layer.  It would simplify the layer definitions.

> 
> 3 - Is the fact that the Layer ID goes from 0 to 16 or whatever so important that it cannot be changed?
> 	I mean the sequential aspect of the ID number.
> 	If so, why not use 0 to 127 for the copper layers, and 128 to 255 for the other layers?
> 	That would still fit in one byte if byte is the limit, and I have yet to see a board with more
> 	than 128 layers.

There is nothing prevent us from doing this.  The first order of
business is to define the requirements for the board and footprint files
to support these features.  Once this is defined we can then define the
code required to contain and manipulate the new file features.  After
that is implemented, then we can start discussing the implementation of
new features such as more than 16 copper layers, courtyards, keepouts,
DRC improvements, etc.

> 
> I do not mean to criticize or offend anyone, I am just brain-storming with things that I have seen or missed in all the tools I have used from venerable DOS Orcad on a PC to modern tools like Cadence Allegro, Mentor PCADS or Altium Designer (including Protel), and hobbyist tools like Eagle or the PCB123 alike tools.
> 
> <Rant mode OFF>
> 
> Jean-Paul
> AC9GH
> 
> 
> 
> 
> 

I don't want to discourage anyone.  There are a lot of good idea here
that have been discussed before.  Please hold on to them until we are
ready for that part of the discussion.  We have done this in the past
where we beat a topic to death with no forward progress and good ideas
get lost in the bowels of the mailing list archive never to be read
again.  This is all due to the lack of focus.  We really need to be
focusing on the changes that need to be made to the board and footprint
files to allow these features to exist or we will never get anywhere.  I
will continue to refined the suggested changes and add them to the file
format document once we have everything finalized.

<<<snipped>>>




References