What gives with the autorouter in Altium Designer?



Altium does provide an autorouter with its tool; however, very few (if any) improvements had been made to it since Altium Designer version 6 back in 2008.

The simple fact of the matter is that the router was not designed to route very dense layouts, especially with boards that have components using BGAs (Ball Grid Arrays).

In all fairness to Altium and any other EDA company that has provided an autorouter, some difficulties go beyond the coding challenges of developing a robust router.

Let's take a step back for a moment and look at another electrical engineering field that solely relies on autorouting. An ASIC (Application-Specific Integrated Circuit) chip can easily have well over a million transistors. As a result, these chips to get them into the product quickly have to be routed by computers.

This is better known as "place and route." The place and route tools have a little more freedom in that they are placing both the transistors and the routes. However, it can take hours for these routers to complete the effort. More so, various tools are run afterward to ensure no violations to any of the timing rules. Fixes are done manually, or the designer will scrap the run, modify the design rules, and kick it off again. It is essential to note that no matter how good the results are, the designer will have to review the completed work and make manual modifications in all cases.

These tools are so complex and require so much support. They run in the tens of thousands of dollars. More so, as the complexity continually increases in the ASIC designs, a tool that is state-of-the-art today can be quickly rendered obsolete and unusable in 2 years.

You may say that in PCB autorouting, there are far fewer traces and far fewer 'components.' Even a 1500 pin FPGA is nothing compared to a million transistors. However, the PCB has real estate limitations. For example, PCB components only have two layers for placement (on the top and bottom). In contrast, on a silicon chip, one can place transistors on any available layers (with some limitations). We also must remember that the silicon's traces and transistors are 1000X smaller than what can be manufactured on a PCB board. 1 mil trace on silicon would effectively be nothing more than a power plane on that chip (assuming you could fit it!) Yet, on a PCB, having 1 mil traces will increase the cost of the manufacturing substantially.

There is a human factor that is also involved. When people think of autorouting, they want to press a button and let the computer do the rest. Unfortunately, for the router to perform the expected work, it has to be given boundaries in design rules. A router also needs a strategy because not all boards are of the same nature or purpose. The rules and strategy for routing a digital board with its clocks, resets, and buses are not the same for a board that will be handing 15 amps.

More so, we humans contradict ourselves. Though we want the autorouter to do our work and don't have the patience to set it up and understand how the autorouter will proceed, we want to control it as it is working! We see a tracing being laid down, and we want to say, "Stop! That does not make any sense! Erase it and do it again!"

Altium realized that investing its time and resources in an autorouter is not the way to go. They really heard from the customers a plea to have a manual routing tool that was powerful and easy to use. The best analogy is the concept of power steering on an automobile. The car still needs to be driven by the driver, but the car can assist by making the car much easier.

..And that was the motivation for Altium Designer's interactive router, which they are continually improving.