ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Allegro异形焊盘设计:Shape Symbol从建库到生产全流程解析

Allegro异形焊盘设计:Shape Symbol从建库到生产全流程解析 做PCB设计这些年有一个坎几乎人人都得迈那就是异形焊盘。尤其是用Cadence Allegro 16.6做封装时遇到MOSFET的大散热焊盘、天线馈点、连接器固定脚这些不规则形状标准Padstack Editor里那几种几何图形根本搞不定。很多工程师在这里卡住要么硬着头皮用矩形焊盘凑合要么直接在板上画一块铜皮当焊盘用结果做出来的封装要么DRC报错要么干脆没法生成正确的Gerber。其实Allegro里早就有专门解决这个问题的工具就是Shape Symbol。Shape Symbol说白了就是给异形焊盘做一个“形状模具”。先用Shape Symbol把铜皮的轮廓画出来然后在Padstack Editor里调用这个文件Allegro就会把这个形状当作焊盘的真实几何外形去处理。这样一来异形焊盘能正常布线、铺铜、扇出、跑DRC还能正确输出阻焊层和钢网层和普通圆形方形焊盘没有任何区别。这篇文章我会把整个流程完整走一遍从创建Shape Symbol、绘制铜皮轮廓到集成进Padstack、放进封装、最终落地到PCB中间涉及的层设置、正片负片区别、Flash符号、常见报错排查都会讲到。适合正在被异形焊盘折磨的封装工程师也适合刚接触Cadence、想搞明白Allegro封装体系的新人。1. 为什么异形焊盘绕不开Shape Symbol1.1 标准Padstack Editor的能力边界先说说Allegro Padstack Editor默认支持的焊盘形状圆形Circle、方形Square、椭圆形Oblong、矩形Rectangle以及它们对应的热焊盘Thermal Relief和反焊盘Anti-Pad。看到这个列表你就明白它只支持“规则几何图形”。可实际项目里焊盘的需求远不止这几种。举几个最常见的例子大电流MOSFET比如D-PAKTO-252、D2-PAK这类封装中间那个散热焊盘往往是一大块带圆角、切角、甚至缺口的铜皮只靠矩形根本复现不出来。天线馈点焊盘很多射频模块要求焊盘形状和天线铜皮的轮廓完全贴合形状不规则是常态。连接器的固定脚有的厂商会在规格书里给出一个带圆弧和多段直线的焊盘外形这种设计对机械强度有帮助。FPC软板的金手指焊盘有的也不是简单矩形而是有倒角的梯形或者弧形。这时候如果你硬用矩形圆形去拼会出现几个问题多个Padstack叠加会带来DRC冲突机械层、阻焊层、钢网层的形状很难完全对齐后续调Gerber也容易出幺蛾子。1.2 异形焊盘的三种“野路子”和一劳永逸的做法很多工程师在拿到异形焊盘需求时第一反应是“在板上画一块Shape铜皮不就行了”或者“用多个Padstack拼一个形状出来”。这两种方式能不能用能用但都有坑。第一种直接用Shape画铜皮当焊盘。在PCB板上用Add - Shape画出来的铜皮本质上是一个“铺铜区域”它没有焊盘属性没有焊盘编号、不能直接挂网络到器件引脚、不会自动生成阻焊层和钢网层。你手工补阻焊开窗之后DRC经常报“Pin to Shape”之类的间距问题Gerber倒是能出但飞线显示、仿真、装配图都会很别扭。第二种用多个Padstack拼接。比如一个大焊盘用“两个矩形一个圆形”拼出来每个子焊盘都有独立的Padstack名称网络虽然都能连上但是焊接时是一整块铜你没法在一个Padstack里统一设置阻焊、钢网、热焊盘后续如果出钢网层还得手动合成非常不优雅。真正符合Allegro设计哲学的做法就是利用Shape Symbol。打个比方Shape Symbol就是一个“模具”Padstack Editor这个“冲压机”拿着模具一冲焊盘的形状就出来了。所有引用这个Padstack的焊盘自动拥有这个形状而且焊盘应有的属性一样不少。实际上Allegro内部处理这类焊盘时会把Shape Symbol的轮廓当成焊盘的“Geometry外形”来计算参与连线、铺铜、DRC、光绘输出都按正常焊盘逻辑走。1.3 Shape Symbol在Allegro设计体系中的位置Cadence是个大套件里面包含原理图工具OrCAD Capture、PCB设计工具Allegro PCB Editor、仿真工具等。大家口里说的“Cadence画PCB”通常指的就是Allegro PCB Editor这是两个概念别搞混。在Allegro的封装设计体系里有几个容易混淆的Symbol类型Package Symbol元器件封装本体比如一个0805电阻的焊盘丝印位号。Mechanical Symbol纯机械结构比如板框、定位孔。Format Symbol图框、标题栏。Shape Symbol专门用来定义异形焊盘或异形Flash热焊盘的图形文件。Shape Symbol文件本身不参与PCB装配它只会被Padstack Editor调用。一个异形焊盘在文件系统里的依赖关系大致是Shape Symbol.ssm - Padstack.pad - Package Symbol.dra/.psm - PCB设计文件.brd。理解了这条链路你就明白为什么Allegro能做到“改一个Shape Symbol全板所有用这个Padstack的焊盘统一变形状”的效果。当然实际工程中这种全局联动要小心因为PCB里引用的Padstack数据是“拷贝”进去的改完库文件后板内的焊盘不会自动更新需要手动替换这一点后面会专门讲到。2. 从零到一异形焊盘建造全流程2.1 前期准备与工程设置在开始画Shape Symbol之前先把环境准备好。我用的版本是Allegro 16.6后续所有操作都在这个版本下演示但原理同样适用于15.x、17.x等版本只是菜单名称略有差异。打开Allegro PCB Editor选择File - New在Drawing Type下拉菜单里选择Shape Symbol。这一步非常关键很多人新建文件时习惯性地选了Package Symbol结果Padstack Editor里引用不了这就是第一个坑。Drawing Name最好用有意义的命名比如“DPAK_PAD_4P5X2P5_R05”含义是D-PAK封装焊盘、长4.5mm、宽2.5mm、圆角R0.5mm。命名规范这件事值得多说两句PCB封装库的文件名就是你的“数据库索引”工程大了之后一个含混不清的命名会让你找库找到怀疑人生。接下来设置工作单位。在新建文件之前或之后都可以通过Setup - Design Parameter Editor或者直接按Setup - Drawing Size进入把Accuracy精度设置为4位小数Units选Millimeter。为什么用毫米因为绝大多数元器件规格书的尺寸标注都是公制4位小数对应0.0001mm精度足以满足常规制造要求。如果用Mil做单位遇到0.1mm这种尺寸换算会出现小数点后很多位容易出误差。还要注意原点Origin的放置。Shape Symbol文件本身没有固定的原点概念但Padstack Editor调用它时会把这个文件的坐标原点当作焊盘的几何中心。所以我的习惯是把Origin放在Shape Symbol中焊盘图形的中心位置这样后面在封装里摆Padstack时坐标对位会很舒服。2.2 画出焊盘的“骨架”铜皮轮廓设置完成后进入绘制环节。绘制异形焊盘铜皮的核心操作是Add - Shape - Solid Fill。这里要注意Shape Symbol文件不像PCB文件那样有一堆现成的“活动层”你需要先在Options面板里看清楚当前Active Class and Subclass是什么。以顶层焊盘为例Active Class要选ETCHSubclass选Top。这个“活动类”和“子类”的概念在Allegro里非常重要。所谓Class就是层的大类比如ETCH表示走线/铜皮层SOLDERMASK表示阻焊层PASTEMASK表示钢网层SILKSCREEN表示丝印层Subclass则是大类下的细分比如ETCH下面有Top、Bottom、Internal等。你做任何操作之前先看Options面板里当前激活的是什么Class和Subclass很多莫名其妙的问题都是因为画错了层导致的。选择Add - Shape - Solid Fill之后在Options面板里确认Active Class and Subclass ETCH/Top然后就可以用鼠标画图了。绘制异形轮廓时有几个实用命令要熟悉画直线段直接点击起点和终点Allegro默认会捕捉45度和90度方向按住Shift可以切换任意角度。画圆弧在绘图过程中点击右键选择Arc或Tangent Arc模式可以画圆弧过渡。画倒角有些版本可以直接用Fillet/Chamfer命令处理拐角但Shape Symbol里我更习惯直接在绘制时就规划好圆弧段。举个例子要画一个D-PAK散热焊盘的轮廓尺寸大概是长4.5mm、宽2.5mm左上角切一个45度倒角右下角倒R0.5mm圆角。步骤是这样从原点开始向右画一条4.5mm的水平线端点坐标大约在(4.5, 0)。向上画2.5mm垂直线到(4.5, 2.5)。然后在拐角处做R0.5的圆弧过渡可以利用右键菜单里的Fillet功能选中两条相邻边输入半径0.5。接着向左画水平线到左上角附近约(0.75, 2.5)然后画一条45度斜线把倒角切出来。最后向下闭合到原点。绘制完成后选中这个Shape在右键菜单里选择Done或者直接按鼠标中键结束。此时你会在屏幕上看到一个高亮的闭合区域这个区域就是后续焊盘的铜皮轮廓。注意Shape必须是闭合的。如果不闭合Allegro会报“Shape is not closed”之类的错误无法正常保存和使用。判断闭合的简单方法是点击这个Shape如果整块区域被高亮说明是闭合的有效Shape。2.3 配套层面一次配齐阻焊、钢网、禁止布线区很多人画完ETCH/Top的铜皮轮廓之后就直接保存了想着“反正Padstack Editor会设置Soldermask、Paste那些层”。这个想法大错特错。Shape Symbol文件里的ETCH轮廓只是“焊盘的导电铜皮”它不自动生成阻焊层和钢网层。Allegro在计算阻焊层开窗时要么用Padstack里的Soldermask几何定义要么用Shape Symbol文件里SOLDERMASK层的Shape图形。如果没有这个定义焊盘做出来就没有开窗板厂默认会给这块铜皮盖油那就废了。所以在Shape Symbol文件里我们需要针对同一个轮廓在多个ClASS下各画一遍ETCH/Top导电铜皮本体。SOLDERMASK/Top阻焊开窗层这个层表示“不要盖油”的区域。考虑到制造工艺阻焊开窗一般比铜皮大0.1mm到0.15mm也就是每边外扩0.05mm到0.075mm。这个值可以根据板厂能力调整常见做法是整体外扩0.1mm。PASTEMASK/Top钢网层这个层决定钢网开口大小。钢网开口一般比铜皮小0.1mm到0.2mm防止锡膏印刷时溢出到焊盘边缘之外导致贴片偏移。具体操作时画完ETCH/Top的Shape后切换到SOLDERMASK/Top重复一遍Add - Shape - Solid Fill但绘制时可以把轮廓整体外扩。Allegro里有个偷懒的办法先把ETCH/Top的Shape选中执行Edit - Shape - Outline然后逐段调整但这种方法对复杂形状不友好。我更推荐的做法是直接再画一次绘制时用窗口放大配合坐标保证每边均匀外扩。尺寸要求不严苛的场合直接在Options里设置Offset也不是不行但16.6版本没有一键偏移Shape的功能还是老老实实画。除了阻焊和钢网还可以考虑是否需要Route Keepout层。所谓Route Keepout就是禁止走线区域。对异形焊盘来说如果希望这个焊盘周围一定范围内不允许其他网络的走线进入可以在ROUTE KEEPOUT/Top层画一个比铜皮稍大的闭合区域。这个看具体需求对焊盘本身不是必须的但在电源板上处理高压间距时很实用。还有一点有些异形焊盘需要开散热孔或者阵列过孔比如D-PAK焊盘上打几个过孔来辅助散热这些过孔通常在封装阶段就要摆好。虽然过孔本身不归Shape Symbol管但你在Shape Symbol里预留过孔的位置是有必要的否则焊盘铜皮画得满满当当过孔打下去一会儿和Shape冲突一会儿又连不上很麻烦。我的习惯是在Shape Symbol的绘制阶段就先标出过孔阵列的焊盘中心点坐标但不要真的放进去Shape Symbol里只有图形不放Padstack。2.4 保存与命名规范画好ETCH、SOLDERMASK、PASTEMASK这几层的Shape之后选择File - Save As保存为Shape Symbol格式。16.6版本的Shape Symbol文件后缀一般是.ssm老版本可能是.sf但Allegro在调用时并不太关心后缀关键是文件格式要对应。保存路径不要用中文目录不要有空格这是Allegro多年来的硬性要求。整个工具链对中文路径支持很差一旦路径里有中文轻则文件读不出来重则整个工程崩溃。如果你的库目录只有一个中文路径选项宁可先在英文路径下建库后面再拷贝。命名规范我重复一遍用“封装名特征尺寸”的结构比如“DPAK_PAD_4P5X2P5_R05”。尺寸建议用毫米数值省略小数点比如4.5mm写成4P52.5mm写成2P5。这样别人看到文件名就知道这个焊盘大概长什么样不用打开文件去猜。3. Padstack Editor集成把Shape变成真正焊盘3.1 新建或修改Padstack正确指定Shape SymbolShape Symbol保存好之后下一步就是打开Padstack Editor把这个形状“安装”到一个Padstack上。进入Padstack Editor有两种方式一种是独立的Padstack Editor程序Start - Programs - Cadence - Padstack Editor另一种是在Allegro PCB Editor里通过Tools - Padstack - Modify Design Padstack来修改当前设计里的焊盘。我推荐用独立编辑器新建Padstack逻辑更清晰。打开Padstack Editor后新建一个Padstack。首先确定焊盘类型表贴Surface Mount还是通孔Through Hole。异形焊盘大多数是表贴比如MOSFET散热焊盘、天线焊盘如果是连接器固定脚那种需要过孔的要选Through Hole。在Layer窗口里选择要定义的层比如BEGIN LAYER顶层然后在下方的Geometry类型里选择“Shape Symbol”。此时旁边的Shape Symbol选择框会被激活点Browse找到刚才保存的.ssm文件。选进来之后你会发现几何图形预览区域显示出了你画的异形轮廓这一步就说明Shape Symbol被正确引用了。这里有一个细节Padstack Editor里一个焊盘的层定义是“按需定义”的。对于顶层表贴焊盘BEGIN LAYER定义成Shape Symbol之后SOLDERMASK_TOP层也要定义同样可以选成Shape Symbol并指定同一个或不同的.ssm文件。如果你的阻焊开窗尺寸和铜皮不一样你可以在Shape Symbol文件里做两个不同的Shape一个用于ETCH一个用于SOLDERMASK然后在Padstack Editor里分别指定。对于正片走线层正片是默认的布线铜层焊盘几何就是铜皮实际形状Shape Symbol在这里直接生效。对于负片层电源/地平面层通常用负片焊盘表现取决于Thermal Relief热焊盘和Anti-Pad反焊盘设置这一点在下一节细讲。3.2 热焊盘与反焊盘设置电源/地层的正确打开方式很多工程师在Padstack Editor里设置完Shape Symbol之后发现板内电源平面层上异形焊盘连不上铜皮或者飞线明显不对原因多半出在负片层的设置上。负片层的工作方式和我们日常画的正片不一样。正片是“画什么就是什么”有铜的区域就是铜。负片相反它是一个孔的窗口概念默认整层是铜你在负片上画的“形状”其实是铜的缺失区域。所以对于负片层上的异形焊盘你不能简单地把BEGIN LAYER的Shape Symbol套用过去而需要单独设计Thermal Relief热焊盘和Anti-Pad反焊盘。Thermal Relief的作用是让焊盘与铜皮形成“十字花”连接这样焊接时热量不容易被整块铜皮吸走。对于普通圆形/方形焊盘Allegro内置了几种花孔图形可以选。但对于异形焊盘内置的图形往往对不上这时候就需要做Flash Symbol。Flash Symbol也是一种Symbol类型本质上是一个“热焊盘形状”它定义了负片层上焊盘与铜皮的连接开口。创建Flash Symbol的方式和Shape Symbol类似新建Drawing Type选Flash Symbol然后画一个闭合的异形轮廓通常在内部留出缝隙/开口让铜皮能“抓”住焊盘。画好Flash Symbol后在Padstack Editor的电源/地层通常是INTERNAL或PLANE层里把Positive/ Negative设置为Negative然后Thermal Relief的Geometry选Flash Symbol指定刚才保存的文件Anti-Pad一般比焊盘外形大一点用Shape Symbol或简单几何都可以。说实话Flash Symbol这一步是异形焊盘设计里最容易被忽略、也最容易出问题的环节。如果你只是做单面板或双面板不涉及负片电源层可以暂时跳过但如果做多层板负片内层离不开它。我在实际项目里见过不少起板回来发现内层焊盘脱离铜皮、全靠过孔连接的案例罪魁祸首就是负片层没有做好热焊盘连接。3.3 阻焊、钢网与通孔参数的协同设置Padstack Editor里除了BEGIN/END、内层这些导电层的几何定义还有SOLDERMASK_TOP/BOTTOM和PASTEMASK_TOP/BOTTOM层的定义。对于已经用Shape Symbol的焊盘这些层同样可以指定为Shape Symbol或Flash Symbol。SOLDERMASK_TOP阻焊开窗。如果Shape Symbol文件里已经画了比铜皮大0.1mm的开窗ShapePadstack Editor里直接引用同一个或对应文件即可。也可以不引用Shape而用“Regular Pad Expansion”的方式即让阻焊比导电几何外扩一定值。但异形焊盘用“Regular Pad Expansion”效果不好因为“外扩”是对整个几何做等距Allegro对非规则Shape的外扩处理可能不精确。还是建议在Shape Symbol文件里单独画一个SOLDERMASK层轮廓这样阻焊形状完全可控。PASTEMASK_TOP钢网层。同理在Shape Symbol文件里画一个比铜皮小0.1mm的轮廓Padstack Editor里引用即可。如果你做的是通孔异形焊盘还需要设置Drill参数包括钻孔尺寸、钻孔公差、背钻选项等。通孔异形焊盘在Allegro里不如表贴那么常见但比如有些大电流端子孔是方形的通过多个钻孔合成或者激光切割这时用Shape Symbol同样可行只是Drill窗口需要匹配实际钻孔情况。设置完成后保存Padstack文件。文件后缀一般是.pad命名方式和Shape Symbol对应比如“DPAK_PAD_4P5X2P5_R05.pad”。保存时如果提示“Warning: Padstack is using shape symbol …”这是正常的引用提示不是错误。4. 实战流程D-PAKTO-252MOSFET焊盘搭建4.1 封装需求分析理论讲再多不如直接走一遍。我用最典型的一个案例来演示D-PAKTO-252封装的MOSFET。这种封装在电源电路里非常常见三个引脚标准矩形中间有个大的金属散热焊盘。散热焊盘的典型尺寸是4.5mm x 2.5mm边缘不是纯直角有的厂家规格书上标注右下角有R0.5圆角左上角有45度倒角这就是“异形”的来源。D-PAK封装在Allegro里的实现需要三个Padstack两个或三个引脚的Padstack标准矩形表贴焊盘比如1.2mm x 0.8mm具体看规格书间距比如1.27mm。中间散热焊盘Padstack用Shape Symbol定义铜皮轮廓也就是我们前面画的4.5mm x 2.5mm带倒角圆角的形状。引脚Padstack是常规操作这里不展开。核心是第二个散热焊盘Padstack它依赖Shape Symbol文件和Padstack文件两个库文件。4.2 三步实现完整封装按照前面第2章的流程先把散热焊盘的Shape Symbol做出来ETCH/Top画铜皮轮廓SOLDERMASK/Top画外扩0.1mm的开窗轮廓PASTEMASK/Top画内缩0.1mm的钢网轮廓。保存为“DPAK_PAD_4P5X2P5_R05.ssm”。然后在Padstack Editor里新建一个表贴PadstackBEGIN LAYER选择Shape Symbol并关联这个.ssm文件SOLDERMASK_TOP、PASTEMASK_TOP也分别关联。同时确保层设置里只定义顶层相关层因为D-PAK散热焊盘是表贴顶层焊盘不需要内层和底层定义如果PCB设计用到多层Shape Symbol焊盘在内层通常也会以正片形式出现这点要看实际叠层。保存为“DPAK_PAD_4P5X2P5_R05.pad”。接下来打开Allegro Package Symbol编辑器新建Package Symbol或者直接新建Package Symbol wizards里选择BGA/QFP等向导但我们这里手动建把引脚Padstack和散热焊盘Padstack都放进来。步骤是这样的放置散热焊盘选择Layout - Pins在Options里找到Padstack选择器选中“DPAK_PAD_4P5X2P5_R05.pad”然后把散热焊盘放在坐标原点0,0附近。因为Shape Symbol的Origin就在焊盘中心所以这里坐标对位非常准。放置引脚焊盘按规格书给定的间距把3个引脚Padstack放在散热焊盘的下方或者上方具体看丝印方向间距比如1.27mm第一个引脚中心在(-1.27, -1.8)之类的坐标。放置丝印、装配层、参考位号等这个属于封装常规操作不展开。摆放完成后用Setup - Outlines - Package Outline给封装外框定义好再把Silkscreen层的丝印、Ref Des、Assembly层的器件位号都补充完整。最后用Shape - Check和Tools - Reports检查一下封装是否有错误比如引脚间距、焊盘外框与Package Outline是否冲突。到这里一个带异形散热焊盘的D-PAK封装就完成了。你在元件库里看到的是一个“封装符号”它的引脚当中有一个是异形大焊盘其几何形状来自Shape Symbol。4.3 在PCB中检验并完成铺铜与规则设置封装建好后把它放置到PCB设计文件里才能真正验证可靠性。放入PCB后首选要检查飞线Ratsnest是否正确显示。由于散热焊盘是Shape Symbol定义的Allegro会把它当成一个正常焊盘对待所以飞线会从焊盘中心连出来。如果飞线指向不理想可以手动调整Ratsnest节点或者在Padstack里设置“Shape Symbol焊盘的连接点”但这个功能在16.6里比较弱通常靠调整飞线。接下来是铺铜环节。在Allegro里异形焊盘与铺铜的连接同样遵循网络规则。如果你想给散热焊盘所在的整块铜皮区域铺铜比如整个顶层要让散热焊盘与一大片地铜相连用Edit - Shape - Add或Z-Copy的形式画一块铺铜Shape网络设成和焊盘相同的网络Allegro会自动建立连接。这里就涉及到热词里提到的“铜皮优先级”问题。Allegro里Shape和Shape之间是有优先级的后画的Shape默认会覆盖先画的Shape或者根据层级关系来决定谁在谁上面。如果你在板上画了多个重叠的Shape一定要通过Edit - Shape - Outline或者菜单里的Shape Parameters检查它们的优先级。异形焊盘本身是一个焊盘不是Shape所以与铺铜Shape共存时通常不会冲突但如果焊盘周围你画了Route Keepout或者禁止铺铜区要确保这些Keepout的形状与焊盘的间距满足DRC规则。所谓“禁止铺铜区”正确的Allegro操作是画一个ROUTE KEEPOUT/禁止区域Shape放在ROUTE KEEPOUT层这样铺铜到这个区域就会避开。铺铜完成后做一次DRC检查。重点检查焊盘与相邻走线、焊盘与焊盘、焊盘与板框的间距。如果报错多数情况是Shape Symbol文件里画的轮廓与Padstack引用之间出现了尺寸偏差比如SOLDERMASK层比ETCH层小导致阻焊压线或者PASTEMASK层过大导致钢网与相邻焊盘短路。走完这一步异形焊盘就算真正“落地”了。后续就可以正常生成Gerber、钻孔文件、坐标文件把设计交给板厂。5. 实操中绕不开的坑常见问题与排查实录5.1 异形焊盘相关故障速查表为了让有相似问题的人快速排查我把这些年见过的典型问题整理成了一张表症状可能原因解决方法Padstack Editor里找不到Shape Symbol文件文件类型不对或保存为Package Symbol重新File - New选择Shape Symbol保存为.ssm焊盘无飞线/无法分配网络焊盘没有Pin属性或Padstack未正确引用在封装里确认Padstack放置重新生成网络阻焊层没有开窗板厂盖油Shape Symbol里没画SOLDERMASK层的Shape回到Shape Symbol补画SOLDERMASK层轮廓负片内层焊盘与铜皮不连接负片层Thermal Relief设置缺失或Flash符号错误创建Flash Symbol在Padstack的负片层指定焊盘周围DRC报间距冲突阻焊或钢网层尺寸过大或Route Keepout误设核对各层Shape大小调整扩展量Shape Symbol修改后PCB里焊盘没变PCB引用的是拷入的Padstack不自动联动用Tools - Padstack - Refresh/Replace更新保存Padstack时报“Shape is not closed”ETCH层铜皮Shape未闭合检查Shape闭合状态重新封闭5.2 几个我踩过的坑第一个坑是自己刚学的时候踩的。那时画Shape Symbol只画了ETCH/Top层的铜皮没有画SOLDERMASK和PASTEMASK结果板子回来焊盘上全被绿油盖住根本没法焊接。后来在板厂退货反馈单上看到“焊盘盖油”才意识到Allegro区分导电层和非导电层Shape Symbol里的每个Class都要单独画。从那以后我给自己定了个规矩Shape Symbol文件里ETCH、SOLDERMASK、PASTEMASK三个层的Shape必须一次画齐缺一个都不保存。第二个坑是“负片层连接不上”。有一回做四层板内层电源平面用负片MOSFET的异形散热焊盘在内层怎么都连不上内层铜皮明明和焊盘区域重叠但DRC就是报错。查了一圈发现是Padstack里内层设置成了正片Positive没有设置Thermal Relief。Allegro对每个层是正片还是负片有独立开关你在Padstack Editor里如果没定义内层默认可能是正片处理但内层铜皮是负片两边对不上自然连接失败。后来老老实实建了Flash Symbol把内层设为负片Thermal Relief指过去问题解决。第三个坑很多人都遇到过Shape Symbol文件修改保存后PCB设计里用这个Padstack的焊盘居然没有任何变化。Allegro在放置Padstack时其实是把Padstack数据“拷贝”到了板内后续修改库文件不会自动反馈到已放置的焊盘。你必须用Tools - Padstack - Modify Design Padstack或Refresh功能手动把原Padstack替换成新版本。早期我不知道这个特性改完Shape Symbol就重新投板结果板子还是旧形状白白浪费一轮打样周期。第四个坑是关于飞线方向的。异形焊盘的飞线默认从焊盘中心出来但对于一个很扁的大散热焊盘中心点可能在离引脚很远的位置飞线看起来会穿过大片铜皮视觉上很别扭。好在可以在UI里手动拖动Ratsnest节点或者用Rules-Net-Assign的Ratsnest Logic调整。虽然不是致命问题但在大板子上飞线布局混乱时很影响效率。5.3 设计规则检查与生产输出前检查最后的最后生产输出之前一定要做一轮完整的检查重点看这几项各层Shape尺寸关系。ETCH铜皮、SOLDERMASK开窗、PASTEMASK钢网三者之间的尺寸递增/递减关系要合理铜皮最小阻焊次之钢网最小或略小。别搞成阻焊比铜皮小那等于焊盘大部分被盖油。异形焊盘与丝印、装配层的关系。丝印千万不要压在焊盘上否则焊接时丝印油墨会污染焊盘影响可焊性。异形焊盘与板边、螺丝孔、定位孔的间距。散热焊盘往往是大铜皮如果离板边太近板厂分板时容易裂板或者铜皮剥离。过孔与异形焊盘的连接。如果散热焊盘上有过孔阵列确保过孔与焊盘同网络并且过孔类型合理否则焊接时锡膏从过孔漏到背面是常见不良。Gerber输出前的Artwork参数确认。Allegro输出光绘时需要确认Shape Symbol焊盘的填充方式filled or hollow这会影响最终光绘里焊盘的显示和板厂的处理。关于异形焊盘和铺铜还有个容易忽略的技巧。Allegro里Shape的“优先级”决定了多个重叠Shape的显示和优先级关系但其实在正片设计里焊盘本身不受Shape优先级影响它永远是“优先于Shape”被绘制和计算的。换句话说你不用考虑铺铜Shape会不会盖住异形焊盘Allegro会自动在铺铜时避让焊盘。你真正需要检查的是焊盘的“D码”在Gerber里是否正确导出以及阻焊层是否按预期开窗。把这些验证完异形焊盘就算彻底搞定了。6. 最后分享一点个人习惯这些年我用Shape Symbol做过散热焊盘、天线焊盘、连接器焊盘也见过不少同事在异形焊盘上栽跟头。如果让我总结一条最有价值的经验那就是把一个异形焊盘拆成“三个图形”来管理。铜皮图形放在ETCH层阻焊开窗图形放在SOLDERMASK层钢网开口图形放在PASTEMASK层三个图形比例大致是1 : 1.1 : 0.9控制在Shape Symbol文件里一次画完。这样做的好处是所有与这个焊盘相关的制造信息都集中在一个文件里改尺寸时三个层联动调整不会漏改某一个层。很多做封装的人只盯住ETCH的几何外形把阻焊和钢网当成“Padstack Editor里自动生成的东西”这恰恰是后面出问题的根源。Allegro毕竟是一套严谨到近乎苛刻的工具它不会替你脑补任何制造细节所有层的定义都需要你自己画清楚。你把Shape Symbol这个“模具”做精细了后面Padstack、封装、PCB、Gerber整条链路都会走得非常顺。
返回列表