Why don’t you use autorouting? No-one sane would hand route the internals of an ASIC. No-one sane would hand route the internals of an FPGA. Why are we constantly hand routing PC boards?
During my recent visit to DesignCon in Santa Clara, CA, I took the time to research this topic a bit. I went to visit some of the folks, that used to be part of “Fine Line Design” (sold to Flextronics in 1996). A layout bureau that used to be a beta test site for the development of the Specctra autorouter. So they grew up using what is probably still the best autorouter around for basically anything they could.
Today these guys run a layout bureau doing about 400 boards per year. Not very big, but not small either. And looking at some of the bigger boards, you can’t help thinking a little autorouting help would be great.
How much is autorouted today?
So my obvious question was: Are they doing a lot of autorouting these days? Or what? Knowing where they come from, the answer may surprise you, because in reality they only use full autorouting on about 1% of their boards today. Quite a few more are partly autorouted to finish up the less difficult traces remaining after the most difficult and complex parts have been laid down by hand.
They also employ a much more sophisticated “human-powered autorouter”: A small team in India will routinely get assignments that are too difficult for Specctra, but still very much autorouter compatible. The human brain outsmarts the Specctra router and by using the lower cost Indian team, the net result is more and better routing for the dollar. This is a pretty interesting setup, which they claim only works after a lot of practice and effort has been put into it. I would believe that.
So why is the modern-day computerized autorouter not up for the task? The primary problem is escape/fan-out routing from modern high-density packages. Packages get denser and more complex all the time and the way autorouters work today simply does not work well in these scenarios. Even methods where you do the escape routing by hand and let the autorouter work from there are not working efficiently compared to hand routing by an experienced layout person. In order to efficiently use the autorouter, the design needs to be very homogeneous with lots of open space routing without too many or too strict constraints.
What did I learn?
What I learned from this was really two things:
- Autorouting is not the solution for most PCB layouts today. But a “human-powered” autorouter can apparently be a great help.
- There may be an opportunity for someone to develop a next-generation PCB autorouter that actually works on the layouts of today.
So did autorouting turn up as a big topic at DesignCon? No, not enough to get my attention at least. Maybe next year. Maybe another conference.
What is your experience with autorouters for PCB layout? And do you see future improvements on the horizon?