High Speed Design
Parent page: Advanced Design Technologies
Understanding the Challenge
The purpose of this article is to introduce the key elements of high-speed design and then discuss how each of those elements is tackled in Altium NEXUS. This article does not attempt to provide a complete discussion of high-speed design; for that, there are a number of highly experienced and scholarly designers and engineers that have written excellent reference papers and books on the subject. Refer to the References section for links to these authors, and the papers used during research for this article.
So exactly what makes a PCB design a high-speed design? Sure it’s about things happening quickly, but it’s not just about the clock rate used on the board. A design is a high-speed design when it includes devices with fast edges - devices that switch state so quickly that the transition is complete before the signal can travel along the route and reach the target pin. In this situation the signal can be reflected back to the source pin, degrading or destroying the original signal data. A signal with a fast edge can also radiate from the route and couple into adjacent routes, or radiate further and become electromagnetic interference (EMI), resulting in the product failing to meet mandatory emission standards.
When a signal has fast edges, it changes the way that the energy travels through the routing. In a circuit where edge rates change slowly, you can think of the energy flowing through the routing like water through a pipe. Yes, some energy is lost due to friction as the water is pushed through the pipe, but basically most of it arrives at the other end. For a DC or low switching frequency circuit you can work out the resistance of the route and make sure that the amount of energy lost along the way does not affect the circuit performance.
It's not so simple in a high-speed design because as well as the energy flowing as electrons through the routing copper, in a fast-switching signal, some of that energy also travels as electromagnetic energy around the routing copper. Now you are no longer designing copper pathways for electrons; you're designing a series of transmission lines embedded in a printed circuit board.
How Long is too Long?
As the switching speed of the edge increases, the energy traveling through a route behaves differently. It no longer travels like water inside a pipe. instead, most of the energy is concentrated at the very surface of the route (known as the skin effect), with a portion of the energy actually traveling as electromagnetic radiation. Not traveling through the actual conductor, this electromagnetic energy travels through the material surrounding the route. Like dragging your foot through water, when energy travels in this way the signal actually slows down. Now it is the properties of the material around the route that dictate how quickly the signal travels and how much its arrival will be delayed.
So when does this become a problem, the time it takes for the signal to propagate down the route to the target pin? Like a wave hitting a wall, when the signal arrives at the target input pin some of the energy in the signal is reflected back towards the source pin. If this reflected energy arrives back at the source pin while the original signal edge is still transitioning, the original signal will be strong enough to swamp the reflection as it completes its transition and your signal will be OK. But if the edge transition is completed before the reflected energy arrives back, like an echo in the canyon, that reflected energy will interact with the original signal and change it, perhaps so much that you cannot work out what was actually shouted into the canyon.
To summarize, when the travel time along this round-trip length is equal to or longer than the rise time of the signal, the integrity of that signal is in doubt and your design is now a high-speed design! The length of that route is referred to as the critical length - routes shorter than this should not experience signal integrity issues, whereas routes longer than this might.
To analyze your design, a common rule of thumb that is often used is the 1/3 rise time rule, which states that if the route is more than 1/3 of a rise time long, reflections can occur. For example, if the source pin has a 1 nSec rise time, then a route longer than .33 nSec - which is approximately 2 inches in FR4 - must be considered to be a transmission line and therefore a candidate for signal integrity issues.
Assuming the Dielectric Constant εR of FR4 is 4, the Velocity of a Signal in FR4 is given as:
Vp(FR4) = (299.792458 / √4) mm/ns
=149.89 mm/ns (approx 6 inches/ns)
For FR4, the route length at which transmission line effects need to be considered can be calculated as:
LR ≥ TR × 49.965 mm
If TR = 1nS
LR ≈ 50mm (2 inches)
If TR = 100pS
LR ≈ 5mm (0.2 inches)!! On a board with signals switching at these speeds, most routes will be transmission lines.
Matching the Impedances
Since it is not possible to ensure that all routes are shorter than the critical length, how do you ensure that the information encoded in your signals is received correctly, and not swamped by reflections? You do that by minimizing the amount of energy that is reflected back. Ideally, you want all of the energy that arrives at the target input pin to pass through into that component and none to be reflected back. Just how do you get that to happen?
To prevent reflections, you need to think of and design the route as if it is a transmission line. Why? Because a transmission line has the special behavior that when it is terminated by an impedance the same as its own impedance, no energy is reflected. Now you have a method of handling those routes that are longer than the critical length; route them as a transmission line. This means you route them so they have a specific impedance, then terminate them with the same impedance.
The impedance of the routing is defined by the dimensions of the routing (the width and height of the pipe), and the properties and dimensions of the surrounding materials, which will be the surrounding air or dielectric layers. To function as a transmission line, the layer that is adjacent to the signal layer must be a plane layer. By carefully arranging the layers in the layer stack and calculating the dimensions and properties, a specific impedance can be achieved for the routing. This approach to routing is referred to as controlled impedance routing, where the target impedance is kept constant, and the material dimensions and properties are selected and adjusted to achieve that.
A controlled impedance PCB cannot be achieved through routing alone though. There are two pieces to this puzzle - controlling the impedance of the routing, and matching that impedance to the pins in the net. Achieving this matching often requires the addition of termination components. Terminations can be added close to the source pin, or close to the target pin. A good approach to working out if a high-speed net needs terminating is to analyze the design with a signal integrity simulator. Unlike a circuit simulator, which models and simulates the behavior and interaction of the components, a signal integrity simulator models the behavior of the routing and its interaction with the component pins. For signal integrity simulation the components are only modeled in terms of the I/O characteristics of their pins.
The signal integrity analysis tool needs to:
- Identify nets that could have unacceptable levels of reflections (ringing)
- Predict the potential levels of signal reflection and crosstalk as waveforms
- Allow what-if analysis of potential termination components and help select suitable termination components
Where does the Return Energy Flow?
But wait, there’s more (or is that Moore?). Electrical energy only flows when there is a closed-loop, so the energy flowing out along the signal route must also have a return path. This return path is typically provided by the ground routing that has to provide a return path for all of the signals in the design. There’s an interesting phenomenon that occurs with signals with fast switching edges. The returning energy of a signal wants to flow back along the same twisting and turning path that the signal route took across the board. Why? Because this is the path of least impedance for that signal. Even though it could flow the shortest distance from the target component back to the source component, it does not.
So as well as thinking about the routing path for the signal, you also have to ensure there is an unbroken path for the return current immediately under the signal route. If the return energy has to deviate from below the signal path to get around an obstacle, like a hole in the plane (a blowout), then a loop is created. The loop is the gap between the two paths as you look down into the board, and the area of this loop is proportional to the amount of energy that will now be radiated by this signal. If there is a blowout in the plane that is unavoidable, consider rerouting the signal trace to suit the return path, as reducing the loop area is generally considered more important than minimizing the route length.
Differential Pairs
Modern signaling technologies, such as differential pairs, help reduce the need for a high-quality return plane by routing the signal path and the return path together as a pair, ensuring that they are closely coupled in both separation and overall length. As well as the strong coupling and the reduced reliance on a high-quality reference ground, differential pairs offer another big advantage - excellent immunity to noise.
The electromagnetic energy that is traveling around the route as part of each signal does not all couple into the target input pin; some of it escapes and interferes with adjacent signals. This escaped energy becomes what is called electromagnetic interference (EMI), and when it couples into a neighboring signal, it creates what is called crosstalk. Differential pairs are good at coping with crosstalk because the radiated energy couples into both the outgoing signal and the return signal, creating what is called common-mode noise (the noise is common to both signal paths). If there was only a single signal, this crosstalk would add to that signal and distort it. But the differential pair input pins are designed to look at the difference between the pins in the pair, and so are able to reject the common-mode noise.
These two qualities - the ability to closely match the lengths of the signal and its return path, and the ability to withstand the effects of crosstalk - make differential pairs the preferred solution for high-speed signaling, which can support data rates beyond 10 Gb/s on a PCB.
What about Vias?
If carefully controlling the impedance and insuring there is a high-quality return path are the first two edges of the high-speed design triangle, vias are the third edge of that triangle. At low frequencies, a via has little impact on the signal quality and can be used without consideration of its impact on circuit performance. However, if your design is functioning as a high-speed design, the vias can impact on the circuit performance and the signal quality.
Vias appear as both capacitive and inductive discontinuities, so their presence affects the impedance of the signal route. As well as affecting the impedance, unused via barrel length presents as a stub which can create reflections. Quantitative studies have shown that their impact can be reduced by addressing each of the following areas:
- Reducing the size of the annular ring where the signal route connects to the via.
- Removing unused annular rings on layers to which the via is not connected.
- Increasing the clearance from the via barrel to adjacent plane layers.
- Placing stitching vias adjacent to signal vias to provide a path for the signal return current to be able to switch plane layers.
- Careful placement of decoupling capacitors adjacent to the via when a different voltage plane will be used to carry the signal return.
- Removal of via stubs (the extra, unused via length that projects beyond the layer that the signal route uses to access the via). This is done through:
- via design and careful layer assignments to suit the fabrication process, and
- controlled depth drilling (back drilling) to remove the unused section of the via barrel.
Another approach to minimize the impact of vias in a high-speed design is to use microvias. A microvia is a small via. IPC standards (IPC/JPCA-2315 and IPC-2226) define microvias as blind or buried vias with a diameter equal to or less than 6 mils (0.15 mm). A 6 mil diameter is at the limit for mechanical drilling so microvias are typically laser-drilled. There are also hybrid laser modified + controlled depth mechanical hole drilling techniques used, as outlined in this paper, which offers advantages in fabrication.
Microvias offer a number of advantages:
- Reduced parasitics (in the order of one-tenth of a drilled thruhole via), resulting in lower inductance.
- Smaller geometries, which result in a smaller annular ring.
- Reduced size of blowout on plane layers that they pass through.
- Removal or reduction of stub length. Because they are constructed as part of the layer stacking process during fabrication, they can connect between specific start and end layers. While they cannot span any pair of layers, careful selection of the signal layers used for high-speed signals can ensure that those layers have access to a microvia start/stop layer.
Crosstalk
Because some of the energy in a high-speed signal travels through the material that surrounds the route, it is inevitable that some of that energy will couple into adjacent routes. Referred to as crosstalk, this energy will degrade the quality of that signal. In signal integrity language, the signal that is radiating the energy is referred to as the aggressor net, and the signal that is receiving the crosstalk energy is referred to as the victim net. So how do you reduce the amount of energy that escapes from the aggressor, and how do you reduce how much of that energy is coupled into the victim? The basic approach is to reduce the amount of energy escaping from the aggressor route through impedance matching and correct design of the signal return path, and to keep potential victim nets away from aggressors.
Clock signals and other periodic signals are the prime sources of crosstalk in a design. An often-used rule of thumb is to ensure that potential aggressors, such as clocks, are separated from potential victims by three times the width of the routing (measured center to center). This is known as the 3-W rule. Or in edge-to-edge terms, the separation must be no less than twice the routing width. This is a large clearance, so you will need to be selective about the nets to which it is applied. High-threat aggressors, such as clocks, are one group. The other main group to consider is the more sensitive potential victims, such as differential pairs; this group also benefits from a pair-to-other-signal separation of 3-W.
Dancing in Time
Last but not least, there is the time it takes for the signal to arrive at its destination input pin. Generally, a signal does not exist in isolation. It is working in harmony with a multitude of other signals. A simple example would be the 8 bits in a byte of data. Not only must the entire byte arrive within the time allowed, the bits within the byte must all arrive together too. The time it takes for a signal to travel from output to input is referred to as the flight time, and any difference between the arrival times of the bits is referred to as the signal skew.
The key factors that influence both the flight time and the skew are:
- The length of the signal routes, i.e. how far the signals have to travel.
- The materials that the signals are traveling through; this affects how fast the signals travel.
Managing these requires consideration of:
- Component placement - good component placement is a key element of a successful high-speed design. Use the Manhattan length to guide the initial placement of different components that need similar route lengths, for example, DDR3 memory devices configured in a T-branch topology.
- Material selection - the material from which the PCB is fabricated is a critical factor in a high-speed design. FR4 has served the PCB industry well for decades, but its use becomes a limiting factor in high-speed designs since the inconsistent dielectric constant of FR4 creates skew. Material is discussed more in the following section.
- Overall route length - as well as influencing the flight time, overall lengths are also important when routing sets of related nets. For example, DDR timing requirements specify that the clock route is longer than the address and control routes. These requirements are managed by Length design rules.
- Matched route lengths - skew is managed by matching route lengths. It is the longest route in a set of signals that determines the route length for each net in that set. Lengths are matched by defining Matched Length design rules, then lengthening each shorter route to match the specified length.
The Board
All of this happens on the printed circuit board. Since they were first created in the 1940s, the humble PCB has undergone tremendous levels of refinement in fabrication technology and materials. This has lead to enormous reductions in the size of the features, including the routing and vias. Tracks are no longer fabricated at 20 mils wide. Now they can be as small as 2 mils wide; and a small via is no longer 30/18 mil (land/hole) - it is 12/6 mil. A new name was created to describe designs using features this small - High-Density Interconnect (HDI) techniques. While it costs more to create the smaller features used on HDI boards, their smaller size means the finished design can use fewer layers, have shorter routes, and improved signal integrity, which can ultimately result in a board that might not cost any more to make (but can be much harder to test and repair).
The Materials
A large part of the challenge with a high-speed design is managing the medium that the signals travel through. Traditional FR4 has provided a cheap and effective board substrate material for decades, but the non-homogenous structure of fiberglass weave embedded in resin becomes a limiting factor for high-speed designs. The resin has a different dielectric constant (≈3) from the fiberglass weave (≈6), and since the fiberglass is a woven structure with gaps in the weave, the signal sees a changing dielectric constant as it travels across the board. Because of this, there is a range of FR4 materials available. Better materials have a tighter weave structure that gives a more consistent dielectric constant. The dielectric constant of FR4 also changes with temperature by as much as ± 20%.
There are superior materials available for PCB fabrication, such as Teflon or ceramic, but these come at a price. The material that the board is fabricated from must be considered and chosen early in the PCB design process in consultation with the fabricator. To help balance material selection against material cost, many PCB fabricators allow a mix of materials so that the expensive materials are only used for the layers that carry the high-speed signals.
The Layers
Like many aspects of printed circuit board design, working out the best number of layers is as much art as it is math. Fanout and escape routing of dense BGAs will strongly influence the number of routing layers. Performing a test fanout and escape route to check the densest BGA in the design can help verify there are enough signal layers. Another approach, recommended by Barry Olney of In-Circuit Design, is to run a test autoroute on the board. He suggests that if it completes at least 85% of the routes, the board should be hand-routable using the current layer stackup.
Adding and assigning layers is done in pairs. Generally, you will either have a pair of plane layers for each pair of signal layers, or a pair of plane layers for every two pairs of signal layers. So a four-layer board will be two plane and two signal; a six layer board will be two plane and four signal, an eight-layer board will be four plane and four signal, and a ten layer board will be four plane and six signal layers. Note that this is only a guideline; the overriding objective is to ensure that every high-speed signal layer is adjacent to a plane layer.
Not all signals are high-speed signals, and not all layers can be configured as high-speed routing layers, so the standard practice is to assign and route the high-speed signals on specific layer pairs. Each signal layer pair should have one layer in the pair assigned for vertical routing and the other assigned for horizontal routing, and these should be followed as best as possible to reduce crosstalk between the adjacent layers. The high-speed pair can be positioned on either side of a plane layer or between two plane layers.
The thickness of the dielectric between the high-speed signal layers and the reference plane layer will be set to suit the required characteristic impedance; typically this will be less than 10 mils (0.25 mm). To achieve the overall board thickness required for mechanical reasons, adjust the thickness of a dielectric layer(s) that is not adjacent to a high-speed signal layer, for example, the center core layer.
Possible Layer Stackups
The table below shows a number of possible layer stackups and layer assignments. The arrangement of high-speed pairs and general purpose pairs can be changed, for example, if your six-layer/thruhole-only design can have the high-speed signals routed on the top layer, this is a good option if it means the high-speed signals do not need to use vias. Keep each high-speed layer adjacent to a plane layer, and the surrounding dielectric thicknesses the same for the high-speed layers.
4-layer | 6-layer | 8-layer | 10-layer | 12-layer |
---|---|---|---|---|
Signal HS-H | ||||
Signal HS-H | GND | |||
Signal HS-H | GND | Signal HS-V | ||
Signal H | GND | Signal HS-V | Signal H | |
Signal V | GND | Signal HS-V | Signal H | GND |
GND | Signal HS-V | GND | GND | Signal V |
POWER | Signal HS-H | POWER | POWER | Signal H |
Signal H | POWER | Signal H | Signal V | POWER |
Signal V | GND | Signal HS-H | Signal V | |
Signal V | GND | Signal HS-H | ||
Signal HS-V | GND | |||
Signal HS-V |
High-Speed Design in Altium NEXUS
This section provides information on how to tackle each of the challenges in designing a high-speed PCB, in Altium NEXUS.
To summarize, the process of routing a board with high-speed signals requires you to manage:
- Termination components that may be required
- The definition of the signals that need high-speed design rules applied to them
- The mechanical dimensions of the routes - for controlled impedance routing
- The properties and dimensions of the board materials
- The quantity and arrangement of the layers in the layer stack
- The return path of each high-speed signal
- The impact and configuration of vias
- The configuration and routing of differential pairs
- Configuring and controlling the route lengths
Pre- and Post-layout Signal Integrity Analysis
Early in the design process, it is important to identify signals that might require impedance matching so that additional termination components can be included before the component placement process is complete. Since output pins are typically low impedance and input pins are typically high impedance, termination components may need to be added to the design to achieve impedance matching.
Altium NEXUS includes a signal integrity simulator that can be accessed during both the design capture and board layout phases of the design process, allowing both pre- and post-layout signal integrity analysis to be performed (Tools » Signal Integrity). The signal integrity simulator models the behavior of the routed board by using the calculated characteristic impedance of the traces combined with I/O buffer macro-model information as input for the simulations. The simulator is based on a Fast Reflection and Crosstalk Simulator, which produces very accurate simulations using industry-proven algorithms.
Because both design capture and board design use an integrated component system that links schematic symbols to relevant PCB footprints, SPICE simulation models and signal integrity macro-models, signal integrity analysis can be run at the schematic capture stage prior to the creation of the board design. When no board design is present, the tool allows you to set up the physical characteristics of the design, such as the desired characteristic trace impedance, from within the signal integrity simulator. At this pre-layout stage of the design process, the signal integrity simulator cannot determine the actual length of particular connections so it uses a user-definable average connection length to make its transmission line calculations. By carefully choosing this default length to reflect the dimensions of the intended board, you can gain a fairly accurate picture of the likely signal integrity performance of the design.
Nets with potential reflection problems can be identified and any additional termination components can be added to the schematic before proceeding to board layout. The values of these components can then be further tuned once the post-layout signal integrity analysis has been performed.
► Learn more about Impedance Matching the Components
Defining the High-Speed Signals
Main articles: Defining High-Speed Signal Paths with xSignals, xSignal Wizard
High-speed design is the art of managing the flow of energy from one point on a circuit board to another point. As the designer, you need to be able to focus your attention and apply the design constraints onto a signal that travels from this point on the board to that point on the board. This signal you are focusing on is not necessarily a single PCB net though. The signal might be one branch of A0 in a design that you intend to route in a T-branch topology, with the other branch of A0 being another signal you need to focus your attention on as well, and be able to compare the route lengths of these two signals. Or the signal might include a series termination component in its path (which the PCB editor sees as one component and two PCB nets), and if that signal is in a differential pair, its length needs to be compared to the length of the other signal in that pair.
You can manage these requirements using a feature known as xSignals, where an xSignal is essentially a user-defined signal path. You select the source pad and the target pad (in the workspace or in the PCB panel) then right-click on either to define that signal path as an xSignal. As well as interactively defining an xSignal by its start and end pads, you also can run the intelligent xSignals Wizard, whose heuristics will help you to quickly set up a large number of xSignals between the chosen components. These xSignals can then be used to target design rules to your high-speed signals. The software understands the structure of these xSignals; for example, calculating the overall length of multiple nets connected through a termination component, as well as the distance through that termination component.
The PCB panel includes an xSignal mode that is used to examine and manage the xSignals. The panel also provides feedback on the signal length, highlighting xSignals that are close to meeting (yellow) or failing to meet (red) the applicable design constraints. In the image below the xSignal lengths of the CLK1 differential pair are different in length by more than allowed by the applicable Matched Length design rule. The panel includes the Signal Length, which is an accurate point-to-point length. Traditional length inconsistencies, such as tracks within pads and stacked track segments, are resolved, and accurate via span distances are used to calculate the Signal Length.
Defining the Properties of the Routing
Main article: Controlled Impedance Routing
Traditionally, board designers would define the widths and thickness of the routing by entering a dimension for the width and selecting a thickness of copper for that layer. This was generally sufficient since you only needed to ensure that the current could be carried and the required voltage clearances were maintained. This approach is not sufficient for the high-speed signals in your design, for these you need to control the impedance of their routes.
Controlled Impedance routing is all about configuring the dimensions of the routes and the properties of the board materials to deliver a specific impedance. This is done by defining a suitable impedance profile, and then assigning that profile to the critical high-speed nets in the routing design rules.
Defining the Impedance Profile
Main article: Configuring the Layer Stack for Controlled Impedance Routing
Impedance profiles are defined in the PCB editor's Layer Stack Manager (Design » Layer Stack Manager). The Layer Stack Manager opens in a document editor, in the same way as a schematic sheet, the PCB, and other document types do.
Once the layer properties have been configured, switch to the Layer Stack Manager's Impedance tab to add or edit single or differential impedance profiles.
Configuring the Design Rules
The routing impedance is determined by the width and height of the route, and the properties of the surrounding dielectric materials. Based on the material properties defined in the Layer Stack Manager, the required routing widths are calculated when each impedance profile is created. Depending on the material properties, the width may change as the routing layer is changed. This requirement to changes widths as you change routing layers is automatically managed by the applicable routing design rule configured in the PCB Rules and Constraints Editor (Design » Rules).
For most board designs, there will be a specific set of nets to be routed with a controlled impedance. A common approach is to create a net class or differential pair class that includes these nets, then create a routing rule that targets this class, as shown in the images below.
Normally you manually define the Min, Max and Preferred Widths, either in the upper constraint settings to apply them to all layers; or individually for each layer in the layer grid. For controlled impedance routing you enable the Use Impedance Profile option instead, then select the required Impedance Profile from the dropdown. When this is done, the Constraints region of the rule will change. The first thing you will notice is that the available layers region of the design rule will no longer show all signal layers in the board, it will now only show the layers enabled in the selected Impedance Profile. The Preferred Width values (and diff pair gap) will update to reflect the widths (and gaps) calculated for each layer. These Preferred values cannot be edited but the Min and Max values can, set these to suitable smaller/larger values.
Routing Width Design Rule
For single-sided nets, the routing width is defined by the Routing Width design rule.
Differential Pairs Routing Design Rule
The routing of differential pairs is controlled by the Differential Pair Routing design rule.
► Learn more about Differential Pair Routing
Choosing the Impedance
So how do you know what target impedance to select? This is normally driven by the characteristic source impedance of the logic family or technology being used. For example, ECL logic has a 50Ω characteristic impedance, and TTL has a source impedance range of 70Ω to 100Ω. 50Ω to 60Ω is a common target impedance used in many designs, and for differential pairs, 90Ω or 100 Ω differential impedance is common. Remember, the lower the impedance the greater the current drain, the higher the impedance the more chance there will be EMI emitted, and the more susceptible that signal will be to crosstalk.
A 100Ω differential pair can also be viewed as two, 50Ω single-ended routes that have the same length. This is not exactly correct due to the coupling that occurs between the pair, which becomes stronger as they become closer, reducing the differential impedance of the pair. To maintain 100Ω differential impedance the width of each route can be reduced, which slightly increases the characteristic impedance of each route in the pair by a few ohms.
Defining the Properties of the Board
Main article: Layer Stack Management
The materials used for the layers in your board, their dimensions, and the number of and order that the layers are arranged, are all defined in the Layer Stack Manager. Here you configure the various layers that are needed to fabricate the final board including the copper signal and plane layers, the dielectric layers that separate the copper, the cover layers, and the component overlay.
Configuring the Vias
Main article: Defining the Via Types
As mentioned in the overview section of this article, vias affect the impedance of the signal routing and are a key consideration in high-speed design. As well as the length, hole diameter, and via land area affecting the impedance that the signal sees, any unused portion of a via barrel can act as a stub, contributing to signal reflections. To manage this, various layer-to-layer via styles can be fabricated, including Blind, Buried, µVia, and Skip Vias. These via types are all supported in Altium NEXUS.
Vias are defined as part of the layer stack, in the Layer Stack Manager's Via Types tab. Back drilling of unused via barrels is also supported, these are defined in the Layer Stack Manager's Back Drills tab (Learn more about configuring the board for back drilling).
Quantitative studies have been performed to understand the impact of vias, such as the Altera Application Note AN529 Via Optimization Techniques for High-Speed Channel Designs.
Summarizing this study and other references, the following guidelines are given to help minimize the impact of vias:
- Reduce the size of the via annular ring where the signal route connects to the via, the App Note suggests a via diameter/hole size of 20/10 mil (0.5/0.25 mm) for mechanically drilled vias.
- Remove unused annular rings (also known as NFPs, or Non-Functioning Pads) on layers that the via is not connected to. Use the Tools » Remove Unused Pad Shapes command to do this.
- Increase the clearance from the via barrel to adjacent plane layers. This is controlled by the Power Plane Clearance design rule, the App Note suggests 40 to 50 mil (1.0 to 1.25 mm). Note that this increases the size of blowouts in those plane layers.
- Place stitching vias adjacent to signal vias whenever the signal route has a layer change that results in the return path switching to another layer. If the new reference plane layer is the same voltage as the original reference plane then those planes should be tied together with a via, within 35 mil (0.9 mm) of the signal via (center to center).
- When the signal route has a layer change and the new reference plane layer is a different voltage, place decoupling capacitors adjacent to the signal via. This capacitor decouples directly between the 2 planes, regardless of the voltages they carry. Note that this solution can result in noise being coupled from one plane to the other, so this should only be done as a last resort to reduce the return path loop area.
- Remove via stubs (extra via length beyond the layer that the signal route accesses the via). This is done by using suitable blind and buried vias, or by via back drilling during fabrication.
Managing the Return Path for High-Speed Signals
A good quality return path is essential for each high-speed signal in the design. Whenever the return path deviates and does not flow under the signal route, a loop is created and this loop results in EMI being generated, with the amount being directly related to the area of the loop.
Creating Power Planes
- A power plane can be created from either a plane layer, or a signal layer covered by a polygon(s).
- Creating a power plane with a plane layer:
- Plane layers are added in the Layer Stack Manager, right-click on an existing layer to Insert layer above or Insert layer below to add a new plane layer.
- With the plane layer selected as the active layer, double-click anywhere within the plane to open the Split Plane dialog, where the net can be assigned.
- The software automatically pulls the plane edge back from the edge of the board by the amount specified in the Pullback Distance column for that layer in the Layer Stack Manager. If that column is not visible, right-click on an existing column heading to access the Select Columns command.
- A plane layer can be split into separate regions by placing lines (Place » Line). Press Tab after starting to place the first line segment to set the width of the split line. Place the line segments from board edge to board edge, or create a closed shape for an island. The software will automatically detect the separate shapes created by the split lines, double-click on each shape to assign it to a net.
- Creating a power plane with polygons on a signal layer:
- Signal layers are added in the Layer Stack Manager, right-click on an existing layer to Insert layer above or Insert layer below to add a new signal layer.
- If separate power zones are required it can be easier to cover the entire layer with a polygon and then slice it (Place » Slice Polygon Pour). Press Tab after starting to place the slice line to open the Line Constraints dialog, where you can set the slice width - this width will become the distance between the two polygons created by the slicing action. The slice line must start outside the polygon and finish outside the polygon.
- To repour a polygon, right-click and select Polygon Actions » Repour Selected from the context menu.
- Polygons can also be shelved (temporarily hidden), right-click and select the relevant command from the Polygon Actions sub-menu. Use this feature when you need to move components and routing.
- It can help to display the different nets in a different color, as shown in the images below. This can be done in the schematic or the PCB, learn more about Applying Color to the Nets.
The Plane as a Signal Return Path
A good quality return path is one where:
- There are no breaks, splits, or blowouts (holes in the plane created by a via or thruhole pin) under the signal route in the plane providing the return path (the plane closest to the signal of interest).
- The width of the return path is ideally 3x the width of the signal routing, or 3x the distance from the route to the plane, whichever is smaller. While the greatest current density is directly below the signal route, it also spreads out into the plane on either side of the route with approximately 95% flowing within 3x the route width. Breaks in the plane within this region have the effect of increasing the impedance of the return path, and any deviation in the return path will create a loop. In terms of signal integrity, this increased return path impedance impacts the quality of the signal as much as increasing the impedance of the signal path.
- The area of the loop has been minimized. Generally, it is more important to reduce the loop area than minimize the routed signal length. If the return path encounters a blowout, consider re-routing the signal to suit an available return path.
- When a power plane is providing the return path, the return energy will ultimately get to ground through a decoupling capacitor. Carefully consider the location of the decoupling capacitors near the source pin of the signal to minimize the size of any loop created.
Managing Split and Multiple Power and Ground Planes
There is general agreement that a ground plane should not be split unless there is a specific requirement for it and you understand how to define and manage it. Instead, the components should be arranged to keep noisy components separate from quiet components, and to also cluster components by the supply rail that they use.
Other points to keep in mind about power and ground planes include:
- If the design requires a ground plane to be partially split then signals that traverse those areas should be routed across the bridge (the zone without a split below it).
- If you are attempting to minimize circuit noise, it is better to use additional ground planes than to split a plane, and where possible, include plane layers for both the supply and ground rails of each regulated power supply.
- If the design includes multiple rails with each distributed on its own plane, ensure that each power plane only references its own ground plane. Do not let allow a power plane overlap (reference) a different rail's ground plane. This creates capacitive coupling, allowing noise to travel from one supply to another.
- If the adjacent plane is a power plane that must be split into different voltage areas, then you might need to decouple directly across the two voltages areas to provide a suitable return path.
Visualizing Split Planes
To help with the task of visually checking the return paths, you can configure the display so you can more easily examine the return path under the critical route paths.
To do this:
- Assign a color to each power net, learn more about Applying Color to the Nets.
- Reduce the display of layers to only show the relevant signal and plane layers. This set of layers can be saved as a Layer Set, learn more about creating a layer set.
- Switch to the signal layer and Ctrl+Click on the net of interest to highlight it (include Shift as you click to highlight multiple nets). The advantage of highlighting over selecting is that highlighting is persistent, press Shift+C to clear the current highlight set.
- Highlighting is achieved by dimming the rest of the objects in the workspace, the Dimmed Objects level is set in the Mask and Dim Settings section of the View Configuration panel.
- Make the plane layer the active layer.
Your net(s) will stand out, and any splits or discontinuities that lie in the return path, such as split lines or blowouts created by through-hole pads and vias, will be easier to see.
Detecting Breaks in the Return Path
Breaks or necks in the return path can be detected by the Return Path design rule. The Return Path design rule checks for a continuous signal return path on the designated reference layer(s) above or below the signal(s) targeted by the rule. The return path can be created from fills, regions, and polygon pours placed on the reference signal layer, or it can be a plane layer.
The return path layers are the reference layers defined in the Impedance Profile selected in the Return Path design rule. These layers are checked to ensure the specified Minimum Gap (width beyond the signal edge) exists along the signal's path. Add a new Return Path design rule in the High Speed rule category.
The image below shows return path errors detected for the signal, NetX
, with a Minimum Gap setting of 0.1mm
. It can be easier to locate Return Path errors by configuring the DRC Violation Display Style to show Violation Details but not the Violation Overlay ( show image), in the Preferences dialog. Doing this highlights the exact locations where the rule has failed, rather than the entire object(s) in violation.
Configuring and Routing Differential Pairs
Main articles: Differential Pair Routing, Controlled Impedance Routing
The definition of differential pairs can be done during schematic capture, or they can be defined once the design has been transferred to board layout. A core requirement of defining a pair on the schematic is to include an _P
or _N
at the end of the Net name for each of the relevant nets. Differential pairs are identified on the schematic by placing a Differential Pair directive on each net, or by placing one on a Blanket directive, where the Blanket directive overlays a set of enclosed differential-style Net Labels, as shown in the image below.
Working with Differential Pairs:
- In the PCB editor, differential pairs can be defined in the Differential Pair Editor mode of the PCB panel. To simplify the process of defining design rules that apply to the differential pairs, they can either be assigned to Net Classes or to Differential Pair Classes, both of which are defined in the Object Class Explorer.
- To route a differential pair with a controlled impedance, create an impedance profile in the Layer Stack Manager. Learn more about Controlled Impedance Routing.
- The properties of the differential pair routing is defined by the Differential Pair Routing design rule.
- To route a differential pair, you use the Interactive Differential Pair routing command. Click on either the
_P
or_N
pad to commence routing, then use the Spacebar to cycle through the available exit routing shapes. The routing behavior is the same as single net routing, press Shift+F1 for a list of interactive routing shortcuts. As you approach the target pads, press Ctrl+Click to complete the routing up to the pads.
Differential Pair rules of thumb:
- Length matching is critical for differential pairs to be effective, keep the lengths matched to within 25 mil (0.635 mm). Another rule of thumb that is used is to match the lengths to be within 20% of the signal rise time. Differential pairs work because the return energy flows back through the other member of the pair, the more that the lengths do not match, the greater the amount of energy that returns through the nearest plane layer instead.
- Discontinuities in the coupling, such as when the pair members route around either side of an obstacle, increases the impedance. It can be better to route the entire pair with looser coupling (for example 2 x signal route width) to reduce the amount that the impedance changes due to coupling discontinuities.
- Keep aggressor routes away, especially on surface layers, aim for a clearance of 3 x the signal route width for potential aggressor nets.
- As a general rule, aim for a pair-to-other signal clearance of 2 x signal route width.
- Keep same-layer ground polygons away by at least 3 x signal route width.
- Reflections introduced by vias and coupling discontinuities are managed through controlled impedance routing, doing this requires a continuous reference plane below the signal path.
- Reduce the signal layer-to-plane separation to improve immunity to crosstalk.
Controlling and Tuning the Route Lengths
Main articles: Length Tuning, Length design rule, Matched Length design rule
A key requirement of managing high-speed signals on a board is to control and tune their route lengths.
- The absolute lengths can be monitored by the Length design rule, and the and relative route lengths monitored by the Matched Length design rule.
- The current lengths of a set of nets, and their compliance with applicable design rules, can be checked in the PCB panel in Nets mode (as shown below).
- If there is a Length rule and/or a Matched Length rule defined, then you can monitor the length during interactive routing or length tuning by displaying the Length Tuning Gauge (Shift+G).
-
The delay caused by the length of the pin within the device package is supported, to learn more read about Pin Package Delay.
-
Nets that include serial components in their path are managed by defining xSignals.
Design Rules
- Managing the Overall Route Lengths - the overall route length of a net or set of nets can be monitored by a Length design rule. The Length design rule has a minimum and maximum allowed length, if the Signal Length is less than the allowed minimum it is highlighted in yellow in the PCB panel (in Nets mode), a Signal Length greater than the allowed maximum is highlighted in red.
- Managing the Relative Route Lengths - the relative route lengths of a set of nets can be monitored by a Matched Length design rule. The Matched Length design rule has a tolerance and uses the longest route in the set of targeted nets as reference length. Yellow highlighting of the Signal Length in the panel indicates that the length of this signal is less than the longest route length minus the tolerance. Red highlighting indicates that this signal's length is greater than the longest route length.
To understand how the settings of these two rules are resolved when both are present in a design, refer to the Length Tuning page.
Monitoring the Route Length
Current route lengths are displayed in the Nets mode of the PCB panel, and are updated as you route. The Routed length value will go yellow as you approach the target length, and turn red if you exceed it.
If there is a Length rule and/or a Matched Length rule defined, you can monitor the length during interactive routing or length tuning by displaying the Length Tuning Gauge. While you are routing, use the Shift+G shortcut to toggle the Gauge on and off.
The Gauge shows the current Routed Length as a number over the top of the slider, while the slider shows the Estimated Length. During length tuning the Estimated Length = Current Routed Length
; if you are using the Gauge during interactive routing then the Estimated Length = Routed Length + distance to target (length of connection line)
.
- Gauge minimum (left edge of gauge) is 45 (lowest
MinLimit
) - Gauge maximum (right edge of gauge) is 48 (highest
MaxLimit
) - Left yellow bar (highest
MinLimit
) is 46.58 - Right yellow bar (lowest
MaxLimit
) is 47.58 (obscured by the green bar in the image above) - Green bar (
TargetLength
) is 47.58 (route length of the longest net in the set, equal toMaxLimit
) - Green slider and the overlaid numerical value (Current route length) is 47.197.
Tuning the Route Lengths
Route lengths can be tuned after the routing is complete, using the Interactive Length Tuning command, or the Interactive Diff Pair Length Tuning command (Route menu). These commands add accordion sections to the routing, in a choice of three shapes.
If there is an applicable Length rule and Matched Length rule, the length tuning tool considers both of these rules and works out the tightest set of constraints. So if the maximum length specified by the Length rule is shorter than the longest length targeted by the Match Length rule, then the Length rule wins and its length is used during tuning.
To see which rules are being applied or to change the accordion properties during length tuning, press Tab to open the Interactive Length Tuning mode of the Properties panel, as shown below. Note the Target Length, this is the Max Limit of the strictest applicable rule settings.
To tune the length of a net, run the command and then click anywhere along the net's length. Move the cursor so that it follows the path of the route, tuning accordion sections will be added as you do. Tuning sections will continue to be added until the length requirements defined by the applicable design rule(s) have been satisfied. If the cursor moves outside the bounds of the tuning accordions, the accordion shapes will disappear - when the cursor is moved so that it is back within the bounds of the accordion shape, they will re-appear.
► Learn more about Length Tuning
In Conclusion
While it is not possible to derive a universal set of rules that apply to every high-speed design, it is possible to follow good design practices that will help you succeed with your high-speed design. There are a number of industry experts that deliver practical and popular training courses on high-speed design. Use the links below to learn more, and to research specialized training options.
References
The author gratefully acknowledges the work of the following industry experts, this article is an attempt to summarize their collective knowledge.
- Microstrip Propagation Times
- Splitting Planes For Speed and Power
- Skin Effect
- Differential Trace Design Rules - Truth vs Fiction
- Via Inductance
- 10 Layer Stack
Lee W. Ritchey books and articles
- Right the First Time
- A Treatment of Differential Signaling and its Design Requirements
- PCB laminates influence high-speed data rates, Part 1, Part 2
In-Circuit Design articles - Barry Olney
- Differential Pair Routing
- The Plain Truth About Plane Jumpers
- Critical Placement
- Stackup Planning (Parts 1, 2 & 3)
- The Perfect Stackup
Best Practice in Circuit Board Design - Tim Jarvis RadioCAD Limited
PCB Layout - Learn EMC website
Keith Armstrong articles, EMC Information Centre (free registration required)
The Electronic Packaging Handbook - Glenn R. Blackwell
The Printed Circuits Handbook - Clyde Coombs and Happy Holden
The HDI Handbook - Happy Holden and others
Via Optimization Techniques for High-Speed Channel Designs - Altera Application Note AN529
High-Speed PCB Design Considerations - Lattice Semiconductor Application Note TN 1033
Measuring a Signal's Flight Time - Chris Grachanen, EDN
The Future of HDI Via Structures, Power Delivery, and Thermal Management in Next Generation Printed Circuits - Tom Buck TTM Technologies