Putting Constraints to Work for You in Your Circuit Routing Software

Created: January 31, 2018
Updated: September 25, 2020

Empty front cockpit of a vehicle

When I was a kid, my parents had a 1955 Oldsmobile Super 88 Holiday. What a great car. As an eight year old though, the main thing that stood out to me was that it had a decorative rope that stretched horizontally across the back of the front seat. Sitting in the back with my brother one day, we informed our parents that with the fancy rope in place we no longer needed to use our seat belts. I saw my dad wink to my mom, and then at a very slow speed he slammed on the breaks. As expected, my brother and I slid off our seats onto the floor all while still holding the rope.

That was my first experience with the importance of a safety constraint and that memory has stayed with me my whole life. Even though it annoys me to think that my parents got a good laugh at us crumpled on the floor, I do appreciate the lesson I learned that day about how constraints are there to protect us. Had we kept our seat belts on like we were supposed to there wouldn’t have been a problem.

Our PCB layout tools also have constraints in them and they are there to protect us as well. Those constraints are intended to keep us from designing a board with errors in it. You are probably already very familiar with DRCs and you know that designing a board without DRCs can cause a boatload of problems. Those DRCs can be a life saver. But with the right software, you can make advanced constraints to keep your DRCs doing as much smart work for you as possible.

You’ve Got to Love DRCs in Your Circuit Routing Software

There are many different aspects of PCB design that require adherence to rules in order to create a manufacturable printed circuit board. Some of these are physical object clearances so that your don’t bump into each other or poke through the top of your device enclosure. Other rules keep clearances between conductors to prevent shorts. And more yet ensure that you have enough metal conducting power so you don’t burn through too narrow of a trace somewhere.

Design rule checking (DRCs) is what protects you against these problems. In addition to guarding against basic shorts and object collisions, DRCs have been enhanced over the years to check for other problems as well. DRCs will now often check for errors that used to only be checked for by your manufacturers such as silkscreen overlaps and solder mask slivers.

Close up picture of the routing on a PCB
DRCs and constraints will ensure that your routing doesn’t break the rules

Even Further Beyond the Standard DRCs

As higher frequencies and other signal integrity requirements increased in circuit board designs, PCB design software was enhanced to meet these needs. In addition to the regular clearance checks, DRCs started incorporating checks for trace lengths and other routing rules. PCB layout software also incorporated other enhancements such as the ability to automatically route differential pairs. These enhancements required additional DRCs as well.

While the regular DRCs check for problems that would affect the manufacturability of your board, these enhanced DRCs are the next step up. Having a trace that is too long or a diff pair that isn’t routed correctly won’t affect how your board is manufactured, but it could affect how well or even if your board will function. Still, more design checking enhancements are needed. Although you could check the length of a trace, you would still have to perform additional calculations on top of that to check the integrity of the entire signal path.

High Speed Design Constraints

High speed designs need advanced high speed design constraints. Setting a rule for a trace length is a great start, but it doesn’t help you with the entire signal path. To correctly account for the entire signal path, you need your CAD system to calculate the entire length from the source pin, through the different nets and inline components, and then terminate at the load. Since this could include multiple nets, a single trace length rule will not give you what you need.

Fortunately, many PCB layout systems will perform these types of calculations for you today. In this way, your high speed routing will be checked for the entire signal path and not just an individual net. Signal paths are not the only advanced constraint that PCB design systems can be set up to check though. You can calculate the entire net length through the bond wire of the pin, you can visually see your routing constraints as you route, and there are facilities within the tools to help you set up these high speed constraints automatically. Additionally, auto routers will follow these constraints making your job that much easier.

Picture of Altium ’s constraint editor
Advanced constraints and DRCs can be set up from a constraints editor like this one

As a PCB you have probably spent your career in setting up DRCs and working with them, but have you been using all of the constraints that your tools give you? As we have seen, you can do a lot with the high speed constraints that are above and beyond the standard DRCs. If you haven’t been using these constraints you owe it to yourself to experiment with them to see what they can do for you. And if your design tools don’t have these advanced capabilities, take a look around at some of the other PCB design tools that are out there. You may be really surprised at what is available to help you that you have been missing out on.

For the advanced constraints and rules that we’ve been talking about built into your PCB design software for high speed routing, look into Altium Designer®. Working along with the standard DRCs, these constraints will help you to route high speed nets without the need to work out complex signal integrity calculations in your head.

If you’re looking to know more about how a full suite of advanced design constraints can help you in your next PCB designs, try talking to an expert at Altium.

Related Resources

Related Technical Documentation

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