Load Google Translate We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
Here's how this could be done:
- The number of signal layers is increased to 32.
- The Top layer remains at '1', the Bottom layer becomes '32'.
- When updating files from an older version, all board layers
above '8' are shifted upwards by 16.
There are a few possible problems with this:
- ULPs that use concrete layer numbers instead of the constants
defined in "Help/User Language/Object Types/UL_LAYER" might
not work any more. This can be fixed by using the defined constants.
- Scripts that use concrete layer numbers instead of layer names
might not work any more. There is no easy fix for this, because
the layer names may be different from user to user (that's why
scripts used the layer numbers in the first place). The only
way to really fix this is to edit the scripts accordingly.
- Design Rules and Autorouter parameters that are stored in a board
file will be adjusted automatically.
- Externally stored Design Rules and Autorouter control files
will need to be modified accordingly.
- CAM job files will need to be modified accordingly.
What is the EAGLE users' opinion about this?
Should we do it?
Are there more possible problems than the above ones?
Again, if we are going to make this change, it will need to
happen now, as we switch to an all new data structure.
Klaus Schmidinger
--
_______________________________________________________________
Klaus Schmidinger Phone: +49-8635-6989-10
CadSoft Computer GmbH Fax: +49-8635-6989-40
Pleidolfweg 15 Email: kls@cadsoft.de
D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
_______________________________________________________________
First, Im glad you asked
Here is my $0.02 pocket change.
"Klaus Schmidinger" <Klaus.Schmidinger@cadsoft.de> wrote in message
news:i65392$7e6$1@cheetah.cadsoft.de...
Here's how this could be done:
>
- The number of signal layers is increased to 32.
- The Top layer remains at '1', the Bottom layer becomes '32'.
- When updating files from an older version, all board layers
above '8' are shifted upwards by 16.
Have you considered "sub layers"? That would disconnect the meaning of a
layer being a physical copper layer, but rather could be a sandwich of
several layers.
What about NOT defining the last one as bottom layer, but rather the lowest
one in use by the DRC stack setting? Is there a good reason to fix the
bottom layer number?
Personally I think its time to get rid of layer numbers in general. For old
projects imported into newer version you can use the layer numbers as their
names. Backside is that ULP/SCR interpreter may have to have a "legacy
mode"..?
There are a few possible problems with this:
- ULPs that use concrete layer numbers instead of the constants
defined in "Help/User Language/Object Types/UL_LAYER" might
not work any more. This can be fixed by using the defined constants.
- Scripts that use concrete layer numbers instead of layer names
might not work any more. There is no easy fix for this, because
the layer names may be different from user to user (that's why
scripts used the layer numbers in the first place). The only
way to really fix this is to edit the scripts accordingly.
If bottom layer number is dynamic, and stack was configured right, old stuff
would work, at least on old projects.
Maybe you could get a warning/error if you try to run old ulp/scr that
doesnt "unlock" new functionality with correct "#requre".
- Design Rules and Autorouter parameters that are stored in a board
file will be adjusted automatically.
- Externally stored Design Rules and Autorouter control files
will need to be modified accordingly.
- CAM job files will need to be modified accordingly.
1. What are your target customers? At this time majority are hobbists - i
think. None of them will ever use BGA components, to need more than 16
layers.
2. I have never used more than 4 layers, but I will have no problem if Eagle
support 16/32/64/infinite number of layers.
3. PC motherboards still use 4 layers. Mobile phones - 8 layers. At this
level of complexity, other features become important (hierarchical
structure, copy-paste sch+brd, etc etc)
"Klaus Schmidinger" <Klaus.Schmidinger@cadsoft.de> wrote in message
news:i65392$7e6$1@cheetah.cadsoft.de...
We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
>
Here's how this could be done:
>
- The number of signal layers is increased to 32.
- The Top layer remains at '1', the Bottom layer becomes '32'.
- When updating files from an older version, all board layers
above '8' are shifted upwards by 16.
>
There are a few possible problems with this:
>
- ULPs that use concrete layer numbers instead of the constants
defined in "Help/User Language/Object Types/UL_LAYER" might
not work any more. This can be fixed by using the defined constants.
- Scripts that use concrete layer numbers instead of layer names
might not work any more. There is no easy fix for this, because
the layer names may be different from user to user (that's why
scripts used the layer numbers in the first place). The only
way to really fix this is to edit the scripts accordingly.
- Design Rules and Autorouter parameters that are stored in a board
file will be adjusted automatically.
- Externally stored Design Rules and Autorouter control files
will need to be modified accordingly.
- CAM job files will need to be modified accordingly.
>
What is the EAGLE users' opinion about this?
Should we do it?
Are there more possible problems than the above ones?
>
Again, if we are going to make this change, it will need to
happen now, as we switch to an all new data structure.
>
Klaus Schmidinger
--
_______________________________________________________________
>
Klaus Schmidinger Phone: +49-8635-6989-10
CadSoft Computer GmbH Fax: +49-8635-6989-40
Pleidolfweg 15 Email: kls@cadsoft.de
D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
_______________________________________________________________
Klaus Schmidinger schrieb:
We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
Like Silviu, I personally never saw a need for that. However, if you
want to address people who do, it's no problem for me if EAGLE supports
even more layers that I don't use... ![]()
Here's how this could be done:
- The number of signal layers is increased to 32.
- The Top layer remains at '1', the Bottom layer becomes '32'.
- When updating files from an older version, all board layers
above '8' are shifted upwards by 16.
I like the idea of Morten: access the layers /only/ by name in future.
If ULPs or scripts make use of layer numbers, map them to the correct
names. This is (and will always be!) upward compatible. The new layers
will be accessible by name only.
You'll probably need to add layer aliases, though - currently, layers
can be given custom names; this could be replaced by alias names.
If custom defined layers (>100) were used and later referenced
numerically by ULP or script, a warning would eventually appear if
there's no easy way to maintain backward compatibility (perhaps there is
- I didn't think too deep about this).
Using layer names only is an idea worth thinking about, IMHO.
(How EAGLE deals with them internally, and probably maps them to
internal layer IDs, is up to you.
)
While we're at layers: I would like much more layers in the schematic
editor, to separate pin names, pad numbers etc.. Perhaps it's possible
to have a look at these, too, when talking about new data structures.
Thanks,
Tilmann
Hi!
Am Dienstag, den 07.09.2010, 12:13 +0200 schrieb Klaus Schmidinger:
We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
Here's how this could be done:
- The number of signal layers is increased to 32.
- The Top layer remains at '1', the Bottom layer becomes '32'.
- When updating files from an older version, all board layers
above '8' are shifted upwards by 16.
Why limit the number of layers at all? I suggest to use an integer
variable (32 bits, which is fairly enough). Use these numbers internally
to represent the layers, but give (configurable) labels to these number,
e.g. "top", "bottom", "1", "2", ... You can even use hierarchical labels
(similar to Morten's idea with sub-layers), e.g. "Etch/Top", "Etch/1",
"Etch/2", "Etch/Bottom", "Silk/Top", "Rules/Route_Keepin",
"Rules/Package_Keepin", ... I suggest a predefined default set of such
layers (esp. these special purpose layers) and an additional layer stack
manager to setup the etch (=copper) layers. This would also remove this
tedious layer definition string ("1,235+16" or something).
If you import an old Eagle file simply assign the labels according to
the old layer numbers. Also let these labels be used by ULP functions.
Bye
Hansi
Am 07.09.2010 12:13, schrieb Klaus Schmidinger:
What is the EAGLE users' opinion about this?
Should we do it?
In our Institute
- we never use more than 6 layers and
- we don't use autorouter, scripts or CAM processor.
- Problems COULD occur with design rules and ULPs, but these
can be fixed more or less quickly.
Therefore: I myself would opt quite weakly for "don't do it", because it
COULD mean some hours of additional work for me, but I wouldn't say "no"
if other people really need that sort of stuff...
Andreas Weidner
I would say be bold, be brave and be decisive.
Nothing criples a new product more than hanging on to legacy support.
Make the product the absolute best it can be - if that means that some ULPs and Scripts no longer work, then so be it. Give the ULP and script developers plenty of time to update their scripts, and document the changes to the best of your ability, and publicise the documentation.
Look what Apple did when moving from OS9 to OS10 - most OS9 apps were suddenly obsolete overnight, but it was the right decision. Build in a compatibility mode, if you absolutely must, but do not make it the default. If you do that, do not let new scripts be written for compatibiliy mode. Let v5 and v6 run side by side on the same computer so users can migrate at their own speed.
In short, I'd say, be revolutionary and not evolutionary. Take a bold step and sure a small percentage of people will wail and moan about how their scripts are now broken - but the benefits will be worth it.
For those that moan about broken legacy support I'd say this:
How many legacy developers would it take to change a lightbulb? None! They'd say: "It has worked pefectly up till now, I'm not changing it now." Do you see what I'm saying? I'm saying in order for things to get better, somethings need to change, and some need to get broken, so long as overall the benefits (gain) outweigh the cons (pain).
Am 07.09.2010 12:13, schrieb Klaus Schmidinger:
We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
>
Here's how this could be done:
>
- The number of signal layers is increased to 32.
- The Top layer remains at '1', the Bottom layer becomes '32'.
- When updating files from an older version, all board layers
above '8' are shifted upwards by 16.
>
There are a few possible problems with this:
>
- ULPs that use concrete layer numbers instead of the constants
defined in "Help/User Language/Object Types/UL_LAYER" might
not work any more. This can be fixed by using the defined constants.
- Scripts that use concrete layer numbers instead of layer names
might not work any more. There is no easy fix for this, because
the layer names may be different from user to user (that's why
scripts used the layer numbers in the first place). The only
way to really fix this is to edit the scripts accordingly.
- Design Rules and Autorouter parameters that are stored in a board
file will be adjusted automatically.
- Externally stored Design Rules and Autorouter control files
will need to be modified accordingly.
- CAM job files will need to be modified accordingly.
>
What is the EAGLE users' opinion about this?
Should we do it?
Are there more possible problems than the above ones?
>
Again, if we are going to make this change, it will need to
happen now, as we switch to an all new data structure.
>
Klaus Schmidinger
My uppermost were 8 layers and with nowerdays a half-dozen supply layers
it would still be enough for me ![]()
I say no to nothing, do the best you can do, some users will still whine.
I like the idea of Mortons layer-names only, and Tillmans Idea of more
layers in .sch .
One wish I have for layers is the possibility to erase internal eagle
layers even if they are not empty, with a warning perhaps, but possible.
(You should see the rubbish I sometimes get...).
Anyway I wish you a lucky hand for the new design.
--
Gruß / regards
Joern
Hello Klaus,
We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
Hmm, I never saw a board with more than 12 layers, even military and HF
application ... But maybe you want to use the max layer number as an
advertising ??? ![]()
- The number of signal layers is increased to 32.
More important and usable would be add of keepout and restrict for all
inner layers ....
.....
- ULPs that use concrete layer numbers instead of the constants
defined in "Help/User Language/Object Types/UL_LAYER" might
not work any more. This can be fixed by using the defined constants.
- Scripts that use concrete layer numbers instead of layer names
might not work any more. There is no easy fix for this, because
the layer names may be different from user to user (that's why
scripts used the layer numbers in the first place). The only
way to really fix this is to edit the scripts accordingly.
This can be corrected by few quite simply ULPs
! I guess this is not
a serious problem.
- Design Rules and Autorouter parameters that are stored in a board
file will be adjusted automatically.
- Externally stored Design Rules and Autorouter control files
will need to be modified accordingly.
- CAM job files will need to be modified accordingly.
As mentioned above.
What is the EAGLE users' opinion about this?
Should we do it?
Are there more possible problems than the above ones?
My biggest problem is I currently miss a lot of other functions (listed
many times by many users) and my personally and my colleagues (most of
them use bigger CAD systems) never designed boards with more than 12
copper layers even military or HF applications.
And one additional remark ... board with more layers needs other complex
functions ..... The layer max number itself give only a pretty new
"advanzage" and where are fast routing tools, real-time ratsnest and
DRC, impedance calculator, parallel moving of HF lines ???
IMHO 16 layers is sufficient but I think you can leave some space for
future extensions
!
regards
--
Grzegorz Zalot
complex ltd.
office tel/fax : +48 32 2505840
mobil : +48 501 301515
We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
>
Here's how this could be done:
>
- The number of signal layers is increased to 32.
- The Top layer remains at '1', the Bottom layer becomes '32'.
- When updating files from an older version, all board layers
above '8' are shifted upwards by 16.
>
That would work for me I suppose and I don't care if ULP's have to be
reworked. However, I've never had need for more than 8 layers at this point
with around 300-500 pin BGA devices being the max. Other issues become a
problem when boards get this big and eagle gets scary slow drawing larger
multi-layer boards with multiple flooded power planes and lots of traces.
The above said, if you need to make a 32 layer mother board then you need
another cad package IMHO. You'll need things like auto push/shove, diff pair
routing, intelligent shaped based auto-router, auto-fanout, etc, etc. If you
plan on adding these sorts of features later (and competing with Altium,
Mentor and Orcad) then yes, add the extra layers or reserve space in the new
data structures.
Bob
On 9/8/10 5:09 AM, Kenny Millar wrote:
I would say be bold, be brave and be decisive.
Nothing criples a new product more than hanging on to legacy support.
I would agree most with this reply.
I'd also state that of all the feature requests thrown around, this one
is pretty low priority. Really, how many people use Eagle for 16-layer
designs?
Do it if you can, don't worry so much about compatibility, but please do
more important things first ![]()
Andrew Sterian schrieb:
>> I would say be bold, be brave and be decisive.
>> Nothing criples a new product more than hanging on to legacy support.
I would agree most with this reply.
However, if compatibility can be achieved without additional effort and
without any disadvantages for the new version, it's better to support
the old files as well.
I'd also state that of all the feature requests thrown around, this one
is pretty low priority. Really, how many people use Eagle for 16-layer
designs?
Do it if you can, Re: Poll: Should we increase the number of signal layers?, but please do more important things first
Fully agreed.
Tilmann
Op Tue, 07 Sep 2010 12:13:54 +0200 schreef Klaus Schmidinger
<Klaus.Schmidinger@cadsoft.de>:
We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
..[snip]..
>
What is the EAGLE users' opinion about this?
Should we do it?
The general opinion up to now seems to be something like: "I personally
have no need for it, but I'm not against it either if it doesn't get in
the way of the more important stuff"
At least that's how I feel about this. ![]()
Richard
Klaus Schmidinger wrote on Tue, 07 September 2010 06:13
We are currently designing the new data structure of EAGLE,
and this seems to be the right time to consider increasing the
maximum number of signal layers (which has been requested
repeatedly in the past).
I've never used more than 6 layers, and that only once. Mostly I use 2 and
sometimes 4 layers.
Quote:
- The number of signal layers is increased to 32.
Increase it if you really see a need, but why must the number of layers be
fixed? Shouldn't this come from the DRC? I can see making 32 the maximum
possible number of layers, but it would be nice if my DRC is set to only 4
layers that Eagle acts as if there are only layers 1-4 with 1 being top and
4 being bottom. Does the special bottom layer really need to be hard
coded? It's already annoying enough now that when routing a 2 layer board
and you hit the middle mouse button that all the unused layers show up even
when the DRC only specifies two layers.
Quote:
- When updating files from an older version, all board layers above '8'
are shifted upwards by 16.
That might break some scripts and ULPs that assume layer 16 is the bottom,
although they should have been using "bottom" instead of 16.
Quote:
- ULPs that use concrete layer numbers instead of the constants
defined in "Help/User Language/Object Types/UL_LAYER" might
not work any more.
How about give us a constant the indicates the last layer number. Actually
if the valid layers come from the DRC (I think they should) then this could
be different per design. Put another way, this value accessible via ULP
would provide the layer number of the bottom layer, which would now depend
on the design. That means looping over all layers in use would be as easy
as looping from 1 to the bottom layer value.
Quote:
What is the EAGLE users' opinion about this? Should we do it?
Again, if we are going to make this change, it will need to
happen now, as we switch to an all new data structure.
If some people need more than 16 layers, you should do it. Eagle should be
capable of making any real board, although there are other features that I
think are higher priority, especially if you want to support designs so
complex that they require more than 16 layers.
--
Web access to CadSoft support forums at www.eaglecentral.ca. Where the CadSoft EAGLE community meets.
Kenny Millar wrote on Wed, 08 September 2010 05:09
Nothing criples a new product more than hanging on to legacy support.
Nothing pisses off existing users like a new version breaking their
existing investment in code.
It sounds like you don't write a lot of scripts and ULPs, but I do. I want
a new version of Eagle to just work with all my previous support tools. If
a feature can't be made backwards compatible, then it should be off by
default. Then I can selectively turn on new features deliberately when I'm
ready to take them on, not when I'm in the middle of a design with a
deadline looming. Maybe I'll never enable a new feature if I don't need
it. I'd probably leave the 16/32 layer switch at 16 until the unlikely
event I ever need to do a 32 layer board.
Let's not repeat the alpha blending fiasco. I had to waste almost a day
first figuring out why all my colors were screwed up, then adjusting all my
scripts and ULPs accordingly. No, not again!
--
Web access to CadSoft support forums at www.eaglecentral.ca. Where the CadSoft EAGLE community meets.
© 2009 Premier Farnell plc. All Rights Reserved
Premier Farnell plc, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE