
1. 项目概述从规则到走线AD20 PCB设计的核心实践最近在论坛和群里看到不少朋友在讨论Altium Designer 20简称AD20的PCB设计特别是关于设计规则的设置和手工布线这两个核心环节。很多人觉得规则设置太繁琐或者手工布线时总感觉不顺手出来的板子要么DRC设计规则检查报错一大堆要么电气性能和美观度总差那么点意思。这其实非常正常PCB设计本身就是一门平衡的艺术需要在电气规则、物理限制、生产工艺和设计效率之间找到最佳结合点。AD20作为一款功能强大的主流EDA工具提供了极其细致的设计规则系统但能否用好它直接决定了你设计的板子是“能工作”还是“优秀可靠”。我自己在从AD09、AD16一路用到现在的AD20踩过不少坑也总结了一些心得。这次就想围绕“设计规则设置”和“手工布线”这两个主题结合AD20的一些新特性和实用技巧和大家深入聊聊。无论你是正在学习的学生还是刚开始接触硬件设计的工程师希望这篇笔记能帮你建立起清晰、高效的PCB设计工作流避免一些常见的“坑”让设计过程更顺畅设计结果更专业。我们不止要“连通”更要追求性能、可靠性与可制造性的统一。2. PCB设计规则系统深度解析与配置策略设计规则Design Rules是PCB设计的“宪法”它定义了电路中所有元素如导线、过孔、焊盘、铜皮之间以及它们与板框等物理对象之间必须遵守的间距、尺寸等约束条件。在AD20中规则系统更为强大和直观但初次面对密密麻麻的规则树很容易让人不知所措。合理的规则设置是高效、正确完成布线的前提。2.1 规则分类与核心规则详解AD20的设计规则管理器Design - Rules将规则分为多个类别。对于大部分板卡设计我们需要重点关注以下几类1. Electrical电气规则这是保证电路正确工作的基础。Clearance安全间距规则这是最重要的规则之一定义了不同网络、相同网络的不同对象之间的最小间隔。设置不合理会导致短路或耐压不足。设置逻辑通常设置一个全局默认值如6mil或0.15mm。对于高压、大电流部分需要单独创建规则设置更大的间距如电源网络之间设置20mil。在AD20中可以利用“查询构建器”Query Builder或直接输入查询语句如InNet(VCC)来精准定位需要特殊规则的对象。避坑技巧注意区分“Different Nets Only”仅不同网络和“Same Net Only”仅相同网络的选项。对于相同网络过孔和焊盘、导线和焊盘之间的间距可以设置得更小甚至为0以方便连接。2. Routing布线规则Width导线宽度规则定义不同网络导线的宽度。电流大小决定线宽可以参考IPC-2152标准或在线线宽计算器。实操设置为电源网络如VCC、GND设置较宽的线宽如20-40mil为信号网络设置默认线宽如6-10mil。AD20支持设置最小、首选、最大宽度布线时会首选“首选宽度”。经验之谈对于数字信号线如时钟、数据线在空间允许的情况下适当加宽如8-12mil可以降低阻抗提高可靠性但要注意与间距规则的平衡。Routing Via Style过孔样式规则定义过孔的尺寸。过孔孔径Hole Size和焊盘直径Diameter需要根据板厂工艺能力和电流需求确定。常用尺寸普通信号过孔常用8mil/16mil孔径/焊盘直径。电源过孔需要更大如12mil/24mil或更大。务必咨询PCB板厂的“工艺能力表”确保你的过孔尺寸在其生产能力范围内。3. Manufacturing制造规则Hole To Hole Clearance孔到孔间距防止钻孔时钻头打滑导致孔壁破损。一般设置为板厂要求的最小值如8mil。Minimum Solder Mask Sliver阻焊桥最小宽度防止阻焊油墨在焊盘之间过细而断裂。通常设为3-4mil。Silkscreen Over Component Pads丝印与焊盘间距防止丝印印到焊盘上影响焊接。通常设为2mil以上。4. High Speed高速规则如有需要Matched Net Lengths等长线规则用于DDR、高速差分线等需要时序匹配的场景。这是AD20的强项可以设置目标长度和公差。Differential Pairs Routing差分对布线规则定义差分线的线宽、间距和耦合方式。必须优先设置好差分对标识规则才能生效。重要提示规则设置不是一次性的工作。建议在项目初期设置一个基础规则模板在布局布线过程中根据实际情况如遇到瓶颈、发现新的电气需求随时返回规则管理器进行微调和优化。养成“规则驱动设计”的习惯。2.2 规则优先级与查询语句的灵活应用AD20的规则应用遵循优先级Priority机制。当同一个对象被多条规则覆盖时优先级数字小的规则通常1为最高生效。这给了我们极大的灵活性。场景举例你有一个默认的线宽规则10mil但希望VCC网络用30milVCC网络中的一个特定芯片的电源引脚比如U1的第8脚因为出线空间狭窄暂时需要用15mil引出。创建规则Rule1名称“Power_Main” 查询语句InNet(VCC) 宽度设为30mil 优先级设为1。创建规则Rule2名称“Power_U1_Pin8” 查询语句InNet(VCC) And (Pad U1-8) 宽度设为15mil 优先级设为2比1低。默认线宽规则优先级设为3。这样U1-8这个焊盘会优先应用15mil的规则VCC网络的其他部分应用30mil的规则其他所有网络应用10mil的默认规则。熟练掌握查询语句支持And,Or,Not等逻辑运算符和对象属性可以实现像素级精准的规则控制。常用查询语句示例InNet(GND) 应用于GND网络。IsTrack And (Width 8mil) 查找所有线宽小于8mil的导线。OnLayer(Top Layer) 应用于顶层对象。(ObjectKind Via) And (HoleSize 20mil) 查找所有孔径大于20mil的过孔。3. 手工布线的核心思想、技巧与AD20高效操作设置好规则就像是修路前画好了车道线和交通法规。手工布线则是驾驶汽车将这些“道路”实际修建起来的过程。它不仅是简单的连接更是优化信号完整性、电源完整性和EMC性能的关键阶段。3.1 布线前的核心准备布局优化与扇出处理布局是布线之母。一个糟糕的布局会让布线变得极其困难甚至不可能。在动手布线前务必反复审视和优化布局。模块化布局将功能相关的电路如MCU及其外围、电源模块、接口电路聚集在一起模块内部优先连接再处理模块间的互连。关键路径优先优先放置和连接关键器件和线路如晶振、复位电路、高速信号线、电源路径。预留布线通道在器件之间留出足够的空间供导线通过避免后期“见缝插针”导致线绕远或间距不足。扇出Fanout处理特别是对于BGA、QFN等密集封装芯片在布线初期需要先将其引脚用短导线引出并打上过孔将信号引到内层或其他层。这个过程就是扇出。AD20技巧可以使用“交互式扇出”Tools - Fanout - Component功能让软件自动为选中的元件进行扇出然后再手动调整不满意的部分。对于BGA采用“狗骨头式”Dog-bone或“盘中孔”Via-in-Pad扇出是常见策略需要根据板厂工艺决定。3.2 交互式布线与快捷键的极致运用AD20的交互式布线Place - Interactive Routing或快捷键P - T非常智能是手工布线的核心工具。智能推挤与绕行在布线模式下当遇到已有走线或障碍物时按ShiftR可以循环切换推挤模式Push、绕行模式Walkaround和忽略模式Ignore。在拥挤区域“推挤”模式非常有用但可能影响已有布线“绕行”模式更安全。根据场景灵活切换。动态布线优化布下一段线后可以拖动线段或顶点进行优化。按住Ctrl键拖动线段可以保持角度进行移动。多线并布对于需要保持等间距的一组线如总线可以使用“多根导线布线”Place - Interactive Multi-Routing一次性布多根线极大提高效率并保证间距一致。快捷键是效率的灵魂*小键盘在布线过程中切换层并自动添加过孔。这是最常用的快捷键之一。2在布线过程中添加一个过孔根据规则但不换层。ShiftSpace循环切换走线角度模式45度、90度、任意角度、圆弧。Space在45度和90度模式时切换走线方向。CtrlClick在已完成布线的网络上单击可以高亮整个网络方便检查。Tab键在放置对象导线、过孔、器件时按Tab键可以调出其属性框进行实时参数修改。3.3 电源与地线的处理艺术电源和地线承载大电流需要低阻抗路径同时也是噪声耦合的主要渠道需要特别处理。加粗处理严格按照电流计算和规则设置对电源主线进行加粗。不要仅仅依赖自动布线或默认线宽。电源平面优先对于多层板尽可能为主要的电源和地分配完整的内部层平面层。利用平面层极低的阻抗特性为芯片供电。在AD20中可以通过“内电层分割”Place - Polygon Pour - Split Plane来在一个电源层上分配多个电压网络。星型连接与单点接地对于模拟电路或混合电路避免电源/地线形成环路。采用星型拓扑或单点接地将噪声敏感电路的回流路径分开。这需要在布局阶段就规划好。电源滤波电容的摆放“就近原则”是铁律。去耦电容必须尽可能靠近芯片的电源引脚放置其接地端到芯片地引脚的路径也要尽可能短以形成最小的环路面积。理想情况是电容直接在芯片背面对于贴片芯片。3.4 差分对与高速信号布线要点对于USB、HDMI、DDR数据线等差分信号或高速信号布线要求更为苛刻。差分对布线在原理图中将两根线定义为差分对Place - Directives - Differential Pair并导入PCB。布线时使用Place - Interactive Differential Pair Routing快捷键P - I。等长与等距布线过程中要尽量保持两根线平行、等长、等间距。AD20的差分对布线器会自动辅助。避免过孔尽量减少过孔如果必须打孔应两个信号线对称打孔。参考平面连续差分线下方必须有一个完整、无分割的参考平面通常是地平面且不要跨平面分割区。等长布线对于需要时序匹配的多根线如DDR的地址/控制线组数据线组使用“等长布线”功能Route - Interactive Length Tuning或U - L。策略先大致连接所有线然后运行“等长”命令通过添加蛇形线Accordion、Trombone、Sawtooth等样式来补偿较短的线路使其长度落在目标范围内。调整时注意蛇形线的振幅Amplitude和间距Gap要符合规则一般间距≥3倍线宽。4. 布线后的关键收尾检查、优化与生产文件输出布线完成并不意味着设计结束。严谨的检查和优化是保证设计成功投产的最后关卡。4.1 设计规则检查与电气连通性验证运行DRC执行Tools - Design Rule Check。仔细查看每一项报错Violations。不要忽略任何警告必须理解每一个错误产生的原因并决定是修改设计还是忽略如果是误报可能需要调整规则。常见的DRC错误包括间距不足、线宽违规、丝印上焊盘等。飞线检查确保PCB视图上没有任何飞线ratsnest残留。快捷键N - H可以显示/隐藏所有连接线。如果还有飞线说明有网络未完全连接。3D视图检查使用View - 3D Layout Mode快捷键3查看板子的三维效果。这是检查器件之间、器件与外壳之间是否存在机械干涉的绝佳方式。也可以检查焊盘、过孔的盖油情况。4.2 铺铜与优化铺铜Polygon Pour主要用于提供大面积的接地、电源连接并起到屏蔽和散热的作用。铺铜设置Place - Polygon Pour。关键设置网络Net通常连接到GND。铺铜样式Pour Over“All Same Net Objects”会覆盖所有同网络的焊盘和导线“Don‘t Pour Over Same Net Objects”则只填充空白区域通过“十字花焊盘”Thermal Relief连接便于焊接散热。移除死铜Remove Dead Copper一定要勾选移除没有电气连接的孤立铜皮。铺铜优化铺铜后边缘可能会产生很多尖锐的毛刺Antenna这些是潜在的EMI辐射源。可以使用Tools - Polygon Pours - Polygon Manager中的“重铺”功能或者手动用“铺铜修整”Place - Polygon Pour Cutout和“导线”工具对铺铜边界进行平滑修整。与走线的间距确保铺铜与信号线之间有足够的间距通常等于或大于线-线间距防止电容耦合。这通过Clearance规则控制。4.3 生产文件Gerber输出详解这是将设计交付给PCB板厂的最终步骤必须准确无误。生成Gerber文件File - Fabrication Outputs - Gerber Files。Layers标签页选择“Plot Layers”为“Used On”并勾选所有用到的机械层、丝印层、阻焊层、锡膏层等。在“Mirror Layers”中通常不勾选。Drill Drawing标签页生成钻孔图。Apertures标签页保持“Embedded apertures (RS274X)”被选中这是现代标准。Advanced标签页在“Leading/Trailing Zeroes”中选择“Suppress leading zeroes”抑制前导零这是国内板厂通用格式。其他保持默认。点击“OK”生成.Gx文件。生成钻孔文件File - Fabrication Outputs - NC Drill Files。格式设置与Gerber文件保持一致如单位、前导零。点击“OK”生成.TXT和.DRR文件。文件打包与检查将输出的所有Gerber文件.GTL,.GBL,.GTO,.GBO,.GTS,.GBS,.GTP,.GBP,.GMx等和钻孔文件.TXT打包成一个ZIP文件。强烈建议使用免费的第三方Gerber查看器如GC-Prevue、Gerbv或在线查看器打开这个ZIP包从板厂的角度检查每一层是否正确无误确认没有缺失层、层错位、孔径错误等问题。5. 常见问题排查与实战心得记录在实际操作中总会遇到一些“奇怪”的问题。这里记录一些典型场景和解决方法。5.1 布线与规则相关的典型问题问题明明空间足够但就是无法按照设定的线宽布线软件自动变细。排查检查当前布线的网络是否被多条线宽规则覆盖且优先级更高的规则设置了更小的线宽。检查布线层Layer的线宽规则是否被单独设置。使用PCB Rules and Violations面板Panels菜单下高亮显示规则应用情况。问题差分对布线时两根线无法保持等间距或者无法一起推挤。排查首先确认原理图中的差分对标识已正确导入PCB在PCB中Design - Classes里查看Differential Pair Classes。其次检查差分对布线规则Differential Pairs Routing中的“Min Gap”、“Max Gap”和“Preferred Gap”是否设置正确且未被其他更高优先级的Clearance规则覆盖。问题铺铜后某些信号线周围的铺铜被“掏空”得厉害或者与铺铜的间距忽大忽小。排查这是铺铜的“孤岛检测”和“避让”算法导致的。可以尝试调整铺铜的“Grid Size”和“Track Width”值在铺铜属性中将其设置得更小如Grid2mil, Track4mil这样铺铜的边缘会更平滑避让更精确但会增大文件大小和重铺时间。也可以手动放置“铺铜修整”区域来引导铺铜形状。5.2 性能与操作优化心得卡顿问题处理大板子或高密度设计时AD20可能会卡顿。除了升级硬件可以尝试关闭在线DRCTools - Design Rule Check取消勾选“Online”在铺铜管理器中将复杂铺铜的“重建模式”改为“手动”分层显示暂时隐藏不操作的层ShiftS切换单层模式。模板与复用将常用的规则设置如6层板通用规则、层叠结构、图纸模板保存为.PcbDoc或.PcbLib文件在新项目开始时直接调用可以节省大量重复劳动。版本管理PCB设计文件也应纳入版本管理如Git。AD20的本地历史记录功能有限。建议定期使用“智能PDF”输出功能File - Smart PDF生成带原理图和PCB视图的文档作为设计快照存档。手工布线是一项需要耐心和经验积累的技能。没有绝对“正确”的走线只有更“优”的方案。最好的学习方法就是多动手从简单的双面板开始遇到问题就查阅资料、思考规则、尝试调整。每一次解决DRC报错每一次优化出一条简洁漂亮的走线每一次看到自己设计的板子成功上电运行都是对这项技能最好的巩固和奖励。记住规则是你的护栏经验是你的导航而耐心则是抵达终点的燃料。