Should You Use an Autorouter for PCB Design?By ZM Peterson • Apr 23, 2020
When is the best time to use an autorouter for your PCB? If you’re new to PCB design, then it’s a fair question. Every professional designer I know shuns autorouter utilities. This is probably because this class of designers is creating highly complex layouts, and autorouting simply cannot consider every possible routing strategy for every PCB.
Despite the drawbacks of autorouters, they have their place in simpler designs. The algorithms that run autorouter utilities have gotten better over time, and they can be used to produce useful results in some specific situations. However, not all autorouters are created equal, and they may create results that require manual cleanup. The best use of an autorouter depends on the routing strategy you’ll use, the complexity of your PCB layout, and the settings you select. Let’s look at some situations where an autorouter should be used instead of some other semi-automated routing utilities.
The only reason an autorouter works is because there is an algorithm that defines the routing topology automatically. Routing differential pairs, length/timing matching on parallel nets, and routing between layers are time-consuming activities, and an autorouter is intended to speed up or fully automate some of these tasks. There are three types of autorouter algorithms that have been implemented in different CAD packages over the past few decades:
- Random search. This type of autorouter algorithm is similar to differential evolution. In fact, differential evolution has been used in circuit design tasks since it was originally introduced in 1996 by Rainer Storn and Kenneth Price. A random search algorithm is basically trial and error; as long as a randomly generated solution for a trace satisfies the PCB design rules in your CAD tools, it will be accepted as a candidate solution. This generates an infinite number of routing possibilities.
- Directed search. This type of algorithm is closer to a gradient method. An objective is defined in the autorouter (e.g., shortest length), and the autorouter tries to sequentially generate a possible routing strategy that reaches this objective without violating any design rules.
- River routing. This is arguably the most advanced type of autorouter algorithm. You can read more about this algorithm in Chi-Ping Hsu’s original IEEE paper. This algorithm tends to use fewer vias, and it can be configured to make more even use of internal layers. It also takes much less time to complete compared to random or directed search.
The main drawback of an autorouter is that it can generate unrealistic results that could create signal integrity problems. This often requires manual inspection or automated DRCs, followed by manual cleanup of any nets that violate design rules or signal integrity requirements. Incorporating signal integrity metrics into an autorouter massively increases the time and complexity of the algorithm, and it brings river routing back into the directed search domain.
For simpler boards where signal integrity will not be a major issue, you can probably get away with using an autorouter (more on this at the end of the article). For more advanced systems, any system that requires a unique trace geometry, or a system with a huge number of nets, you’ll need something more advanced to aid your routing strategy.
An autorouter won’t always produce clean, directed traces like these.
This is why the PCB design software world gave us auto-interactive routing. This type of routing gives the user control over routing progress while still automating some portions of the routing process, similar to a standard autorouter.
Auto-interactive routing tools provide the best of both worlds: they help automate routing of multiple nets in a design, but they still allow the user to control the flow of PCB traces between two points. Advanced auto-interactive router tools will attempt to layout traces that comply with your design rules and trace geometry tolerances. This is quite important when designing to a specific trace width and impedance or when you’re laying out an HDI board.
These tools have very simple operation: simply select midpoints between your starting and ending locations, and the autorouter portion of the tool will fill in the gaps. Because the distances between successive routing points are shorter, and the number of nets being routed is smaller, the river routing algorithm can quickly place traces while still complying with your PCB design rules and constraints. Such constraints include impedance, timing, and length tolerances, as well as clearance tolerances and differential pair coupling.
These routing tools are commonplace in different PCB design software applications, and they all have very similar functionality. In my opinion, the best autorouter and auto-interactive router can be found in Altium Designer simply because they are so easy to access, use, and configure. It’s also easy to place a predesigned via along the routing path. However, Allegro’s auto-interactive router also provides nearly identical results when the same routing strategy and design rules are used. The same goes for other auto-interactive routing tools (e.g., in Zuken and Mentor PADS). Full disclosure: Altium is one of my current clients and I’ve written a number of articles on their routing tools.
The group of traces in the right half of this image can be routed simultaneously using auto-interactive routing.
The bottom line is: a typical autorouter is fine for designs where the design has low component count, low pin/pad density, and is simple enough (in terms of routing topology) that it would be difficult to route the board incorrectly. The board would probably work fine, no matter how you routed traces between components. For more complex designs with high pin count components and high trace density, you can speed up your design time with an auto-interactive router. This is simply because you can streamline routing of multiple nets at once, but you can still control the overall routing path.
At NWES, we create the types of designs that simply can’t be automated away with an autorouter tool. We design modern PCBs and create cutting-edge technology for innovative electronics and software companies. We've also partnered directly with EDA companies and several advanced PCB manufacturers, and we'll make sure your next PCB layout is fully manufacturable at scale. Contact NWES for a consultation.