5 ms·
Autorouters are generally bad at: routing related signals together (often important for performance), routing power (especially high current traces), prioritisi
by rcxdude 4y ago
Autorouters are generally bad at: routing related signals together (often important for performance), routing power (especially high current traces), prioritising sensitive signals, keeping sensitive signals away from noise ones, and often somewhat suprisingly coming up with any solution at all or coming up with a solution that passes the tool's own design rule checks. Some of this is bad algorithms but a lot of it is because the autorouter is not given enough information. You can specify some of this to most autorouters but it's not super easy, and that information does usually change between projects. That's part of why I think improving the state of the art is in large part a UI problem.
Another big part of why the autorouter might underperform is it's entirely subject to where you've put the components, whereas a human will generally do placement and routing in parallel to at least some extent. Placement is if anything the harder problem in PCB design and there's no systems currently that really combine the two operations (there are auto-placers but they're generally even worse than autorouters, for similar reasons of the requirements are complex and hard to specify).
In general these kinds of systems run into a bit of a catch 22: in order to use them well you need to have enough experience to do the job yourself, and be able to effectively evaluate the output. But when you have this you find it's faster and easier to do it yourself. And expecting it to be helpful for beginners is a bit like expecting github's copilot to be a shortcut for beginners: the tool is going to throw out bad results sometimes and the beginner is not going to be able to evaluate that or know how to fix it.
Like I said, I think there's room for improvement here, both in terms of interface and in terms of algorithms. But it's far from non-trivial. As for TopoR, it does look like one of the better options, and I really like that it's challenging the 45 degree orthodoxy which is basically a relic from limitations of early PCB CAD which is sadly still solidified in the tools (even in a modern PCB CAD tool it's hard to route something at an arbitrary angle, and it tends to break routing features like push-and-shove), but I haven't had a situation where I've been looking to try it myself (part of this is PCB routing takes up a relatively small portion of my time: if I spent 70% of my time doing it like some specialists I would definitely be spending more time trying to optimise it. As it is it's about 20% of time I spend designing PCBs and I spend less than half my time at work designing PCBs).
- formerly_proven 4y agoI really like the flowing, organic layouts of 60s and 70s PCBs, they are unfortunately very difficult and high maintenance to recreate in modern CAD tools compared to their brutalist brethren. OTOH it's not like anyone will really see the works...
- garaetjjte 4y agoRelated: https://www.youtube.com/watch?v=euJgtLcWWyo https://www.youtube.com/watch?v=euJgtLcWWyo