AutoRouting: What Is An Autorouter And Why Do I Care?

Discuss PCB123. Talk to the influencers. Be an influencer.

Moderator: Sunstone Moderators



AutoRouting: What Is An Autorouter And Why Do I Care?

Postby Sal Hernandez » Wed Jun 03, 2015 11:35 am

AutoRouting:

What Is An Autorouter And Why Do I Care?
An autorouter is a toolset inside your layout software. The autorouter uses the netlist or schematic data to automate connecting components in your layout. The autorouter attempts to efficiently complete your board interconnect according to the rules set forth in the design setup.

Autorouters have been around just about as long as there have been CAD tools. EDA industry pioneers like Masstec, Mentor Graphics, and Daisy, had autorouter technology as far back as the early 1980s. While autorouters are intended to make the designer’s life easier, save time, and reduce the cost of producing a finished PCB layout, some are better than others and the range of performance is pretty wide. Some of those early autorouter algorithms are still in use today. As one might expect, then, the user interface for configuring an autorouter can vary pretty dramatically, as well. Most designers who’ve used autorouters have invariably used some really nice ones with easily configured parameters, and also used some that were not very intuitive.

Designers who are new to PCB design often hope that the autorouter will allow for one-click completion of their board design. Sadly, this just isn’t the case. Autorouters do what you tell them, and you have to give some careful thought and planning to telling them what to do for you. And when these new designers are confronted with a spaghetti mish-mash of awful routing from the autorouter, their first reaction is to disregard the autorouter.

For example, if you just open the design, place parts without much planning, and hit the autoroute button, the autorouter will do its best to route all your connections in a way that is electrically correct.

If, however, you spend a bit of time carefully arranging parts in a manner that will allow good circuit flow and allow adequate spacing between parts, everything tends to lineup nicely on a useful grid.

Used thoughtfully, the autorouter can be used to significantly reduce the time it takes to complete the design.

When designers manage component placement like they’re buildings, and think of traces as traffic that needs to move between buildings, then component placement looks a bit more like planning a neighborhood. Leave room for traffic, and allow for straight and short routes between buildings, and the autorouter will have work space to do an effective and artistic job for you.

When is it useful and how can it make your life easier?

While autorouting can be useful in the completion of large or small boards, we’ll keep this discussion limited to how it can be used to drastically speed up the routing effort on a simple board. The skills used on a simple board can be scaled up for larger board designs.

First I carefully place all components according to the schematic and any engineering requirements. It is critical to use a placement grid and space components widely enough to allow a relaxed routing strategy (sufficient space for all the routing to fit easily between the components). Take into account any voltage or current constraints that will require greater spacing and wider traces. These voltage and current concerns will increase the amount of space between components.

The more time and effort you give to placement (within reason) the greater chance that you won’t have problems running the autorouter to completion.

Next just run the autorouter for one pass to see if it can solve the problem in the given space with minimum trace width. Sometimes this works, sometimes it goes terribly wrong. Don’t plan on keeping this initial routing; this first try is a test of your component placement and spacing. Use the autorouter’s results as a guide for improving your component placement.

As you review the initial results from the autorouter, you should adjust three key areas:

  1. Component placement to allow for more direct-route traces wherever needed. Minimize forcing the router to send traces all around the perimeter to reach its destination.
  2. Looking at the trace and space dimensions that the autorouter used, visit the autorouter’s setup page(s) to adjust the autorouter’s behavior parameters.
  3. Some key traces (power, for example) can be marked in the trace properties to give trace-specific information to the autorouter. Modify the properties for these traces to let the autorouter know how to handle these key traces.

If, after a couple passes with the autorouter, the results are acceptable, next move into the design rules, to make sure to verify the individual trace widths for critical routing are all correct. Wider dimensions on basic routing widths and spacing often have the benefit of lowering the manufacturing cost and improving your long term board yields in production. Remember, the autorouter cannot determine for itself the design needs of a particular trace; it’s your job as the designer to inform the autorouter how to handle that trace.

Once you’ve verified all the trace dimensions, run autoroute again and see how it goes. I the autorouter completes, its time to take a close look at the routing paths. Do any traces have an excessive number of via/layer transitions? This is a common side-effect of autorouter solutions to dense routing issues.

Go back to the autorouter setups to adjust the limits on vias, set routing direction for each layer, etc. Your autorouter probably has quite a few more parameters you can adjust.

The in-house designers at Sunstone Circuits, using PCB123, report that they follow this methodology repeatedly until the design starts to converge on results that make sense. Once the router gets close to routing completion, and with a sensible appearance and a manageable set of vias, they will stop the autorouting effort and tidy the job up with manual routing.

When manual routing to polish up a productive autorouter session, designers generally try to:

  • minimize vias,
  • keep like routing on the same layer as much as possible,
  • optimize critical nets,
  • shorten and widen high voltage lines, and
  • just basically clean up as much as possible.

As a general rule, and assuming that all manufacturing restrictions are being adhered to, the more aesthetically pleasing (orderly and direct trace routes and same-layer the routing,) the higher the yield for the board when you go to manufacturing.

Where Are Autorouters NOT Well Suited?

Typically, if you use an autorouter to complete the routing and then go directly to ordering boards, it doesn’t turn out well.

Without a careful planning effort up front (setting up design rules; trace width; spacing; net to net rules; etc), the auto router won’t be able to make all of the design-specific decisions that a human PCB designer can make. Autorouter intelligence is not yet ready to replace the designer’s eye. The autorouter is there to take hours of drudgery placing traces out of the design process for the PCB designer. The autorouter simply cannot be used to handle all the connectivity of the design.

Still, In Conclusion

Some boards - typically prototypes - intended to be used merely as a proof of concept may benefit from the significant time savings that often comes with a well-run autorouter phase. Just remember, spending some time to carefully set up the autorouter parameters will seem like extra work at first, but it usually makes your autorouter sessions successful, saving time in the long run.

Getting impatient and relying on the auto router to do all the work from default settings is a risky way to design. A thorough designer will always go back and clean up the autorouter’s results.

Written by Bob Tise
Sunstone Circuits Pre Engineering Department.
Regards,

Sal Hernandez
Software Support Engineer I
Sunstone Circuits
13626 S. Freeman Road
Mulino, OR 97042
Phone: 503-829-9108 x226
Fax: 503-829-5482
User avatar
Sal Hernandez
 
Posts: 396
Joined: Wed Jul 06, 2011 12:00 am



Return to General PCB123 Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron