In our standard stackup for multilayer PCBs, especially those with 12, 14, or more layers, we typically arrange two routing layers next to each other, with a ground or power plane on either side. This pattern is consistently repeated throughout the stackup.
We designate one layer in each pair for routing signals in the X direction and the other for routing signals in the Y direction, ensuring that signal crossings occur at right angles. This minimizes, though doesn’t entirely eliminate, coupling between signals.
For signals running parallel on adjacent or even the same layers, we have strict design rules that limit the allowed length of parallelism. These rules vary based on the type of signal (such as clocks, resets, pull-ups) and the associated edge rates.
How are these design rules established
The process of establishing design rules is multi-step and somewhat dependent on the capabilities of your toolset. One of the first steps is to define the signal or net classes required for the design. For instance, class 1 signals are the most critical, like clocks, and we specify specific orthogonal routing layers (e.g., layers 6 and 7), spacing (e.g., 30 mils from other signals), and desired impedance (e.g., 50 ohms ± 10%) for these signals.
Class 4 might be reserved for power nets that don’t require a full plane, while class 8 might be for signal return (GND) planes that need a full layer or multiple layers.
Signal Classes
The naming of signal classes isn’t fixed—you can use numbers (e.g., Class 1, Class 2), letters (e.g., Class A, Class B), or even colors (e.g., Class Red, Class Blue). Once signal classes are defined, each signal in the schematic is assigned to a class using attributes. For instance, the signal’s name is one attribute, and its class is another.
During the layout and routing stage, the design tool uses these attributes to guide the routing process. Instructions will specify the order in which signal classes should be routed, such as “route all class 1 signals first,” followed by class 4, class 2, etc. However, the routing order isn’t strictly tied to the numerical or alphabetical sequence of the classes. It’s important to note that despite tool assistance, routing and layout still involve significant manual input; it’s not a fully automated process.