Taking the time to set up routing rules to govern the minimum trace spacing and width requirements for PCB layout can be tedious. Many designers would prefer to jump in and start routing traces without going through this setup process first. This can be dangerous though as you may inadvertently route a trace at the wrong width, or pack your routing in so tightly that you don’t have the room to make any width corrections later on. The more rigid the design requirements the more dangerous this can be too, even to the point of forcing you to re-do major sections of your routing in order to meet your design requirements.
PCB design CAD tools have been set up to help you with the task of setting up your routing rules, and these capabilities have been around for a long time. The key is making sure that you spend the time to do it. Fortunately, PCB design software has tools and resources that make the job of setting your routing rules up a lot easier than it used to be. Let’s take a look at what it takes to set up your routing rules in Altium Designer.
Creating a Net Class in Altium Designer PCB Layout
You’ll want to be sure that you can identify minimum trace spacing and other routing rules when thinking about copper requirements for your circuit board. There are two ways for identifying minimum trace spacing and trace width routing rules in Altium Designer. The first is to specify the nets you want in each individual rule. This works well when you are working with a single net, but requires the use of the “Rule Custom Query Builder” when more than one net is being assigned.
The other method to identify nets for net rules in Altium Designer is to create net classes and then assign those classes to the routing rules. The net class tools allow you to point and click which nets that you want to assign. Also, the net class assignments can also be passed into the layout from the schematic. Working with a net class in Altium Designer’s layout editor is the method that we will focus on here.
To start with, open up the PCB panel if it isn’t already opened and make sure that the main category is set to “Nets” at the top. If you already have some net classes identified, the PCB panel will look similar to the picture below.
The PCB panel “Nets” in Altium Designer
We are going to create a net class named “Test” which as you can see in the picture above does not yet exist. To create this net class you must first add a new net class by right-clicking in the panel as you see in the picture below.
Adding a net class in Altium Designer
By clicking on “Add Class” you will open up the “Edit Net Class” dialog box as you can see below. On the left side of the picture you can see where we have added the net class name of “Test”. We have also selected the nets that we want in our net class. To select a range of nets select the first net, and then while holding down the shift key select the last net.
Adding nets to the new net class
On the right side of the picture above we have used the single arrow key to send our selected nets from the “Non-Members” category to the “Members” category. This completes our net class, and by clicking OK our net class will be saved.
Net classes have a lot more uses then just for setting up design rules. In the picture below you can see the “Test” net class that we just created in the list of net classes. We have also selected that net class and you can see how the nets of that class have been highlighted. When selected, Altium Designer will zoom into the nets of the net class that are highlighted giving you another very valuable tool to use while designing your board.
Selecting nets in Altium Designer by using the net class
Creating a Routing Rule for Trace Widths
Now that we’ve created a net class of the nets that we want to assign specific routing rules to, it’s time to create those rules. In the “Design” pulldown menu, click on “Rules” to open up the “PCB Rules and Constraints Editor”. We are going to create a new “Width” rule among the other rules for polygons, pads, and vias that you can see are already defined in the picture below.
Adding a new routing width rule in Altium Designer
Position your cursor over the Routing > Width rule as you see above, and right click your mouse. In the small pop-up menu, select “New Rule”. This will create a new rule and display its details as you can see in the picture below.
Assigning a name and the object match to the new rule
You can see above that we’ve given our new rule the name of “Width_Test_Class”. Right below that is the “Where The Object Matches” section where you will identify what the rule will be attached to. In the first drop-down menu you have several choices of categories to choose from:
- All (nets)
- Net (single)
- Net Class
- Net and Layer
- Customer Query (multiple nets)
In our case we selected “Net Class” in order to use the net class that we created above.
The second drop-down menu is context sensitive and will display the options for whatever category you chose in the first drop-down menu. Since we chose net class, the second drop down menu displays for us a list of the different net classes that we can select. In our case we selected the net class that we created above named “Test”.
Once we’ve configured the name and object match of our new rule, we can then set up the width values. Altium Designer allows you to set up minimum, preferred, and maximum constraint values for your trace width rule and copper necessities. You can also set up different width values for specific layers of the design. In our case you can see in the picture below that all the values have been set to 10 mils so no matter what we will only get a 10 mil trace width when routing nets in the “Test” net class.
Changing the routing width constraint values in the new rule
Creating a Rule for Minimum Trace Spacing
Now that the routing width rule has been set, it’s time to set the clearance rule. In the picture below you can see the PCB Rules and Constraints Editor again. On the left side you can see all the different rules and at the top of the list are the clearances. Using the same procedure as before, we have created a new clearance rule and named it “Clearance_Test”.
Changing the values of the clearance constraints in Altium Designer
Once again we have set up our new net class “Test” as the object match, but in a clearance rule you have two object matches in order to check the clearances between both. In this case we left the second object match set to “All”. The result of this is that Altium Designer will apply this clearance rule when checking between the traces of the net class “Test” and all other nets on the board.
In the constraints section you have a lot of different values that you can set. One thing that will help you here is that you can set the “Minimum Clearance” value that we’ve marked in red, and that number will then be used to populate all the fields below. Once you’ve done that, then you can go through and make individual changes as you can see that we’ve done. If you want to change an entire line, as we did with the “Hole” values, click on that row’s name (“Hole”) and then enter your value. Once you hit “Return”, all the fields in that row will be populated with the same value.
Finally, you will want to set up your board layout session to prioritize these rules. Altium Designer gives you some choices in the “Preferences > PCB Editor > Interactive Routing” menu. As you can see in the picture below, you can choose between minimum, preferred, and maximum trace width rules.
Setting up interactive routing width source priorities in the preferences menu
If you haven’t been using the routing rules in Altium Designer, or if you’ve only scratched the surface with them, you should take another look at them. They can do an amazing amount of the heavy lifting for you when it comes to identifying your minimum trace spacing and width requirements as well as managing creepage and clearance.
You won’t have to worry that you’ve missed an important trace width if you use these rules to their full extent, instead everything will be set up at the widths that you expect when you are doing your interactive routing. Furthermore, you can reliably trust that your board has been made appropriately with its copper necessities.
If you aren’t yet using Altium Designer, then you owe it to yourself to look into all of these capabilities that we’ve been talking about here. Altium Designer is advanced PCB design software that has a wide assortment of functionality built into it to handle your toughest printed circuit board design challenges.
Would you like to find out more about how Altium can help you rules driven interactive routing on your next PCB design? Talk to an expert at Altium.
About the Author
PCB Design Tools for Electronics Design and DFM. Information for EDA Leaders.More Content by Altium Designer