Should You Use the Autorouter in PCB Design?

The answer is.... NO!

A PCB design screenshot from a computer using the Altium autorouter and playing human vs autorouter

We’ve been promised AI/neural-network based autorouter engines since the second half of the 1990s, but thus far it’s never delivered on the promise. There are some autorouter engines in other products that sound more promising, leveraging modern AI tech, but are not yet ready for the job. Ultimately, one day, there probably will be a PCB autorouter that out-performs even an experienced PCB designer, but we’re not there yet.

The challenge for an autorouter comes in several parts:

  • To get best results from an autorouter, you need to be very explicit and exhaustive in setting up the board’s Design Rules: creating component classes, net classes, multi-channel assignments where relevant, and assigning rules to them, such as track width and track spacing (which in turn can be governed by specific regulations that apply in the application/industry your board has to be compliant with), considering cross-talk, and applying any impedance-control & track-length rules for high-speed or differential-pair signals where ever appropriate. this takes a lot of time - sometimes in complicated boards as much time as manually routing it yourself, ergo, no benefit to using the autorouter.
  • That’s all after you’ve placed at least the key components that typically have necessarily fixed positions, like connectors, displays/LEDs, respected the different maximum height of components at various places across the PCB in relation to whatever the PCB lives inside of (some parts of the PCB might only have Xmm height clearance because part of the PCB area sits beside some other non-PCB component inside the case of the product, for example).
  • Back in the late-90s, Protel (before the company was renamed Altium), their neural-net-based ‘shape-based autorouter’ could actually move and rotate components around and push-n-shove whole sections of routing to unblock and make way for new routes. it was a grand vision, sometimes producing impressive results under ideal circumstances, but it never quite ‘made it’ for most real-world designs.
  • If you don’t capture ALL of the design rules, even though many of those rules are what an experienced PCB designer does ‘automatically‘ without needing to enter them into the PCB design, the chances of the autorouter doing something you don’t want goes up exponentially; “ that switch-mode buck voltage regulator needs loop-area of the power-switch, catch-diode, and filter cap to be kept really tight (otherwise performance could be shit, or not even work at all, and radiate like a sun and it will fail EMC testing)” - AFAIK the Altium autorouter has no concept of minimizing loop-area of a specific circuit path.

What Altium has been putting heaps of development effort into lately is the ‘ActiveRoute’ feature, whereby you select a bunch of tracks - say, a memory bus - and then lay out a path of suitable width, and you the designer lay out the overall path that bus should take, and the ActiveRoute engine then goes and lays out all the tracks, up to the point of bringing them close to their target end-points. You get to lay out that path with your ‘knows the big picture’ human brain that has most if not all of the whole design requirements in your head, even if it’s not captured in design-rules, and dramatically cut down on manual routing time. For the time it takes to route 1 or 2 signals, you can do 10, 20, 30, all at once. That’s a great use of semi-auto router technology.

911EDA PCB Designers do not use any software's autorouter, ever.