Impedance Controlled Routing for Boards Made in Altium Designer
Computing requirements and applications require data be processed at faster rates than ever before. As communication bands start to fill and newer components hit the market, PCBs will need to operate at higher data rates and frequencies. Networking and data center applications like 100G and faster Ethernet, as well as advanced wireless protocols like 5G and 6G, will continue operating well into the mmWave regime and beyond.
These facts mean signal integrity issues like crosstalk, EMI, ringing, and impedance control are becoming ever more critical in advanced PCB designs. Analysis tools need to be able to identify and provide some insight into compensating signal integrity problems in PCBs during the design phase. No one wants to receive their finished board from a manufacturer, only to test it and find that bit error rates are sky high. This is where simulation tools become critical by allowing you to find the sources of signal integrity problems before your product hits the market.
The design environment in Altium Designer® now includes an advanced 3D field solver that integrates with your Layer Stack Manager for accurate impedance control, parasitic extraction, and propagation delay calculations. If you're not familiar with using impedance formulas in advanced optimization methods, you can determine the trace geometry you need for impedance controlled with this integrated design tool. Here's how this works in Altium Designer's rules-driven design workflow and how to make best use of the integrated 3D field solver utility.
Impedance Calculations: Formulas vs. Field Solvers
In advanced designs with broadband signals, such as high data rate channels on low-loss laminates, dispersion in the dielectric is one source of difficulty in high speed PCB designs. Impedance formulas for standard geometries can provide a great starting place for determining the trace width you need for impedance controlled routing. The most accurate equations are derived with conformal mapping and require a numerical technique to extract trace width for a given impedance.
The problem with using these equations is that they make it difficult to determine the best trace width to use for routing broadband signals. You can include dispersion in an impedance equation, but the trace width you extract will then be a function of frequency, which forms a complex optimization problem for determining the best trace to minimize deviations from the target impedance. For this reason, most PCB design tools force you to pick a representative frequency for calculating trace width (usually the Nyquist frequency). These other design tools and online calculators may not include loss tangent, skin effect losses, and load capacitance when calculating impedance.
Add to this other problems that occur when designing transmission lines for high speed signals, such as copper roughness. A better method for determining the perfect trace width that matches a target impedance is to use an integrated field solver that includes broadband dispersion, copper roughness, and skin effect losses. Your interactive router will then place traces with the appropriate width such that your traces will have the defined impedance value you need.
Setting Up Impedance Calculations
Impedance controlled routing in Altium Designer uses an integrated field solver from Simberian. This begins after your schematics are completed but before you layout your board. You’ll want to set up this feature when designing your PCB stackup. After you create a blank PcbDoc file, you can go to the “Design” menu, and click “Layer Stack Manager”. After you finish creating your stackup, you can start running impedance calculations for different layer pairs. To get the impedance value you need for different layer pairs, you'll need to click on the Impedance tab at the bottom of the Layer Stack Manager window.
Creating Impedance Profiles
From here, you can create single-ended impedance and differential impedance profiles for different layer pairs in your stackup. An impedance profile allows you to set a specified impedance, and the tool will return the trace width that sets the impedance to the desired value. For differential signals, you can create a differential profile and specify the trace spacing between differential pairs, and the impedance profiler will return the trace width you need. You can also adjust the spacing to the value you want, and the impedance profiler will adjust the trace width in response.
Using the impedance profiler tool for a 10-layer PCB in Altium Designer.
Combined Single-ended and Differential Impedance
Under high-speed differential signaling standards, you'll often need to set the differential impedance to a specific value while also setting the single-ended impedance of each trace in the pair to its own value (Ethernet is one example). To do this, you can create two impedance profiles for the relevant signals; one single-ended profile and another differential profile. This proceeds through the following process:
- Create a single-ended impedance profile to determine the width required for impedance control in single-ended nets.
- Create a differential impedance profile and set the desired impedance and tolerance values.
- Copy the width you determined from the single-ended profile into the differential profile on the same layer.
- Manually adjust the spacing until the differential impedance reaches the desired value.
The image below shows this type of impedance control, where the differential impedance and single-ended impedance for the differential profile are matched to 85 Ohms and 50 Ohms, respectively.
Defining single-ended and differential impedance controlled routing profiles in Altium Designer.
Now that the relevant impedance profiles have been defined, it's time to enable them as design rules for controlled impedance routing.
Using Design Rules for Impedance Control
The design rules you define next will specify the width required to maintain your required impedance. To start configuring your design rules, open up the “PCB Rules and Constraints Editor.” Click on the “Design” menu and then click the “Rules” option. If you look at the list on the left hand side of the editor, you’ll see an entry for “Routing”. Click into the Routing -> Width option. In the image below, the single-ended impedance profile is enabled (the profile named S50), which will force the router to place traces with the width defined in your impedance profile.
Setting up impedance controlled routing in Altium Designer.
There are two important points in this dialog. First, you can choose to apply impedance control to traces in specific signal layers or with specific signal nets. Here, this has been applied to "NetR_BIAS_1," which is a single-ended net (selected near the top of the dialog). Second, you could also apply the impedance profile as a blanket design rule to all nets on all layers by selecting the "All Nets" option. You can also apply this option to a Net Class, which will automatically apply the rule to multiple nets in a single class.
Note that, in the table in the bottom of the dialog, you can see which layers are enabled in the impedance profile. Here, the rule will only apply to TopLayer and BottomLayer during routing. To enable other signal layers, go back into the Layer Stack Manager and open the Impedance tab. From here, you can enable other layers where you want to enforce this design rule.
To apply the differential impedance profile, go to the Routing -> Differential Pairs Routing option in the PCB Rules and Constraints editor. From here, you can enable the differential impedance profile you configured in the layer stack manager. In this case, when you're using the interactive router for differential pairs, the router will enforce the required trace width and spacing you defined in the impedance profile.
Just as the rule can be enforced on specific single-ended nets or Net Classes, differential impedance controlled routing can be enforced on specific differential pairs or Differential Pair Net Classes. You can select the specific nets or classes where this rule will apply at the top of the PCB Rules and Constraints dialog. You can also enable specific layers where the differential impedance control rule will be enforced, just as was done for single-ended nets.
Schematic Capture and Routing
Now that the layer stack is finished and impedance control is enabled through your design rules, you can capture your schematic as a initial layout, arrange components, and begin routing. When you’re using the interactive router, you’ll notice that “[Width From: Rule Preferred]” appears in the status bar at the bottom of the screen as you route. Your traces will appear on your board with predefined width (and defined spacing for differential pairs).
Impedance control automatically defines your trace width as you route
When you use impedance controlled routing in your PCB, it's a good idea to run signal integrity simulations to identify impedance mismatches and crosstalk in your board. A large impedance mismatch in an interconnect can cause ringing, which appears as an oscillation superimposed on top of your signal. Using impedance controlled routing can ensure that your impedance values match a target impedance throughout a signal's bandwidth. If needed, you can also use the signal integrity simulation features in Altium Designer to determine the best termination option for specific nets.
The rules-driven design engine in Altium Designer makes it easy to implement an impedance controlled routing scheme. If you have an existing design that has signal integrity problems, the signal integrity simulator can iterate through possible termination schemes and show you the results, allowing you to select the right scheme to terminate your traces.
Talk to an Altium expert today to learn more about the routing and signal integrity tools in Altium Designer.