Should You Use the Autorouter in PCB Design?
The answer is... NO!
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. Some autorouter engines in other products 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 the 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 using 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, respecting the different maximum height of components at various places across the PCB 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).
- In the late-90s, Protel (before the company was renamed Altium), their neural-net-based ‘shape-based autorouter,’ could 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 entirely ‘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 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. You, the designer, lay out the overall path that the bus should take, and the ActiveRoute engine then goes and lays out all the tracks, 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 of the 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, and 30 at once. That’s a great use of semi-auto router technology.
911EDA PCB Designers do not use any software’s autorouter, ever.