ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Cadence Allegro过孔设置与放置的五个实战技巧

Cadence Allegro过孔设置与放置的五个实战技巧 很多人画板子的时候对Cadence Allegro里的过孔设置与放置都不太上心觉得不就是打个孔、换个层嘛。结果画到一半问题全冒出来想放via的时候下拉列表是空的、好不容易放上去一个过孔结果和铜皮连得奇奇怪怪、做高速板的时候缝合过孔只能用手一个个锤。这五个技巧就是我在Allegro里处理过孔设置与放置时最常用、最管用的经验今天一次性讲完。文中所有菜单路径基于16.6到17.4版本差异不会太大照着操作基本都能复现。1. 过孔Padstack设计一个孔的所有参数从哪里来1.1 通孔焊盘各层到底怎么填Allegro里任何一个过孔背后都有一个Padstack文件来描述它。你可以把Padstack理解成过孔的“身份证”孔径多大、焊盘多大、哪些层有盘、哪些层要挖空全部在这个文件里定义。很多工程师不用Padstack Editor直接在别人板子上Copy一个过孔来用这本身没错但如果不知道为什么这个孔挖了那么大的反焊盘后面调阻抗、调散热的时候就会很被动。打开Padstack Editor有两种方式如果你只是改一个已经放在板子上的过孔在PCB Editor里执行Tools Padstack Modify Design Padstack然后点一下版图里的过孔如果想新建独立的Padstack文件可以直接从系统菜单里打开Padstack Editor或者Tools Padstack Edit两者都可以。新建通孔时主要填三个地方Drill钻孔直径。这个参数直接决定过孔的成本和可加工性常规量产板最小机械钻是8mil0.2mm低于这个值很多板厂要加钱。Design Layers各层焊盘。通孔通常要关心TOP、Default Internal所有内层、BOTTOM每一层都有Regular Pad、Thermal Pad、Anti Pad三个关键参数。Soldermask阻焊开窗。如果过孔需要盖油这里就不能随便给开口如果过孔需要露铜散热开口尺寸要比焊盘略大。很多小白最容易犯的错是只填了Regular PadThermal Pad和Anti Pad全留空。这样在某些情况下虽然也能用但内层电源/地平面和过孔的关系会变得不可控一会儿全连接一会儿不连接DRC报错报得你怀疑人生。通常我建议只要是多层板三个Pad全部配齐不要偷懒。1.2 反焊盘和热焊盘的设计逻辑先解释一下这三个东西到底分别是干嘛的。Regular Pad是过孔和走线、铜皮发生电气连接时的实际焊盘尺寸Thermal Pad是连接大片铜皮时的花焊盘尺寸用来形成十字花连接Anti Pad是在平面层上给焊盘周围挖出来的隔离区防止焊盘直接短接到内层的铜皮。拿生活里的例子类比过孔像一根穿过多层楼的金属管道。Regular Pad是每层楼管口焊的法兰Thermal Pad相当于法兰上加了隔热垫Anti Pad则是法兰周围挖掉的一圈防火带防止管道热量把楼板烤糊也防止管道和楼板里的钢筋意外搭上。实际设计时这几个参数的经验值可以参考下面这张表单位是mil过孔类型钻孔直径Regular PadAnti PadThermal Pad外/内径典型用途10/1810182424/14BGA扇出、高速信号12/2212222828/16常规信号、电源走线20/3620364444/24电源过孔、大电流通道反焊盘不是越大越好。内层的电源平面要靠铜皮走电流你反焊盘挖得太大等于把平面掏成筛子电源回流路径被切断噪声自然就大。常规做法是反焊盘比Regular Pad大6~8mil板子叠层厚、层间距大的时候再适当放宽到10~12mil。改完Padstack文件以后还有一个特别容易忽略的步骤回到PCB Editor里执行Tools Padstack Refresh把版图里所有引用这个Padstack的过孔刷新一遍。我见过太多人改了Padstack文件结果板子上过孔还是老样子折腾半天发现是没刷新这种低级错误很耽误时间。2. 约束规则中的过孔白名单让工具替你把关2.1 在Physical约束中绑定过孔Allegro里放过孔不是无限放的。你在布线的时候按Shift左键系统能从哪些过孔里选完全由当前网络挂载的Physical Constraint决定。如果这个约束规则里一个过孔都没加你会发现Shift左键按了没反应这就是新手最常遇到的“放不了过孔”的根源。设置入口在Setup Constraints Constraint Manager。打开以后切到Physical页面左侧选Physical Constraint Set里面默认会有一个All Layers相关的规则通常叫DEFAULT。选中它双击Vias那一列会弹出一个Available Vias的窗口把你需要的Padstack从左边加到右边保存退出。这一步做完再进入布线命令Options面板里的Via下拉列表就只剩你授权的那几个过孔了。好处非常明显整个团队做同一个项目时过孔种类被规则锁死不会有人在角落里放一个奇奇怪怪的异形孔后续DFM检查、光绘输出都能省掉很多麻烦。2.2 网络覆写与规则的优先级关系一个板子上不可能所有网络用同一种过孔。DDR走线想用10/18的小孔电源网络恨不得用20/36的大孔普通信号用12/22刚刚好这时候就把所有网络塞到DEFAULT里显然不现实。正确做法是在Physical Constraint Set里新建几条规则比如PWR_VIAS、DIFF_VIAS然后通过Net Class把这些规则挂到对应的网络类别上。操作上并不复杂在Physical页面右键新建规则给规则重命名双击Vias列把该规则允许的过孔加进去切到Net Class页面把电源网络分配到PWR类并指定物理规则为PWR_VIAS这里有个很隐蔽的坑就是Allegro的规则优先级Net Level某个具体网络单独设置的规则优先于Net Class规则Net Class规则优先于DEFAULT规则。如果你给某个网络单独设置了Physical规则那个规则里忘了加过孔那么不管你在Net Class里怎么配这条网络还是放不了过孔。排查问题的时候先确认这个网络上是不是挂了一个独立的物理规则别一上来就盯着Class看。2.3 放置过孔时的实时DRC与Keepout避让绑定过孔之后还建议把约束管理器里的Physical Modes全部打开。这里有非常多的检查项比如Via Near Keepout、Via To Via、Via To Pin全部勾上以后实时DRC会在你移动过孔时立刻反馈是否合法。如果你的光标附近有禁止区、器件包围框或者过孔间距不够DRC会变红Allegro会拒绝放置这种情况千万不要硬放。把Options面板里的Snap to调整为合适的格点模式或者稍微挪一下位置DRC变绿再落孔。不少工程师做板子喜欢把实时DRC关掉觉得太吵等布完线再统一跑。我不建议这样。过孔的放置尤其依赖实时DRC因为你肉眼很难判断一个孔离旁边的钻孔是不是只有2mil等布完线再回来修位置可能已经挤不进去了。3. 放置过孔的几种高效手法从Shift左键到批量复制3.1 手工放置和快速换层的标准操作Allegro里最基础的过孔放置就是在布线过程中换层。这个操作流程是进入Connect命令先在Options面板里选好过孔类型然后在当前走线的端点位置点一下过孔会跟着光标出现此时按下Shift左键过孔落下布线层自动切换到对面继续走线。如果你已经有两段线布好了中间想加一个过孔把它们连起来不需要把线删了重走。选中其中一段在断点处使用Shift左键Allegro会自动补一个过孔进去两边线头自动连接。这个技巧在修线、补回流孔的时候特别常用。还有一个很细节但很有用的点放完过孔以后右键菜单里有Change Width可以在换层的同时直接把线宽改了。比如从电源层走线切换到信号层需要从20mil变到5mil就不用先放孔、再改线宽、再走线放孔的瞬间就能完成。3.2 Copy和阵列复制同类过孔一次搞定当你需要打一排完全相同的过孔——比如给8对差分线补回流地孔或者给电源模块的输入输出打一排滤波过孔——手动一个一个放就很浪费生命了。Allegro的Copy命令可以帮你在几秒钟内生成整齐的过孔阵列。操作路径是Edit Copy选中源过孔后在Options面板里把Copy类型改成Rectangular然后输入X方向和Y方向要复制的数量以及间距点击目标位置一排过孔就自动生成了。这个功能支持矩形阵列也支持Polar极坐标阵列后者适合绕圆形板框打一圈屏蔽地孔。复制出来的过孔会自动继承源过孔的网络属性所以不需要二次分配网络。不过复制完成后建议用Tools Padstack Replace这类功能统一检查一下防止有漏选或者错位。3.3 全局替换过孔项目后期的一键换型有时候板子画到一半工厂反馈某个过孔规格做不了或者为了降成本要把全板的盲埋孔改成通孔这时候不可能手动一个一个换。Allegro提供了一个全局替换功能Tools Padstack Replace。在弹出的对话框里Find面板先勾选Vias然后指定源Padstack和目标Padstack点击Replace所有符合条件的过孔就会被替换成新Padstack。用这个功能之前记得确认目标过孔在当前网络的Physical约束白名单里否则Allegro会因为规则限制拒绝替换或者替换后DRC红成一片。全局替换的另一个好处是它可以保持过孔的网络属性、坐标位置不变只是换个头衔。这让它在DFM阶段非常实用。4. 过孔阵列与缝合高频板上的屏蔽墙和回流通道4.1 什么是Via Stitching什么时候需要它在射频板、高速数字板里过孔的作用远不止换层。一圈密集的地过孔可以形成金属栅栏把板内的电磁辐射锁在局部区域高速信号换层点旁边打几个回流过孔能为返回电流提供低阻抗路径减小环路面积。这就是缝合过孔Via Stitching的用途。很多工程师把缝合过孔理解成“随便打一圈地孔”实际上间距是有讲究的。射频设计里有条经验规则过孔间距要远小于工作波长工程上常用λ/20作为上限。比如2.4GHz频段的波长大约是125mmλ/20差不多6.25mm也就是246mil所以间距控制在100~200mil完全没问题。到了毫米波频段间距要求会严苛很多得靠仿真来确定。高速数字板不一定要按波长算更常用的规则是看回流路径信号换层点的两侧100~150mil范围内至少各有一个GND缝合过孔DDR这类并行总线区域要保持地孔密度确保每条信号线附近都有就近的回流路径。4.2 在Allegro中快速创建过孔阵列Allegro可以自动在一片铜皮区域内铺满过孔。操作方式是选中有网络的动态铜皮Shape右键选择Create Via Array。在弹出的对话框中可以设置阵列的排列方式X/Y等间距或极坐标、行列数、间距、以及过孔距离铜皮边界的偏移量。如果你用的是较新版本的AllegroRoute菜单下还会有专门的Via Stitching工具可以自动在几块同网络的铜皮之间生成一排缝合过孔把两片铜皮牢牢缝在一起。找不到这个入口的话也不用慌用Copy的Rectangular阵列功能手动实现效果差不多。参数上我给几个常用值过孔到铜皮边缘的偏移量建议10~20mil避免DRC报错缝合过孔之间间距取100~200mil数字板板边屏蔽孔可以密到50~100mil过孔类型直接用常规信号孔就行缝合过孔不承担大电流没必要用大孔。4.3 阵列生成之后的清理与避让Create Via Array一键生成的过孔看着很爽但也容易出问题。Allegro对异形铜皮的裁剪能力有限有时候过孔会生成到器件下面、Keepout区域里甚至跑到板框外面。我的习惯是在生成阵列之前先把禁止区Setup Areas Keepout画好让DRC实时盯着生成阵列之后再跑一次Tools Design Rule Check专门查Via to Keepout这类错误发现红点就手动删除。另一个容易被忽略的问题是过孔密度过高。有些工程师觉得缝合孔越多越好结果整片铜皮被过孔打成了蜂窝煤平面的载流能力和完整性反而被破坏。保持合理的间距比盲目堆密度更重要。5. 过孔与铜皮的连接方式散热与大电流场景下的取舍5.1 热焊盘、花焊盘、全连接到底由谁控制过孔放进板子里以后它和周围铜皮怎么连接很多工程师根本说不清。实际上这个行为由两个层面共同控制。第一层是Padstack文件里的Thermal Pad和Anti Pad。如果Thermal Pad有值动态铜皮连接到这个过孔时会自动生成十字花连接如果Anti Pad很大那么铜皮在过孔周围会被挖空形成隔离岛。第二层是Shape连接方式。入口在Setup Design Parameter Editor Shape可以选择Solid全连接或者Thermal Relief花焊盘连接也可以针对不同网络单独设置。具体取舍逻辑是这样的电源、地过孔推荐全连接减小直流电阻。花焊盘虽然好看但会把过流能力砍掉两到三成。普通信号过孔默认用花焊盘方便焊接和返修焊锡更容易流进去也能避免大面积铜皮把热量快速带走造成虚焊。大电流路径上的过孔必须全连接同时保证过孔数量足够。5.2 大电流过孔阵列与散热设计功率器件比如DC-DC的MOS管、LED驱动芯片经常需要过孔把顶层热量导到背面的大面积铜皮上。这时候的过孔是热通道不是信号通道。具体做法是在焊盘上或焊盘旁边放8~12个过孔孔径10~12mil间距30~50mil过孔的顶层和底层都要有Regular Pad中间层可以用Anti Pad隔离。如果中间层有地平面这些过孔还能把热量进一步传导到内层散热效果更好。另外要提醒一点制板时过孔孔壁的镀铜厚度决定了导热能力常规1oz铜厚和2oz铜厚的热阻差了不少。做大电流散热孔之前先和板厂确认孔壁铜厚能不能加厚不要等板子回来才发现热得压不住。盖油和塞孔也是过孔后期处理的重头戏。过孔盖油的本质是让阻焊油把过孔盖住防止焊锡从孔里漏到另一面。在Allegro里Padstack中Soldermask_Top和Soldermask_Bottom不设置开口或开口设为零就能实现盖油。塞孔则是用油墨把孔填平工艺更复杂BGA焊盘内的过孔通常要求树脂塞孔加电镀盖帽否则焊接时焊锡会顺着孔流走虚焊率直线上升。5.3 铜皮优先级对过孔连接的影响Allegro里还有个很隐蔽的影响因素——铜皮优先级。当两片不同网络的动态铜皮重叠时后画的Shape通常优先级更高这会直接干扰过孔到底连到哪片铜皮上。如果你发现某个地过孔明明放在GND铜皮上DRC却报它连到了电源铜皮先别急着怀疑Padstack多半是旁边有一片重叠的电源Shape优先级更高把GND铜皮盖住了。解决办法是选中铜皮右键调整Shape优先级或者用Z-Copy在重叠区域挖空让两个网络不要叠在一起。6. 放置过孔后的检查链条与常见报错6.1 “放不了过孔”的完整排查路径我整理了一个排查链条遇到过孔相关的问题按照这个顺序走一遍基本都能定位现象最可能原因解决办法布线时Shift左键放不了过孔Physical约束规则中没有该PadstackConstraint Manager Physical Vias中加入目标过孔Options面板Via下拉列表为空网络的物理规则没有指派可用过孔检查Net Class和Net Level规则是否匹配过孔放在铜皮上却不连接铜皮是静态Shape且未Assign Net或Anti Pad过大改动态Shape并Assign Net或检查Padstack参数过孔替换后网络丢失Replace时Find面板勾选了多余对象只在Find面板勾Vias不要选Pin/ClinesVia Array生成的过孔报DRC过孔落在Keepout或板框边界先画Keepout再生成阵列最后跑DRC清理第一步永远是查约束规则。Allegro里80%的过孔放置问题根子都在Physical Constraint的Vias列表没配好。6.2 DRC检查和光绘前的最后确认过孔放完以后至少要做两件事收尾。第一进入Setup Constraints Modes把所有Via相关检查Via Keepout、Via To Via、Via To Pin等打开跑一遍全板DRC红点逐个清掉。第二出光绘之前在Manufacturing Artwork里确认钻孔符号表已经更新否则Gerber文件里可能缺钻孔符号板厂那边会给你打回来。如果你用过孔盖油的Padstack在输出光绘的时候还要注意阻焊层数据。很多时候你明明在Padstack里设置了盖油Gerber里却还是开窗就是因为光绘输出时阻焊层包含了过孔焊盘开口。这种问题找板厂确认工艺的时候一定要说清楚你的设计意图是盖油还是开窗不要只说“帮我盖一下”。6.3 关于动图演示的文字版说明标题里写了附GIF演示但平台这边动图不太好嵌我在上面每一节里已经把鼠标操作路径、菜单位置、快捷键都拆开写清楚了。对着文字一样能操作就是需要耐心一点。想真人视频教学的可以按文中提到的菜单名去搜17.4和16.6的操作逻辑一致无非是界面位置稍微挪了挪。实在卡住了用“Options面板变灰”“DRC报红”“放不了过孔”这类现象去搜比死记菜单名有效得多。我在实际项目中养成的习惯是画板之前先花10分钟把Padstack和约束规则全部定义好后面布线基本上不会被过孔问题打断。过孔这东西看着不起眼但它同时影响信号质量、电源完整性、可制造性和散热属于典型的“小零件大讲究”。希望这5个技巧对你有帮助如果你碰到过孔相关但这里没提到的坑也欢迎一起讨论。
返回列表