Unless your PCB is designed correctly in the first place, you are going to run into issues sooner or later.
Designing a PCB for one of today's products can be very complex, but this aspect of things is often overlooked. Instead, focus falls upon the more "interesting" aspects of the product, like the FPGAs or MCUs. The fact remains, however, that unless the board is designed correctly in the first place, you are going to run into issues sooner or later.
Today’s PCBs can be mind-bogglingly complicated.
The following are the main aspects of a modern PCB about which we should be particularly concerned:
1. PCB stack-up: This is the keystone of the entire PCB. It defines the number of layers within the PCB (more layers can increase the cost) and allows the engineering team to establish the characteristic impedances on the various layers. Like many things in engineering, this becomes a trade-off between fabrication processes and layer count to achieve the desired reliability, yield, and cost targets.
2. Via types: Vias enable interconnections between the layers and components. There are many different types of vias: Through, Buried, Blind, and Micro (single-layer, multi-layer, or stacked). The best designs minimize the different types of via. Close discussion with your selected PCB supplier is also important to ensure that the via types you wish to use are within their capabilities. You will also need to ensure the current carrying capacity of the different via types (you can parallel up to accommodate high current paths).
3. Design rules: These will address rules for the design itself; e.g., component placement, crosstalk budgets, layer allocation, length matching/time of flight analysis, and so on. This will also include design for manufacture (DFM) rules, which ensure the finished design can actually be manufactured; i.e., are the via aspect ratios correct?
4. Breakout strategy: Before you can begin to verify your signal and power integrity, you must first ensure you can breakout and route all of the signals on high-pin-count devices. This will also affect the stack-up of the PCB -- should you use micro-via breakout (most probably yes) and how deep should these be stacked? Once you have a defined stack for the PCB, you can decide on your routing strategy -- will it be the traditional North, South, East, and West, a layer-based breakout, or a hybrid style?
5. Signal integrity: This is one of the most commonly considered aspects of designing a good PCB. Typically, an engineer will consider things such as signal rise and fall times, track lengths and characteristic impedances, and the drive strength and slew rates of the drivers and terminations. To ensure the best performance, signal-integrity (SI) simulations on the PCB will be performed pre-layout and post-layout; you will also need to consider the crosstalk budget.
6. Power integrity: High-performance devices -- especially modern FPGAs and ASICs -- can require large currents at low voltages. Ensuring both the DC and AC performance of the power distribution network is of vital importance.
Of course, the above list is by no means complete; however, it does provide a good starting point. I will consider at some of these aspects in more detail in future blogs, and also look at the tasks of assembling and populating the finished PCB.