Screaming Circuits: What Route Do You Take?


What Route Do You Take?

There are a lot of polar opposites in the "what is my philosophy" world: Mac vs. PC, on shore vs. off shore manufacturing, Ford vs. Chevy, Atmel vs. Microchip (well, maybe not that one so much any more), auto router vs, hand route... Yes, I'm specifically avoiding political opposites.

OMAP escape routingRouting is what I'm really interested in today. The conventional debate is hand vs. auto route. CAD companies spend a lot of time and money on auto routers, but there's definitely a line of thought that says it's not ready for prime time yet. This shirt designed by Chris Gammel, on Teespring pretty much says it all.

But, it's more complex than that. Most auto routes end up requiring some hand work, either to finish routes that can't be found automatically, or to clean up a few less than efficient choices. There are differing techniques for complete hand-routing as well. 

I often find myself looking at a layout project a bit like a chess game. I don't just start at one end of the board and work my way to the other side. I tend to focus on specific parts or critical requirements first, like signal paths that need to be short, or sections with more critical grounding requirements. (The image on the right isn't mine. It's from the Beagleboard)

When it gets to the mass, I tend to try and think ahead, projecting moves out, as though it were a chess game. When I'm looking for the best route for signal path A, I try and think ahead to how it will impact B, D, D... as far ahead as I can go.

I'm not sure if doing it this way is easier, of if it would be better to just start routing and then re-route as I run into roadblacks. What about you? How do you approach a complex layout?

Duane Benson
Holy cow. I Googled "Trust no one" to get some ideas for my signature
Never do that. It's going to take a week to shake off all the negativity


Long-time reader, first time to comment.

I tend to start by laying out blocks of components that go together (without any regard for the board outline) like an IC and its decoupling caps or connectors and their ferrites, especially when blocks are repeated.

Set up the board outline, fiducials and mounting holes, then try to arrange the blocks within the board outline with the known restrictions (connectors on board edge, allowable height, etc.) Placement undergoes a few iterations and tweaks before even starting to route.

First thing I always route is the power supply, and use that to take a rough pass at my power planes. Position the blocks of components where they overlap the needed planes and confirm that no fundamental changes to the planes or block placements are needed before placing the remaining miscellaneous parts.

From there, tackle length-matched traces and differential pairs, followed by components needing additional grounding, thermal relief, or high current capacity. It is much easier to find room for that thick trace or series of vias before the less critical traces are in place.

I have not used auto-routing on a real design due to the stigma you identified, but my times playing with it on personal projects have confirmed that any complex layout will need significant human adjustment. The effort required to fully define the parameters for the auto-routing to meet the design intent, for boards as complex as I tend to work on, is so extreme that one would spend so much more time during schematic capture and layout setup that it is more efficient to hand route anyways.

Thanks for your blog posts, they're always interesting!

Post a comment

If you have a TypeKey or TypePad account, please Sign In.

« Building boards for the Intel Edison | Main | The Coming Robot Uprising - 10 Ways To Survive »