
做 PCB 设计的人大概率都有过这样的经历原理图检查了无数遍一到布线环节看着密密麻麻的飞线就开始头皮发麻。尤其是两层以上的板子、上百个元件、几百个网络手动推线一推就是两三天改一个电容位置又得重推一片。这个时候Altium Designer 24 的自动布线功能就成了很多人最想“托付”给软件的工作。但自动布线在不少工程师眼里又有点“玄学”有人一键跑完感觉能用有人跑完发现满板子绕线、关键信号一团糟只能全部撤销重来。问题出在哪多数时候不是软件不够强而是我们没把规则、策略和前置准备做对。这篇文章围绕 Altium Designer 24 的自动布线展开先讲清楚自动布线的原理和适用场景再一步步拆解从环境准备、规则设置到跑线、修线、DRC 检查的完整流程最后整理高频报错和工程建议。无论你是刚接触 PCB 设计的学生还是想用自动布线提速的硬件工程师都可以把这篇当作一份可直接对照操作的笔记。1. 自动布线到底是什么先理解再上手1.1 什么是 PCB 自动布线自动布线Auto Routing是 EDA 软件根据用户预设的布线规则、设计约束和元件布局自动完成 PCB 铜箔走线连接的过程。在 Altium Designer 中自动布线器会根据板框、元件位置、网络连接关系、线宽、间距、过孔规则等条件计算出一条条满足电气连接和制造要求的路径。用一句话概括手动布线是“你亲手画线”自动布线是“你定规矩软件按规矩画线”。专业一点讲自动布线器本质是一个基于网格拓扑和绕障算法的最短路径求解过程。它要把所有需要连通的网络放在同一个物理空间里同时满足线宽、间距、钻孔、焊盘、覆铜等约束。这个过程可以看作“给定一堆节点和障碍物在多层平面上找出互不冲突的走线组合”。理解这一点很重要因为它决定了自动布线的上限算法再智能它也只是在规则允许的范围内找路径。规则不完整、元件布局混乱算法再努力也布不出能生产的板子。1.2 自动布线的适用场景与局限自动布线适合什么场景以我的实践经验来看至少有三类第一类是样板验证。产品早期需要快速打样验证功能布线不是主要矛盾先把板子连通、让电路跑起来这时候自动布线可以大幅缩短迭代周期。第二类是低速数字板。工作频率不高信号完整性要求不苛刻比如单片机最小系统、传感器采集板、简单控制板自动布线加上手工修整足够应付。第三类是复杂板卡的预布局评估。在正式手动布线之前先用自动布线跑一版评估元件摆放是否合理、板框面积是否够用、电源地网络是否有布通风险这比空看飞线直观得多。但自动布线也有明显局限。高速数字电路、差分对、射频电路、大电流电源回路这些对走线长度、阻抗、回流路径、EMI 有严格要求的场合不能完全依赖自动布线。尤其是 USB 差分线、DDR 总线、LVDS、以太网接口这些最好由工程师手动规划关键走线再把其余部分交给自动布线器处理。1.3 AD24 自动布线与手动布线的关系很多新手容易把自动布线和手动布线理解成“二选一”的对立关系实际上在 Altium Designer 24 的日常流程里两者是配合关系。推荐的工作方式是先手动完成关键信号的走线比如时钟、高速差分对、电源主干、晶振下方的地过孔然后把已经完成的走线锁定最后用自动布线处理剩余普通信号。这样既保证了关键信号的品质又用自动布线节省了重复劳动。Altium Designer 24 的交互式布线器Interactive Router也很有趣它本身带有推挤、绕障、自动换层等功能操作手感非常接近“半自动布线”。你可以先走第一根线然后按 ShiftR 切换布线模式软件会帮你避开障碍并平滑过渡。本文后面实战部分也会结合交互式布线来修补自动布线的结果。2. 自动布线不是一键完事准备工作与工程环境2.1 软件版本与硬件环境说明本文以 Altium Designer 24 的界面和菜单为例进行讲解。AD 的菜单结构在近几个大版本中保持稳定所以 AD20 到 AD24 之间的大部分操作都可以直接参照本文低版本可能在个别对话框名称上有差异。运行 Altium Designer 对电脑配置有一定要求。自动布线算法在执行过程中需要大量计算尤其当板子超过四层、网络数量上千时CPU 和内存占用会明显上升。我的建议是CPU建议 i5 或 R5 以上高频比多核更敏感。内存16GB 起步32GB 更稳。硬盘SSD 必备工程打开和 DRC 检查的读写速度差很多。显卡常规独显或性能足够的核显即可布线本身不吃显卡。如果你只是用 Altium Viewer 打开工程配置要求可以低很多。但要注意Viewer 只能查看和测量不能编辑布线自然也无法运行自动布线。版本相关的一个提醒不同版本之间规则文件和工程文件基本兼容但打开旧工程时建议先另存为新版本格式避免规则引擎迁移时出现意外。2.2 工程文件的必要组成在 Altium Designer 24 中一个完整的自动布线工程通常包含以下文件.PrjPcb 工程文件管理所有文档。.SchDoc 原理图文档定义电路连接关系。.PcbDoc PCB 文档自动布线的工作对象。集成库或原理图库、封装库文件用于元件关联。自动布线之前必须保证原理图到 PCB 的同步已经完成。具体操作是在原理图编辑器里执行“Design - Update PCB Document”把原理图中的网络连接关系、元件位号、封装信息同步到 PCB。同步完成之后PCB 里才能看到飞线Ratlines。没有飞线自动布线就不知道要连什么这一点务必注意。实际项目中遇到过不少新手直接新建一个空 PCB 文件就开始画线结果发现 Route 菜单里的自动布线选项是灰的原因就是 PCB 没有和原理图建立关联。2.3 自动布线前的 PCB 基础检查清单在按自动布线按钮之前建议先花十分钟做一次基础检查。这个习惯能帮你避免 80% 的“跑完一团糟”问题板框尺寸是否正确元件是否全部位于板框内部。是否完成板框定义Keep-Out Layer 或板框层。元件布局是否基本固定位号是否清晰。是否存在未连接网络是否有凭空多出来的元件。封装是否完整焊盘是否存在缺失。层叠是否需要调整电源层地层的分配是否合理。是否已经建立需要特殊处理的网络类、差分对。自动布线器的特点之一是“严格服从规则”。如果你的板框没定义好、元件重叠、规则冲突一大堆自动布线器并不会帮你“收拾烂摊子”它只会跑出乱七八糟的结果或者直接中断报错。3. 规则先行决定自动布线质量的 PCB 设计规则3.1 为什么自动布线必须先写规则这是我反复想强调的一点自动布线不是“点击即得”它的核心是规则引擎。Altium Designer 24 的布线器在执行时会逐条读取 Design Rules 里的约束。规则越完整布线结果越接近可生产状态规则缺失布线器就会采用默认参数而默认参数往往很宽松。比如默认的最小线宽可能是 0.254mm默认间距可能是 0.254mm默认过孔可能很大。这些参数用在正规产品板上通常不合格你需要根据自己的 PCB 工艺能力来重新设置。换个角度理解手动布线时你脑子里知道电源线要加宽、晶振底下不要走线、差分对要等长自动布线器没有这些“直觉”它只知道规则。所以把设计经验翻译成规则文件就是自动布线前最重要的工作。3.2 线宽、间距、过孔规则怎么设置频率最高也最基础的规则有三类线宽约束Width、安全间距约束Clearance、过孔约束Routing Via Style。在 AD24 中通过 Design - Rules 打开规则面板。以一块常见的两层板为例可以给出如下参考规则配置[两层板基础规则参考] 线宽Width Constraint - 普通信号网络0.20mm - 电源网络0.50mm ~ 1.00mm - 地网络0.50mm ~ 1.00mm 安全间距Clearance Constraint - 信号网络到信号网络0.20mm - 信号网络到电源网络0.30mm - 电源网络到电源网络0.40mm 过孔Routing Via Style - 过孔外径0.60mm - 过孔钻孔0.30mm这些参数需要根据你自己的 PCB 制板厂能力来定。常规工艺下 0.2mm/0.2mm 的线宽线距、0.3mm 钻孔是可以接受的但如果你用的是更便宜的工艺可能需要放宽到 0.25mm/0.25mm 和 0.4mm 钻孔。设置规则时要注意优先级。Altium Designer 的规则系统允许同一个约束存在多条规则每条规则可以通过 Query 限定作用的网络。比如“电源网络线宽 0.5mm”和“普通信号线宽 0.2mm”就是两条不同优先级的 Width 规则。规则列表从上到下依次匹配匹配到就生效所以高优先级的规则要放在前面。3.3 差分对、等长线、网络类怎么处理当板子上有差分信号、时钟信号、总线信号时光设置线宽间距还不够需要额外定义差分对规则和等长规则。差分对规则的核心参数是“差分对内间距”和“网络对之间间距”。自动布线器识别差分对之后会尽量保持并行走线并在需要换层时成对打过孔。创建差分对一般在原理图里完成在原理图中对两根差分网络分别添加 “ / -” 网络标签然后在 PCB 中通过 Design - Classes 或差分对面板建立差分对。建立之后规则面板里会出现差分对布线约束。等长规则主要应用于 DDR、以太网、USB 等时序敏感信号。自动布线器会尽量把指定网络绕到目标长度范围内但绕线幅度与规则允许的布线空间直接相关。空间不够时等长误差会很难收敛。对于普通单端信号建议用网络类Net Class统一管理。比如把 3.3V 电源网络放到一个类里把 I2C、UART 放到另一个类里再对不同类设置差异化规则。网络类一旦建立规则编写会简单很多。3.4 DRC 规则检查项建议不要把 DRC 留到自动布线完再说。自动布线前就应该把 DRC 规则面板里该勾的都勾上。下面是一个建议的检查项清单[DRC 检查项建议开启列表] - Clearance Constraint 间距检查 - Width Constraint 线宽检查 - Short-Circuit Constraint 短路检查 - Un-Routed Net Constraint 未布线网络检查 - Via Style Constraint 过孔规格检查 - Hole Size Constraint 钻孔规格检查 - Differential Pair Rules 差分对规则检查 - Plane Clearance 平面间距检查提前打开这些规则并不意味着布线前必须在板子上跑一遍完整 DRC而是让自动布线器在设计阶段就感知这些约束。规则面板里的每一类规则都同时参与了“布线约束”和“DRC 检查”两个环节。4. 在 Altium Designer 24 中完成一次自动布线实战4.1 从原理图到 PCB 的同步第一步打开完整的原理图工程在原理图编辑器中执行 Design - Update PCB Document。在弹出的对话框中先点击 Validate Changes确认变更有效再点击 Execute Changes 执行更新。这一步完成之后切换到 PCB 编辑器应该能看到所有元件的初始摆放位置和代表连接关系的飞线。初始位置通常是堆叠在一起的需要手动把元件移动到板框内并完成布局。这里有一个容易被忽略的点同步前先确认 PCB 文件已经建立了正确的板框。如果板框还没画可以先用板框向导或者直接在 Mechanical 层画一个封闭矩形再在 Design - Board Shape 中 Define Board Shape 选中它。板框定义不成功后续布局和自动布线都会很别扭。4.2 布局规划与预布线自动布线效果好不好布局占了至少一半因素。在按下自动布线按钮之前先把元件按照功能模块分区放置电源接口靠近板边晶振靠近主控去耦电容靠近对应电源引脚连接器按照出线方向摆正。对于板子上的关键信号我强烈建议先手动预布线。比如主控芯片旁边的晶振走线、USB 差分线、电源输入输出主干都可以先用交互式布线走好。双击关键走线打开属性面板把 Locked 选项勾上。锁定之后自动布线器在计算其他网络时会把这些走线当作不可移动的障碍从而绕开它们。手动预布线还有一个额外好处它能提前发现布局问题。如果某个差分对无论如何都走不出合理路径那大概率是布局或者引脚顺序有问题这时候修正布局的成本远低于布完板再调整。4.3 放置布线策略与参数自动布线前需要在布线器对话框中确认策略。在 AD24 中Route 菜单下可以找到自动布线入口常见选项包括菜单路径 Route - Auto Route - All Route - Auto Route - Net Route - Auto Route - Net Class Route - Auto Route - Component Route - Auto Route - Area第一次跑全板时建议选择“All”让布线器处理所有未布线网络。在自动布线设置对话框中通常会有一个布线策略列表例如默认的两层板策略和四层板策略。策略名称里的“Default 2 Layer Board”“Default 4 Layer Board”等代表不同的过孔密度和绕线倾向。如果某个网络不想让自动布线器处理可以把网络加入“Locked”状态或者在布线器设置中排除。对于已经手工布好的关键信号也可以暂时给它们加一个足够大的线宽规则让布线器认为它“已经完成”。不要一开始就追求“一次性布完所有网络”。更稳妥的方法是先布电源网络再布地网络最后布普通信号。这样可以让电源和地优先获得较好的路径后期调整信号线时不容易产生大面积返工。实际操作中我会把电源网络类单独执行一次 Route - Auto Route - Net Class再执行全板自动布线。4.4 运行自动布线并观察结果确定参数后点击运行软件会开始逐网络布线。此时可以观察布线进度条和日志窗口。板子规模越大运行时间越长。几百个网络的简单两层板通常几秒钟就能完成四层板加上复杂约束可能需要几分钟。跑完之后不要急着导出 Gerber。先把视觉效果和 DRC 结果检查一遍。打开板子视图放大关键区域看看有没有明显的绕线、过密过孔、奇怪的长蛇形线。如果结果不满意不要直接手动一根根改更高效的做法是撤销到布线之前调整规则和布局重新跑。自动布线的调试周期本来就应该是“改规则 - 再跑 - 再看”而不是“跑完 - 手动修全板”。改规则再跑通常比手动修几十根线快得多。如果你只写逻辑正确但布线策略不佳可以反复切换到不同的布线策略比较哪种策略在当前布局下结果更干净。多试几次之后你对“什么布局能触发什么布线结果”会形成直观感觉。4.5 布线后置处理与清理项自动布线完成之后还有几件事需要处理。首先执行 Tools - Teardrops给走线和焊盘之间添加泪滴。泪滴可以提高走线与焊盘的连接强度减少机械钻孔时的断裂风险。对于连接器引脚、直插元件焊盘这个步骤尤其重要。其次处理覆铜。在 Place 菜单中选择 Polygon Pour将电源和地网络铺铜。覆铜不是自动布线的一部分但它会影响整板的电气性能和 EMC。注意设置 Polygon Connect 规则中的连接方式是直接连接还是热焊盘连接。再次整理丝印。元件位号可能会被走线压住或者方向混乱需要在布线后统一调整字体大小和位置。最后再执行一次全板 DRC确认没有新引入的短路、间距不足和未布线网络。5. 自动布线结果的修整与优化5.1 如何处理绕线过多的问题自动布线最常见的视觉效果就是“线到处乱绕”。产生绕线的根本原因有两个一是规则中走线的目标方向约束不够二是布线空间不足导致算法只能绕路。处理绕线先区分是普通信号绕线还是等长信号绕线。普通信号如果出现大面积绕线可以在布线策略中降低过孔使用频率让换层次数减少同时检查布局是否有元件摆放过于拥挤的情况。元件间距拉大一点自动布线的自由度就高很多。等长绕线属于正常现象因为每一根线都需要匹配目标长度。但绕线长度应尽量均匀分布在信号线中间而不是集中在几个狭窄区域。如果发现绕线区域过密可以调整差分对的耦合参数或者等长分组方式。最直接、也最容易被忽略的方法把板子的布线层从两层增加到四层。多一个完整的地平面和电源平面后信号层走线空间大幅增加绕线自然减少。5.2 交互式布线修补自动布线结果自动布线跑完总会有那么十几根线需要手工调整比如经过敏感区域、过长、过孔太多。这个时候用交互式布线器最合适。选中一根需要调整的走线执行 Route - Interactive Routing或者直接按快捷键交互式布线。AD 的交互式布线模式会跟随光标铺线并在遇到障碍时执行推挤。推荐模式在交互式布线过程中连续按 ShiftR 切换行走模式循环观察“绕障模式”“推挤模式”“拥抱模式”。推挤模式下新走线会推着旧走线让路非常适合在自动布线结果上做局部重布。按 Shift 可以控制换层按数字键可以选择过孔。用交互式布线手工重走关键线时原来的自动布线线段会被自动替换。走完之后要检查一下被修剪的相邻走线有没有出现间距错误避免出现“手工修一根旁边坏一片”。5.3 覆铜、过孔和电源地网络的优化电源和地网络的自动布线容易踩一个坑布线器可能给电源网络布了一堆细线而不是让它们走平面或者宽线。如果是两层板没有完整平面需要在自动布线结束后删掉部分电源走线然后通过覆铜来实现电源和地网络连接。覆铜之后别忘了检查铜皮和焊盘的连接方式。默认的覆铜连接可能是花焊盘Thermal Relief它能方便焊接但在大电流回路中会导致连接阻抗偏大。也可以改成直接连接不过要结合工厂工艺评估散热影响。过孔也需要统一检查。自动布线产生的过孔不一定都合理有些过孔离焊盘太近有些过孔落在铜皮上形成孤岛。通过 Tools - Via Stitching 或者手动鼠标拉框选中过孔后批量编辑把过孔网络和过孔大小统一调整。6. 高频问题与排查思路6.1 常见问题对照表问题现象常见原因解决思路Route 菜单自动布线选项置灰PCB 与原理图未同步或没有待布线网络重新执行 Update PCB Document确认飞线存在自动布线中断并报错布局有严重重叠规则冲突板框未定义先清理元件重叠检查规则优先级跑完后大量绕线布线空间不足规则约束太少调整布局增加布线层调整过孔策略关键信号线布得差没有预布线或关键线未锁定先手动预布线并勾选 Locked电源线布得又细又乱电源网络的线宽规则未设置为电源网络类单独设置宽线规则差分线没按差分方式布差分对未定义或差分规则缺失正确建立差分对设置差分对间距规则覆铜后出现网络孤立覆铜连接规则或热焊盘设置不合理检查 Polygon Connect 规则修改连接方式布线速度慢网络过多且一次性全板布按 Net Class 分批布线先电源后信号6.2 自动布线报错时怎么快速定位遇到自动布线报错先打开 Messages 面板逐条阅读错误日志。Altium Designer 的错误日志通常会把问题归到最近的规则项比如“Clearance Constraint Violation”就是间距违规“Un-Routed Net”就是有网络没有布通。看到错误之后不是直接改线而是先定位规则问题。例如某条网络总提示间距违规可能是该网络被同时匹配到了两条宽度规则而当前生效的规则不是你想要的那条。检查规则优先级把更具体的网络类规则放在列表前面。如果撤销重跑后依然报错可以考虑把布局导出为图片和飞线图叠在一起观察。很多时候所谓“布线失败”本质上是在当前布局案下某个区域空间不足。这类问题靠拖几根线是解决不了的需要移动元件或调整板框。6.3 自动布线结果是否可以直接发板这是新手最爱问的问题之一。答案是不建议直接发板。自动布线能保证电气连通但不能保证可制造性、信号完整性、热设计和 EMC。直接发板的结果可能是板子功能正常但 EMC 测试不过、电源纹波大、批量生产时良率波动。要发板至少需要确认以下几点全板 DRC 零错误。泪滴已经添加。丝印清晰且不与焊盘冲突。覆铜连接方式符合贴片工艺要求。关键信号和电源地网络经过人工确认。生成 Gerber 文件后再用 Gerber Viewer 检查一次。把自动布线结果当作“初稿”把人工检查和修正当作“审稿”这样才能兼顾效率和质量。7. 自动布线的工程实践与规范建议7.1 什么情况下该用、什么情况不该用把自动布线放在整个硬件开发流程里看它更像一个效率工具而不是质量兜底方案。适合用自动布线的场景两层或四层低速数字板、验证板、学习板、连接器转接板、被动的电源板。这类板子信号频率低、网络数量大、手动布线重复劳动多自动布线能显著提升效率。不建议依赖自动布线的场景射频前端、高速差分总线、DDR 内存接口、ADC 采样前端、电源转换环路。这些地方需要控制阻抗、回路面积、走线参考平面和等长误差建议手动布线完成后只在次级信号上使用自动布线。如果公司有成熟的布线规范和设计规则文件自动布线的作用会被放大很多。规则文件可以看作“把老师傅经验固化到工具里”这是自动布线应用最有价值的部分。7.2 规则文件的复用与团队协作在 Altium Designer 24 中规则可以导出为独立文件然后在其他工程中导入。团队协作时可以由资深工程师维护一套标准规则覆盖默认线宽、间距、过孔、差分、电源网络、覆铜连接方式其余成员直接调用。我建议在工程中单独维护一个“Design Rules”文档记录每一条规则的用途和修改时间。这样当自动布线结果异常时可以快速回溯是新增规则还是参数调整导致了问题。同时规则复用要注意板厂工艺。不同 PCB 工厂的工艺能力不同有的厂最小线宽做到 0.15mm 仍然稳定有的厂 0.2mm 已经很极限。规则参数应该和实际生产的板厂对齐而不是直接照搬网上的模板。7.3 自动布线的生产环境注意事项自动布线完成后进入生产环节前我一般会再做三件检查。第一件是“统一焊盘和过孔热焊盘属性”。批量板中过孔如果大面积直接连接铜皮回流焊时热量会被快速导走导致虚焊。通过在规则中设置花焊盘连接可以改善焊接一致性。第二件是“检查铜皮距离板边的安全距离”。有些自动布线和覆铜结果离板框太近分板时容易露铜或者铜皮开裂。用规则或者目测检查板边 0.3mm 到 0.5mm 内不应有覆铜和走线。第三件是“检查钻孔文件”。尤其是半孔板、金属化槽、异形孔必须先和板厂确认工艺再出 Gerber。Gerber 预览里看到的钻孔数量和位置要和 PCB 设计完全一致。8. 总结与后续学习路线到这里Altium Designer 24 自动布线的主要流程就算完整走了一遍。从自动布线的原理、适用场景到规则设置、预布线、自动布线、修线优化、DRC 检查再到工程规范这条路径就是自动布线相对靠谱的落地方式。回顾一下最关键的经验自动布线不是把布线工作交给软件而是把布线规则交给软件。手动布线的核心能力是“画线”自动布线的核心能力是“定规则”。谁能把规则定义得越细致谁用自动布线就越高效。建议下一步做这样的练习找一块两层板的小工程比如 STM32 最小系统、传感器采集板先手动布局再手动布好时钟和电源然后尝试用不同策略分批自动布线普通信号。每次跑完记录一下绕线面积、过孔数量、DRC 错误数对比不同规则参数对结果的影响。多跑几次你对自动布线器行为规律的理解会越来越深。如果想要深入学习可以从可制造性设计DFM、信号完整性、电磁兼容几个方向继续拓展。电路能连通只是一个开始能稳定可靠地生产才是设计真正成熟的标志。希望这篇笔记对你有所启发收藏备用也好转发给正在啃布线的同事也好动起手来跑一版布线才是最好的学习方式。