I saw this on KiCad info forums, just posted. He has a video describing and demonstrating it on the page linked below.
I found it interesting that he says heās taking advantage of an algorithm previously used for FPGA routing. Not sure I want to pay for the blind and buried vias but if thatās the only way to escape all those padsā¦
Really interesting, thanks for sharing! Am very curious about how it would do on a real PCB (not just a backplane with thousands of similar nets), even if digital-only.
Maybe someday autorouters will be good. Maybe itās today but color me skeptical. Everything Iāve ever tried (over 30+ years) has either failed miserably or produced a grievously ugly layout. I donāt find routing all that hard once you get your components arraigned well.
So thanks for the kind words.
Iād just like to point out the only reason this exists is to route this impossible backplane: Itās 8000+ nets spread over 160x160mm. Itās the densest thing Iāve ever seen, and the āManhattan/PathFinderā autorouter is the only way I can think that it could be routed. And no, thereās no optimizing the layout because I already did simulated annealing on the positions/connections of the nets, and itās already optimal.
So yeah, to do this, I had to write an autorouter. So I did.
As for what this could do for anyone else, Iām betting not much. Itās great for absurd backplanes, but I could also see this modified and used for complex BGA escape patterns. Define the source (the balls on a BGA) and sink (where you want the trace to end up), and it could figure out an optimal escape pattern. But even BGA escape patterns are a little out there because BGAs are 1) designed to be broken out and 2) some of them already have escape planning in the datasheet.
So this is just an impossible problem that I had to solve. And I did. And now Iām commenting on threads to push the SEO up so that in ten years someone with the same problem will find this.
But since I did thisā¦. uh, Chrisā¦. your Never trust the autorouter shirts are out of stock and Iād like to buy one.
Happy to also help whatever SEO has turned into in ten years point back to this site.
Iāve never seen a board with that many pads. What are you going to plug into it?
Iām unemployed. Need a new portfolio piece. I figure building a supercomputer in my garage would be a good start.
And now that the backplane is done I can get to work on the rest of it.
I can understand that - how would you run an autorouter without a supercomputer?
I have no reason to ever use it, but this is seriously impressive!
@Benchoff So the big question here is: does the backplane PCB work as intended? ![]()
(Next project up, DIY flying probe or bed of nails tester)
The small, 512-net ātest boardā? Yeah, that goes into KiCad and I can make it DRC-compliant. I mean itās an autorouter, so itās never going to be perfect, but itās good enough for a tool with some manual fiddling about.
The massive, 8000+ net backplane? Thatās another story. It takes 10-12 hours to route that, so Iām really only getting one run per day. Right now Iām adjusting history and pressure factors of the PathFinder algorithm to get it to converge. The last few tests Iāve gone from 2-4 Million overused edges down to 100k or so, until it plateaus. The fix for this is adjusting some parameters and/or adding more layers. I think I have it nailed, if you see something tomorrow morning youāll know I have it.
But yeah, once I have convergence on the 8000 net backplane, there are going to be a few DRC errors, but nothing thatās difficult to fix. I mean, itās an autorouter what do you expect, something perfect right out the gate?
Welcome @Benchoff, itās been a while!
The shirts havenāt been around for a few years now. Maybe we need a new version, āNever trust the autocorrect autorouter (unless itās Benchoffās)ā ![]()