kicad-developers team mailing list archive
Mailing list archive
PCB Layer Stackup UI
Dick Hollenbeck <dick@...>
Mon, 07 Dec 2009 09:20:37 -0600
Thunderbird 126.96.36.199 (X11/20090817)
The last board I did had all the components on the back, and the ground
plane on the front. It was a daughter board card and the front of the
board is sometimes exposed in the end product to the user.
Imagine how awkward the PCBNEW layer stack up terminology was which
wanted to call the back of the board the copper layer, and the front of
the board the component layer. My components were on the back and my
copper was on the front, making the PCBNEW layer naming terminology
A second justification for a change is this:
The Specctra DSN format specifies a layer stack up description which
starts at the front of the board and works its way down to the back of
the board. See <layer_descriptor> on page 51. Also, components are
specified according to which side they are to reside on, and Specctra
uses the terms 'front' and 'back' to specify these sides. See <side> on
page 119. This specification is known to most all EDA software
companies and to many PCB designers within the industry, so the chosen
terminology is no way obscure or odd ball.
These were the justifications for the changes I made recently in the
terminology of layers within PCBNEW.
The new layer setup dialog window shows an implied layer stackup
sequence. Speaking for a moment only about the copper layers, the new
UI presentation shows the copper layer stackup in the same order as what
a user familiar with the specctra <layer_descriptor> would expect.
First comes Front layer, then first interior layer nearest the front of
the board, then 2nd down interior layer, .... until the back of the
board which is last.
I like this UI, and think that moving forward all UI presentations
should remain consistent with this board model. It is intuitive and
superior to the combobox which you see at the top of PCBNEW.
OK, having said that, now to the little man behind the curtain:
(But remember the UI is golden in my view, and should not be compromised
to satisfy an implementation difficulty.)
The difficulty I have on the table at the moment is backwards
compatibility with existing boards. In an ideal scenario I would like
to swap the layer mask for BACK with FRONT. This would be easiest, but
it breaks old boards.
In the layer setup dialog, I have shown a layer stack up which is not
true. And need to work out how I can make it true without breaking
Jean-Pierre let me know your thoughts on this. After this dialog is
fully implemented I will then move on to a layer selection/visibility
control which will replace the color setup dialog which I expect we can
One idea to put on the table is an actual layer stack up sequence, which
would be a modifiable data structure which defines the order of layers
within a board. The current notion of layer mask would stay, it's just
that a person could not assume that a layer with a mask of (1<<0) is
next to a layer with a mask of (1<<1) unless the layer stackup sequence
says it is.