Using Rules-Driven Design to Control a High-Frequency Board

Created: November 30, 2018
Updated: September 25, 2020

Screenshot of AD18 3D layout in rules-driven design

There was a time where high-frequency design belonged to realm of specialized engineers who lived in a world all of their own. For those of us designing printed circuit boards we rarely ventured into this realm, and when we did we were very happy to turn over that portion of the design to those engineers. They would perform calculations based on formulas that seemed to originate from the mystic arts, and then direct us to how the circuit should be designed and laid out. That was a long time ago though, and today more often than not our regular PCB designs fall into the definition of being high-frequency.

To help today’s designers with high-frequency designs, there are a lot of resources available to answer questions such as what kind of termination methods should be considered. We are also seeing a lot of help for designers being built into the PCB design tools on the market today. One of the best examples of this is Altium Designer which has an embedded impedance calculator built into it as well as a fully comprehensive set of design rules. It also has tools for working with signal paths as well so that you can work with the entire signal from its source to its termination no matter how many nets are involved. Take a look at the following and you will get a brief introduction to what I mean.

Design Rules that are Fed Directly from the Impedance Calculator

Altium Designer® has been built with an embedded impedance calculator that will feed its results directly into the design rules. You don’t need to engage a separate calculator and feed it all of your design information, and then take those answers and send them back to your design tools. Instead with Altium Designer it will take the information directly from your board layer stackup and perform the impedance calculations automatically.

To start this process you have to have your board layer stackup defined. Altium Designer is equipped with a layer stack manager that is easy to use and yet is fully configurable with all of your board materials and thicknesses. You also have the ability to start with layer templates or build your own layer up from scratch. In the picture below you can see an eight layer stack that was created from the preset templates.

Screenshot of AD18 layer stack manager in rules-driven design

Setting up an 8 layer board with the preset templates in Altium Designer

You can see in the picture above the different attributes of the board layer stack; layer names, materials, and thicknesses. Altium Designer will use this information to perform its impedance calculations. Although the calculator does not support offset stripline configurations, it will use industry standard formulas for calculating stripline and microstrip layer configurations. For those inner layers of the board that are surrounded by planes the calculator will use a stripline formula, while for outer signal layers next to a plane it will use a microstrip formula.

Once the layer stack has been defined, the impedance calculator will use that information and make it available to the design rules without any input from the user – it is fully automatic. You do have to configure the design rules however to accept the input from the calculator, and that is an easy task to do within the individual rule. You can see in the picture below that this particular width rule has been configured with the “Characteristic Impedance Driven Width” option enabled.

Screenshot of AD18 impedance driven width rule in rules-driven design

Setting up a trace width rule in Altium Designer to be driven by the impedance calculator

While setting up the width rules you can specify the impedance of the line. Using that value plus the material widths from the board layer stackup, the impedance calculator will determine the width of the traces. The trace widths that you can see in the picture above are being set by the results of the impedance calculator.

Working with Design Rules

We’ve already seen how Altium Designer’s impedance calculator will set up the trace width design rules automatically for the user, but there is a whole lot more to the design rules than just the trace widths. Altium Designer has a full set of design rules and constraints to cover all aspects of your design. Just in routing alone you can specify width, vias, and topology rules as well as many others. In the picture below you can see a list of the different categories of rules in Altium Designer. Each of these categories can be set up with multiple individual rules within them.

Screenshot of AD18 design rules list in rules-driven design

Some of Altium Designer’s vast design rules and constraints

As you can see above, Altium Designer can be configured with a lot of rules. You can set up rules for electrical checking, placement, manufacturing, and much more. You can also set up rules from within the schematic that will govern the layout. The rules that we are most interested here, however, will be those that govern how we will route the board.

You can assign rules in Altium Designer to individual nets, or you can assign them to net classes. Working with net classes allow you to group nets together that need the same rule assignments, and makes your job a lot easier. In the picture below you can see how by setting up a net class you can select multiple nets within in it and have easy access to those nets.

Screenshot of AD18 selected net class in rules-driven design

Selecting nets by their assigned net class

Once your net classes are set up, you can then assign them to the rules that you create. In the picture below you can see how we’ve set up a width rule called “Width_Test_Class” and assigned it to a net class called “Test”. This allows us to specify that the nets in this class will be routed with the trace widths that we have set up in our rule.

Screenshot of AD18 width rules for net class in rules-driven design

Setting up a width rule for a net class in Altium Designer

In addition to the width rule you see above being set up for a net class, you can also set up other rules as well. In the picture below you can see the different rules that can be set up for clearances in the electrical category. Here we’ve set up a rule called “Clearance_Test” and assigned it to the same net class “Test” that we used above for our routing rule. With the ability to set up multiple design rules and constraints like these, you can give yourself maximum control over your routing and every aspect of your PCB design.

Screenshot of AD18 clearance rules for net class in rules-driven design

Setting up a clearance rule for a net class in Altium Designer

Controlling Signal Paths in a Rules-Driven Design

One of the problems that have plagued PCB designers for years is working with the entire signal path, from the driver through multiple nets and then terminating at the load. This used to require designing measured net traces for each net, and then calculating those nets together outside of the system. This was obviously a complicated manual process that was prone to errors.

Altium Designer has a solution for this built into it with its “xSignals®” tool. will allow you to group multiple nets of a signal path into one class allowing you to control the length of the entire signal path instead of each individual net. It will also match routed lengths, control routing topologies, and work with length tuning for routed traces and diff pairs. With a wizard that will create the different , xSignal classes, routing topologies, diff pair rules and matched length groups, you have an amazingly powerful design tool.

Screenshot of AD18  signal path in rules-driven design

Altium ’s gives you control over working with signal paths

In the picture above you can see in action. Our signal path comes from the pin on the left and immediately goes to the resistor next to it. On the other side of the resistor a different net continues the signal path to other pins. Both of these nets have been added to an signal path, and you can see how it tracks the different segments of the two nets in the menu on the left side.

Designing high-frequency boards is a challenging task. No matter what user interface or rules engine you had in mind while beginning your journey, make sure your design process can yield any data and work with any application. Your rules driven design should have the design objects functionality you crave it to have.

Fortunately, there are those who have taken those mystic arts of high-frequency calculations and put them into PCB design tools where we all can benefit from them. As you have seen, Altium is the PCB design software that has the advanced functionality that you need to take on these challenging tasks. Everything from capturing the schematic to routing your PCB is all within Altium.

If the features and functionality that we’ve discussed here in Altium sound like they would be helpful to you too, find out more by talking to an expert at Altium.

Related Resources

Related Technical Documentation

Back to Home
Thank you, you are now subscribed to updates.