Not enough reference planes in the board stack-up
Currently, the board stack-up is suboptimal from an EMC standpoint. However, it is possible to improve it without too much work. Here I propose an alternative, explaining its improvements, and of course any feedback is most welcome.
The main issue with this stack-up is the lack of reference planes to provide a low-inductance return path for both signals and power planes. In the whole board there are only two GND layers for 4 power plane and 6 signal layers (including top & bottom). That leads to increased noise, in both signals and power planes (because of the coupling of the fields that between them and the reference plane), and increased emissions.
By merging the four power planes into just two, we can now afford 4 GND layers for 2 power plane and 6 signal layers. That allows each layer to have an adjacent reference plane.
The two power plane layers and the moved via can be seen below. Note that to make some space for the P1V5 that went to L4PWR, a single via (CLK_25M) had to be moved.
Apart from the benefits mentioned above, the closer coupling of the power planes and the GND planes offers somewhat better decoupling for the main power rails. Here's a before and after of their impedance at IC16, note the shifted (250MHz -> 330MHz) and somewhat reduced resonance in VADJ.
The recommended stack-up can be seen below (the original layer names were kept). Some notes on it:
- The stack-up remains symmetric.
- The power planes were pushed closer to the surface to minimize parasitic inductance.
- For the same reason, L3 which also carries P1V2 was moved closer to the bottom layer.
- The ground pours in L10 and L3 can be kept as they can provide some (little) additional inter-plane capacitance for the power planes, while the pours in L5 and L8 can be removed. For the remaining GND pours to have close to zero interference with the signals, all of them were added to a polygon class with a clearance of 0.6mm (that's now 4x the distance from the ground planes).
This is just a suggestion and I'm sure it can be further improved so, again, any feedback is welcome!