Not that I use EAGLE’s autoroute function exclusively, 'cause I don’t, but I do use it initially to see if the board will autoroute to 100% because the way I figure it (and it’s worked for me in the past), if EAGLE can autoroute the board successfully, then I won’t have much of a problem doing it the right way…by hand.
I was playing around with it last night on the latest project…mostly SMT parts, a TQFP64 PIC, 6 TSSOP-28’s, 4 TSSOP-24’s, 8 SOIC-8’s, and a sprinkling of SMT cap’s, resistors, etc. The PCB dimensions are roughly 8" x 6". Left plenty of space around everything, and yet EAGLE wouldn’t finish an autoroute to 100%…even if the clearances were dialed down to near zero, tiny tracks, etc.
Then quite by mistake and a series of tired, misfed keystrokes, I tried autorouting on a 50mil grid. Didn’t get very far obviously. Routed it again (without ripping everything up) with a 25 mil grid. Got a bit farther. I’m thinking…Hmmmm… Routed it again on a 10mil grid. Success. 100% complete.
Dialed the clearances back up to 6mils (only because at 8mils, the TQFP64 fails horribly), and did the same thing again. Let EAGLE autoroute at 50, 25, and 10 mils in succession without ripping anything up in between. 100% complete.
Can’t figure out any logic as to why it succeeds using that “successively smaller grid” method vs. just doing it on a 10mil grid in the first place, or even a 5 or 1 mil grid for that matter.
Any obvious mathematical reason behind this? Programming methodology that I’m missing? Dumb luck?
Going to try the same thing on a couple of other larger PCBs I’ve got designed to see what happens…