Routing an 8,192-net, 32-layer KiCad PCB with a GPU autorouter
4 days ago
- #PCB Design
- #GPU Acceleration
- #KiCad Plugins
- OrthoRoute is a GPU-accelerated PCB autorouter for KiCad, designed to handle high-density boards using the PathFinder algorithm.
- Developed out of necessity for a complex backplane project with 17,600 pads and 8,192 airwires, traditional routing methods were impractical.
- The plugin uses KiCad's IPC API for better performance and flexibility, allowing for a separate PCB model within the plugin.
- Implements a Manhattan Routing Engine and the PathFinder algorithm, treating PCBs as graphs with nodes and edges for routing.
- GPU acceleration was chosen due to the computational demands of PathFinder, leveraging parallel processing for faster routing.
- Adapting FPGA routing algorithms to PCBs required solving unique challenges, such as pad escape planning and dynamic parameter tuning.
- Encountered and fixed several algorithmic issues, including history cost decay and oscillation during routing iterations.
- Successfully routed a massive 8000+ net board using cloud-based GPU resources, though the process took 41 hours.
- Future improvements could include better DRC awareness, support for different board types, and community contributions via GitHub.