Hacker News new | ask | show | jobs
by shard 986 days ago
Why is auto routing a PCB so different from IC design? It's not reasonable to expect humans to route a full IC with hundreds of thousands of standard cells, so constraints are defined and the auto router is sicced on the mess. Do PCBs just fall in the range where designs are still simple enough for humans to do by hand, and due to board size limits, will not go beyond that range?
1 comments

It's in large part the complexity of the constraints: PCBs generally contain a heterogeneous mix of parts with different concerns. Digital portions of ICs are a lot more regular, especially with standard cells. If you were to make old-school PCB-level digital circuits, the autorouter could probably help a lot with that (and indeed it was not uncommon to see it done that way). Likewise, analog portions of ICs are still generally laid out by hand, or have ad-hoc optimisers written for them.

But for the average PCB, which has mix of switch-mode power, analog, high-speed digital, and low-speed digital, it takes longer to specify the constraints so the autorouter can do a good job, let alone wait for it to hopefully complete. So it's rarely used outside of particularly tedious but regular tasks, like hooking up a wide memory bus.

(I do think this is something where AI could make a big improvement. If it could infer most of the constraints from the circuit then it would help with saving time. The challenge then becomes marrying the ML-generated output with the hard constraints effectively)