← 返回列表
🔗 原文
GPU加速的自动布线器应对庞大PCB设计
GPU-Accelerated Autorouter Handles Monstrous PCB Designs

[Brian] had an absolute monster of a PCB with thousands of nets to be routed, the kind of design that stopped traditional routers in their tracks. It would take months to route by hand, likely trying the patience of a saint in the process. To solve this specific problem he created OrthoRoute, a GPU-accelerated autorouter that he cautions is no more trustworthy than any other autorouter, but at least it’s fast!

A closeup of an extremely high-density board routed by OrthoRoute.

A KiCad plugin, OrthoRoute is so named because traces are laid down in a Manhattan lattice, a grid of orthogonal segments. All components (surface-mount only, no through-hole stuff) go on the top layer of the PCB, and all lower levels contain a grid of traces, connected as needed with blind and buried vias to route everything. OrthoRoute takes a structured and iterative approach, eventually converging on a satisfactory layout.

How does OrthoRouter actually decide how to connect things? [Brian] adapted PathFinder, an algorithm designed for routing FPGAs. Laying out a grid of orthogonal traces and punching down through them with vias to make connections has a lot in common, conceptually, with routing FPGAs. GPU acceleration makes the whole thing far more efficient than pipelining the calculations through a CPU.

OrthoRoute was built to solve a very specific problem, but in the process showed that GPU-accelerated routing is definitely feasible. Check it out in the videos, embedded below the page break.

[Brian] cautions that as-is, OrthoRoute is useful to maybe a handful of people at best, but as a KiCad plugin it’s highly modular and the hard parts are all done. If you want a closer look, or have some ideas about how to repurpose or extend it, check out the GitHub repository.

We’ve seen some nifty KiCad plugins for all kinds of purposes, from breadboarding to giving PCB traces an old-timey look, and even one specifically for designing custom keyboards. It’s not every day we see a plugin aimed at handling high-density boards with thousands of nets, though.

🤖 AI 总结
GPU加速的自动布线器可处理

[Brian] had an absolute monster of a PCB with thousands of nets to be routed, the kind of design that stopped traditional routers in their tracks. It would take months to route by hand, likely trying the patience of a saint in the process. To solve this specific problem he created OrthoRoute, a GPU-accelerated autorouter that he cautions is no more trustworthy than any other autorouter, but at least it’s fast!

A closeup of an extremely high-density board routed by OrthoRoute.

A KiCad plugin, OrthoRoute is so named because traces are laid down in a Manhattan lattice, a grid of orthogonal segments. All components (surface-mount only, no through-hole stuff) go on the top layer of the PCB, and all lower levels contain a grid of traces, connected as needed with blind and buried vias to route everything. OrthoRoute takes a structured and iterative approach, eventually converging on a satisfactory layout.

How does OrthoRouter actually decide how to connect things? [Brian] adapted PathFinder, an algorithm designed for routing FPGAs. Laying out a grid of orthogonal traces and punching down through them with vias to make connections has a lot in common, conceptually, with routing FPGAs. GPU acceleration makes the whole thing far more efficient than pipelining the calculations through a CPU.

OrthoRoute was built to solve a very specific problem, but in the process showed that GPU-accelerated routing is definitely feasible. Check it out in the videos, embedded below the page break.

[Brian] cautions that as-is, OrthoRoute is useful to maybe a handful of people at best, but as a KiCad plugin it’s highly modular and the hard parts are all done. If you want a closer look, or have some ideas about how to repurpose or extend it, check out the GitHub repository.

We’ve seen some nifty KiCad plugins for all kinds of purposes, from breadboarding to giving PCB traces an old-timey look, and even one specifically for designing custom keyboards. It’s not every day we see a plugin aimed at handling high-density boards with thousands of nets, though.

原文
GPU-Accelerated Autorouter Handles Monstrous PCB Designs

[Brian] had an absolute monster of a PCB with thousands of nets to be routed, the kind of design that stopped traditional routers in their tracks. It would take months to route by hand, likely trying the patience of a saint in the process. To solve this specific problem he created OrthoRoute, a GPU-accelerated autorouter that he cautions is no more trustworthy than any other autorouter, but at least it’s fast!

A closeup of an extremely high-density board routed by OrthoRoute.

A KiCad plugin, OrthoRoute is so named because traces are laid down in a Manhattan lattice, a grid of orthogonal segments. All components (surface-mount only, no through-hole stuff) go on the top layer of the PCB, and all lower levels contain a grid of traces, connected as needed with blind and buried vias to route everything. OrthoRoute takes a structured and iterative approach, eventually converging on a satisfactory layout.

How does OrthoRouter actually decide how to connect things? [Brian] adapted PathFinder, an algorithm designed for routing FPGAs. Laying out a grid of orthogonal traces and punching down through them with vias to make connections has a lot in common, conceptually, with routing FPGAs. GPU acceleration makes the whole thing far more efficient than pipelining the calculations through a CPU.

OrthoRoute was built to solve a very specific problem, but in the process showed that GPU-accelerated routing is definitely feasible. Check it out in the videos, embedded below the page break.

[Brian] cautions that as-is, OrthoRoute is useful to maybe a handful of people at best, but as a KiCad plugin it’s highly modular and the hard parts are all done. If you want a closer look, or have some ideas about how to repurpose or extend it, check out the GitHub repository.

We’ve seen some nifty KiCad plugins for all kinds of purposes, from breadboarding to giving PCB traces an old-timey look, and even one specifically for designing custom keyboards. It’s not every day we see a plugin aimed at handling high-density boards with thousands of nets, though.

中文翻译
GPU加速的自动布线器应对庞大PCB设计

[Brian] 遇到了一块绝对庞大的PCB板,需要布线的网络多达数千个,这种设计让传统的布线器束手无策。手动布线可能需要数月时间,过程中恐怕连圣人都难以忍受。为了解决这个特定问题,他创建了 OrthoRoute,一个GPU加速的自动布线器。他警告说,这个工具并不比其他自动布线器更可靠,但至少速度很快!

OrthoRoute 布线后的超高密度电路板特写。

作为 KiCad 插件,OrthoRoute 之所以得名,是因为走线以曼哈顿格点方式布局——即由正交线段组成的网格。所有元件(仅限表面贴装,无通孔元件)均放置在 PCB 的顶层,而所有下层均包含走线网格,通过盲孔和埋孔按需连接,实现整体布线。OrthoRoute 采用结构化和迭代式方法,最终收敛到令人满意的布局。

OrthoRouter 实际上是如何决定连接方式的呢?[Brian] 借鉴了 PathFinder 算法,该算法专用于 FPGA 布线。布局正交走线网格并通过过孔穿透连接,从概念上与 FPGA 布线有很多共同之处。GPU 加速使整个过程比通过 CPU 流水线计算高效得多。

OrthoRoute 是为解决一个非常具体的问题而构建的,但在此过程中证明了 GPU 加速布线是绝对可行的。请在下方分页符后的视频中查看。

[Brian] 警告说,目前 OrthoRoute 最多可能只对少数人有用。但作为 KiCad 插件,它高度模块化,而且困难的部分都已搞定。如果您想进一步了解,或者有关于如何重新利用或扩展它的想法,请查看 GitHub 仓库

我们见过一些用于各种目的的 KiCad 插件,从面包板设计赋予 PCB 走线复古外观,甚至还有一个专门用于设计自定义键盘的插件。不过,我们并不常见到针对处理数千个网络的高密度电路板的插件。