While this is an old question, I felt the need to answer as I think Some Hardware Guy's recommended stackup of [sig gnd pwr sig]
is not ideal unless the entire PCB is 0.6mm or less thick, instead I will advocate for [sig+pwr gnd gnd sig+pwr]
making sure that layers 1 and 2 are less than 0.25mm apart, same for layers 3 and 4. Also, I didnt feel it was clarified well enough that choosing a stackup refers to multiple things together:
- Layer count
- How each layer is used
- Layer to layer spacing
Background
Firstly, ask 10 experts what's best and youll get multiple correct answers that conflict, because "best" doesnt mean much. It can be best for ease of routing, best for PCB copper balancing, best for signal integrity, best for cost, best for crosstalk, etc. You probably mean best overall, but who's choosing what matters and what doesn’t?
Pedantry aside, let’s start with spacing.
Compared to layer pairs like [1 2 3 4]
, if layers are equidistant [1 2 3 4]
, you would need larger trace seperation to maintain signal integrity, and traces need to be much bigger to be the same impedance. This would be even worse if you choose the middle two layers to be planes and made them near each other [1 2 3 4]
. If you make layers 1 and 2 a pair, then 3 and 4 a pair [1 2 3 4]
, you can have relatively small, close together traces with the same impedance and crosstalk. The only reason to have layers 2 and 3 close would be if you are forced to have a ground and power plane.
So, what should we use each layer for? We must remember two things: Each signal needs an unbroken return close to it throughout its entire path, and distance is king in this discussion. When a signal travels over a plane, a return current will form. This current will flow in such a way that more of it will go through the lowest impedance path. At DC, this current will look like a puddle as the lowest impedance path (here, purely resistive) is close in impedance to many paths along the plane, but when a high frequency signal is sent through the trace, the lowest impedance path for the return current is one with the highest capacitance and least inductance, which happens to be directly under the trace following its exact shape and is MUCH lower in impedance than any other copper, so even if a shorter path exists, the vast majority will travel in that one path. So even with a continious plane, at high frequency you might as well remove the plane and add a mirror return trace under the signal trace and there will be no difference, which I think highlights why an unbroken return path is necessary. You can read more about this here. Almost every single board made today contains high frequency, even if it is just an MCU with an integrated oscillator blinking an LED, the rise time of the LED line is extremely small, so high frequency content exists even in that example.
Sig/gnd/pwr/sig stackup has two problems: smallest of which is that by using this stackup, pwr's return path is very far away. Bigger than this is that a signal going from layer 1 to 4 will have a broken return path, this will lead to two return paths that follow the signals until the via, then go haywire across the board until a connection point is done, such as all nearby decoupling capacitors and other places where you really dont want it. That is unless you get layers 2 and 3 really close together to have enough interplane capacitance to pass this return current at high frequency, which would result in signals on layers 1 and 4 being large and seperated. This stackup with layer pairs being [1 2 3 4]
is only ok if a signal never leaves on layer and goes to another, and if the signal passes over a reference plane (which would probably be gnd, and the same pwr that the signal comes from, for example a 0/5V signal can pass over 0V or 5V, but not -5V or 12V).
Conclusion
If you use two signal layers, you almost must use two of the same plane layers (both gnd, or both the same pwr which the entire circuit uses. This may be better if ground connections are relatively few to pwr ones). Whatever doesnt get its own plane has to share a layer, which is usually sig and pwr sharing the same layer, with routed or poured power. As distance is king, you cannot have only one ground plane with two signal layers as in [sig gnd sig pwr]
. If two signal layers are used with two identical reference planes, each signal via must have a "stitching" via as close to it as possible, connecting both reference planes. As long as you follow these rules, you can have many choices. Even unusual options may be better for your specific project. As a starting point, I recommend the following stackup: [sig+pwr gnd gnd sig+pwr]
. I usually leave layer 1 for routed power, and if layer 4 is sparse I do a copper pour for pwr (while keeping the pour away from signals not referenced to it, or having multiple pours for different areas requiring a different voltage).
Quick note
You can make good arguments for the use of either the suggested [gnd sig+pwr sig+pwr gnd]
or [sig+pwr gnd gnd sig+pwr]
, each is better in different ways, but the former does not suffer from more crosstalk in any meaningful way, this is because one sig layer is much closer to gnd than the other sig+pwr layer, which is why it isnt meaningfully better than [gnd sig+pwr gnd sig+pwr]
for a standard 1.6mm PCB where layer 1 is significantly closer to layer 2 than 3.