
Cadence 16.6这套工具里Pad Designer和PCB Editor是配合最紧密的一对组合前面的Pad Designer专门负责建焊盘后面的PCB Editor则把一个个焊盘按规格书坐标组合成完整的元器件封装。很多刚接触Allegro的工程师恰恰在这两步上绕了不少弯路。我见过太多人在群里问“为什么放置焊盘时总是找不到”“为什么封装画出来和原理图对不上”“为什么想删一个焊盘却删不掉”这些问题十有八九都跟没搞清楚焊盘、封装和原理图Symbol三者的关系有关。这篇文章我就把Pad Designer建焊盘、PCB Editor画封装这条线完整走一遍该讲的参数逻辑、该注意的细节、我踩过的一些坑都会写出来。不管你是刚接触Cadence 16.6的学生还是从其他EDA工具转过来的工程师按这个思路走一遍至少能省下好几个下午的摸索时间。1. 从焊盘到封装先搞清这两步在整个流程里的位置1.1 Cadence 16.6的拆分工具体系Cadence Allegro这套体系最特别的地方就是它把一个元器件“拆成”了三个文件来管理原理图Symbol、焊盘文件和封装文件。第一个负责逻辑功能定义管脚名称、管脚编号和电气类型只让原理图能看懂这个器件不关心它长什么样第二个是元件的物理接触点定义焊盘形状、尺寸、钻孔信息、阻焊开窗、钢网开口和热焊盘第三个是把焊盘放到规定坐标再画上丝印、装配层轮廓和占地约束形成一块完整的实体模型。这个分工方式会让从AD转过来的同事不太适应因为AD里“画一个封装”往往是把焊盘和封装一步到位。Cadence则强制你先理解焊盘是焊盘、封装是封装。我反而觉得这个设计更接近工艺本质焊盘决定焊接可靠性封装决定贴装精度。这两件事的关注点完全不同拆开反而更容易排查问题。焊盘文件可以复用同一个0603焊盘可以用在100多种电阻电容封装上标准化程度高管理起来也更清晰。在这个体系里文件后缀也值得记一下。原理图Symbol一般放在 .olb 库文件里焊盘文件是 .pad封装在编辑状态下是 .dra编译后生成 .psm真正能被PCB Editor调用的是 .psm。PCB板上放的每一个元件本质上都是调用了某个 .psm 封装再传入对应的 .pad 焊盘数据。你把这几个文件的关系理清了后面所有操作都不会乱。我见过太多项目后期出问题根源就是有人直接复制了一个封装文件却没把对应的 .pad 焊盘一起拷过去结果在另一个电脑上打开PCB半个板的元件焊盘都变成缺失状态。1.2 为什么必须先用Pad Designer建焊盘再画封装在PCB Editor里放置焊盘时它并不会真的“画”出焊盘而是去读取一个指定路径下的 .pad 文件把文件里定义的形状、尺寸、开窗信息复制到图纸上。如果你还没建焊盘或者路径没指定正确Allegro就会在命令行给出找不到焊盘文件的提示。换句话说PCB Editor只是一个“拼装工”真正的材料需要在Pad Designer里提前准备好。这个步骤是新手最容易出错的地方。有人直接在PCB Editor里想编焊盘尺寸发现根本没有地方可以设置就是因为焊盘编辑必须在Pad Designer里完成。所以流程必须固定下来先有 .pad后有 .dra最后有 .psm顺序不能乱。同一块PCB里的同类焊盘也尽量复用同一个 .pad 文件而不是每个封装单独建一个焊盘否则后期想调整焊盘尺寸时要改的文件多得吓人。我自己的习惯是一个项目开工前先做一次焊盘规划把所有可能用到的焊盘类型列出来一次性建好项目过程中基本不再回头改焊盘。1.3 建封装前的资料准备清单在打开Pad Designer之前先花10分钟把下面几样资料准备好能避免反复返工。元器件官方数据手册中的Package Drawing和Recommended Land Pattern。如果手册里没有Land Pattern至少要有引脚坐标表、本体尺寸和焊端尺寸。焊盘命名规范表。建议先用Excel列一个当前项目要用的焊盘清单再批量创建不要建一个查一个。明确封装类型SMD、DIP、QFN、BGA、SOT、SOP等。类型不同焊盘的层设置和参数逻辑完全不同。生产工艺信息板厂最小钻孔能力、钢网厚度、阻焊桥宽度。这些会影响焊盘开窗和孔径选择。单位问题特别提醒一下。Cadence 16.6默认使用mil很多器件手册给的是mm需要在动手前统一换算。1mm等于39.37mil我习惯先把手册里所有关键尺寸在Excel里统一换算成mil再进工具填写避免现场心算出错。Cadence的作图格点建议设成2.5mil或5mil配合mil制尺寸可以少很多对齐问题。同时库目录路径里最好不要出现中文和空格Allegro对路径里的特殊字符处理不稳定出了错非常难查。2. Pad Designer建焊盘先把这几组参数吃透2.1 打开Pad Designer并新建焊盘文件在Windows开始菜单找到Cadence → Release 16.6 → PCB Editor Utilities → Pad Designer运行后是一个参数表单界面。新建文件时选择File → New先指定保存路径文件类型默认就是Padstack。Pad Designer界面分上下两部分上半部分是Parameters和Layers两个页签下半部分是预览窗口。很多人上来就按教程填参数却没搞懂Parameters里那一堆选项是干什么的结果填错了后面非常难排查。我建议不要急着开始填先花5分钟把界面上的选项看一遍。Parameters页签主要控制钻孔类型、钻孔尺寸、电镀属性、单位Layers页签控制每一层铜箔、阻焊、钢网的形状和尺寸。理解清楚“单位”“钻孔”“层”这三块焊盘的基本盘就算拿住了。对于只需要做贴片电阻电容的新手可以先不碰复杂的Plane层设置把SMD焊盘做对再逐步扩展到通孔和BGA。这个工具本身不复杂复杂的是你要知道自己做的焊盘对应的是哪种焊接场景带着目的去填参数效率会高很多。2.2 贴片焊盘怎么填Single Layer Mode的四个关键点以最常见的贴片电阻电容焊盘为例进入Layers页签后默认是Single Layer Mode。需要重点理解的参数是下面几个我整理了一张表参数作用我的建议BEGIN LAYER顶层焊接面即元件贴装面选SMD填宽度和高度DEFAULT INTERNAL内层默认焊盘SMD焊盘可忽略但建议也设成SMD并填同尺寸END LAYER底部镜像焊盘选SMD并填与顶层相同尺寸方便镜像工艺SOLDERMASK_TOP / BOTTOM阻焊开窗每边比焊盘大3~5milPASTEMASK_TOP钢网开孔与焊盘等大或略小0.05~0.1mmSolderMask和PasteMask是新手最容易混淆的两个概念。SolderMask是PCB板上绿油的开窗区域目的是让焊盘裸露出来可以上锡所以它必须比焊盘四周大一点否则阻焊油就会爬上来盖住焊盘。PasteMask是SMT贴片时钢网的开孔位置用于漏锡膏所以它与焊盘重叠尺寸通常和焊盘一致。一个管“PCB上露不露铜”一个管“钢网上哪里开孔”两者方向完全不同填反了要么露铜露得太多要么钢网印锡位置错位。你把这个逻辑记清楚以后再也不会把这两个层搞反。这里还有一个细节END LAYER。对SMD焊盘来说如果你只在顶层放这个元件END LAYER不设也能用。但我会建议顶层和底层都设相同的SMD焊盘尺寸这样同一个 .pad 文件在顶层和底层都能调用尤其做镜像设计时会非常方便。如果你确定某个焊盘永远只在顶层用END LAYER可以随意一点但不设绝对不行否则放置到底层器件时会报错。这个“顶层能放、底层也能放”的通用性看似小事实际能减少很多重复焊盘。2.3 通孔焊盘怎么填DIP和连接器的参数逻辑通孔焊盘比贴片焊盘复杂核心在Parameters页签的Drill/Slot区域。这里要设置钻孔尺寸和钻孔类型Plating表示金属化孔Non-Plating表示非金属化孔。金属化孔内壁会镀铜用于需要导电连接的引脚和过孔非金属化孔只作为安装孔或定位孔内部不镀铜这两种孔的热膨胀和机械强度表现都不一样。各层的Regular Pad、Thermal Relief和Anti Pad也分别在Layers页签中填写。Regular Pad是实际焊接面比钻孔大Thermal Relief是热焊盘用在连接电源或地平面的内层通过几条spoke连接铜皮既保证电气连接又避免整个焊盘和铜皮大面积相连导致散热过快Anti Pad是防焊盘用来隔离不需要连接的平面层通常比Regular Pad再大一圈。我用一个DIP-8插座的例子说明。假设引脚直径0.8mm钻孔可以取1.0mm左右Regular Pad取1.6mm左右如果内层需要用热焊盘Thermal Relief外径取1.8mm左右spoke宽度0.4mm左右Anti Pad取2.2mm左右。这些数值不是死的要结合板厂工艺和电流要求调整但逻辑是钻孔要能插进元件脚孔盘要有足够焊接环宽热焊盘要让焊接和散热达到平衡。注意钻孔尺寸不等于成品孔径。钻孔后要经过电镀电镀层厚度通常20~25μm所以成品孔径会比钻头小0.05mm左右。如果你需要1.0mm的成品孔径钻头要选1.1mm左右。这个细节在建库时就要和生产确认不然打样回来才发现孔径偏小整板报废的代价非常大。2.4 焊盘尺寸怎么定以1206封装为例网上经常能搜到“1206焊盘尺寸参数”这样的热词但我要泼一盆冷水1206电阻的焊盘尺寸并没有唯一的标准答案。1206电阻的本体尺寸一般是3.2mm×1.6mm但焊盘宽度、长度、间距会随着厂商数据手册、IPC标准、回流焊还是波峰焊而不同。建库时一定要以你实际采购物料对应的datasheet为准不要随便搜一个“通用参数”就填进去。这里我给出一个常用的估算思路不是固定公式但方向是对的。焊盘宽度通常取元件焊端宽度再加0.2~0.4mm1206电阻的焊端宽度一般在1.6mm左右所以焊盘宽度可以取1.7~2.0mm焊盘长度由两个焊盘之间的间距决定常见推荐两焊盘内侧间距在0.8~1.0mm左右单侧焊盘伸出元件本体约0.3~0.5mm算下来每个焊盘长度大约1.2~1.6mm。最终选多少要综合厂商推荐值取一个稳定区间。这里分享一段我自己的踩坑经历。有一次我在论坛上看到有人贴出1206的统一焊盘参数直接拿来做了一款电源板。结果回流焊后焊盘边缘出现少量立碑现象后来对照原厂数据手册一查发现网上那组参数焊盘宽度偏小了0.2mm导致元件焊接时张力不平衡。那次之后我建库就只认手册里的Recommended Land Pattern网上的参数只作为参考不再直接照搬。特别是QFN这类底部有大散热焊盘的封装焊盘尺寸的“估算”思路完全不够用底部焊盘不仅要考虑电气连接还要考虑散热和钢网开孔。很多QFN底部散热焊盘会在钢网层分成多个小方块避免大焊盘印锡时产生气泡。这部分设计已经超出单纯“画封装”的范畴需要跟工艺工程师一起定但建库时一定要在焊盘文件里把PasteMask开孔留好。2.5 焊盘文件的保存与命名规范焊盘文件保存为 .pad建议统一放到一个专门的库目录下比如D:\CAD_LIB\Padstacks这样的固定路径。命名规范一定要自洽我自己的规则是“封装类型_元件尺寸_焊盘宽×高_孔径通孔需要”例如SMD_1206_75X55.pad表示1206封装的SMD焊盘宽75mil、高55milDIP14_80_60D.pad表示DIP14通孔焊盘孔径0.8mm外径1.6mm。命名清晰的好处在PCB Editor里放置焊盘时就能体会到。你只要看名字就能判断这个焊盘适不适合当前封装不用每个都打开看属性。等你建了几百个焊盘后简洁的命名就是你的检索系统。不要嫌麻烦命名规范这件事越早建立越好它属于典型的“前期多花五分钟后面省一小时”的投入。如果公司内部已经有统一规范就按公司的来如果还没有先从自己坚持一套规则开始等你吃透了再反向推动团队规范。3. PCB Editor画封装把焊盘拼成完整元器件3.1 新建Package Symbol并配置绘图环境打开PCB Editor选择File → NewDrawing Type选Package Symbol文件名填写封装名称比如R_1206。进入绘图界面后先打开Setup → Design Parameter Editor把单位设为Mils格点设为5mil或2.5milExtents给到足够大比如左右各3000mil、前后各3000mil避免画着画着图形跑到图纸边界外。原点位置我建议放在Pin 1脚中心而不是封装中心。这样做的好处是原理图导网表后元件坐标对齐更方便尤其是做拼板或矩阵布局时Pin 1作为基准点能少很多坐标换算。有些团队习惯用Body Center做原点也可以但一定要统一并用文档记录下来否则库里的元件基准点五花八门后面用脚本批量处理时非常头疼。这个习惯我从开始建库起就坚持三年下来积累了近千个封装批量处理时几乎没有因为原点不统一而返工过。3.2 放置焊盘前的关键准备配置Padpath这一步太关键了很多人卡在这里。如果你放置焊盘时提示找不到 .pad 文件99%是Padpath没有配置。正确做法是进入Setup → User Preferences在Design Paths的下拉列表中找到Padpath把焊盘库目录加进去同时找到Psmpath把封装库目录也加进去。只有路径配置好了Allegro才能找到你刚才做的焊盘。配置完成后用Layout → Pins命令放置焊盘。弹出的Pin放置窗口里Padstack输入框填焊盘文件名比如SMD_1206_75X55然后在命令行输入坐标比如x 0 0代表在原点放第一个焊盘。放置时要注意Options面板里的Pin编号设置第一个焊盘默认可能是0号建议改成1号并且按规格书顺序依次放置。这里还容易出现一个新手常犯的错焊盘放置时没有勾选“Rotation”导致有极性的器件比如二极管、电解电容在PCB上方向不一致。建库阶段就把极性标识和焊盘方向定好后面省非常多事。3.3 放置多引脚的批量技巧如果只是两脚电阻电容手输坐标就够了。但遇到QFP-100、BGA-256这种管脚数很多的器件靠手输会非常崩溃。Cadence提供了两种提高效率的方式一种是用Lattice功能在放置引脚时通过Options面板设置行列间距和数量一次生成整排焊盘另一种是写Script脚本把数据手册里的引脚坐标整理成表格再用脚本批量导入。我个人更推荐第二种方式尤其适合公司经常用到的标准化器件。先把数据手册里的引脚坐标整理到Excel导出成脚本然后让Allegro按脚本一次性把所有焊盘摆好速度快而且不容易漏。管脚数很多的器件还要特别注意Pin编号的方向比如QFP是从Pin 1开始逆时针排列如果你在原理图里按顺时针定义封装焊盘编号就会对不上。这件事一旦错了布板阶段会出现一大堆“引脚与焊盘未对应”的警告。我做144脚QFP时第一次就栽在编号方向上后来花了大半天才排查完从那以后我每次都会先拿原理图里管脚编号和封装焊盘编号对一遍再继续。3.4 画丝印、装配层和占地约束焊盘放完后接下来是画外框和标注。用Add → Line在Silkscreen Top层画出元器件外形线宽取5~8mil再用Add → Text在Ref Des Silkscreen Top和Ref Des Assembly Top层放位号文本字号一般不小于30mil。丝印线离焊盘边缘要保持至少5mil有条件就10mil以上防止丝印油跑到焊盘上影响上锡。Assembly Top层也叫装配层主要画元件本体的实际轮廓尺寸比Silkscreen外形更接近真实器件供贴片厂做装配图时使用。Place_Bound_Top是占地约束层表示元件在PCB上占用的区域自动布局和DRC间距检查都依赖这个层。如果Place_Bound画小了自动布局时两个元件可能会重叠画大了板子利用率下降。建议Place_Bound比元素本体轮廓四周大0.1~0.3mm左右。这四个层各司其职画完之后再用Display → Color Visibility分层打开检查一遍确认每个层上的内容都正确就可以进入下一步了。3.5 生成封装文件并与原理图Symbol关联所有元素都画完后用File → Create Symbol生成 .psm 文件。这一步完成后封装就可以被PCB Editor调用了。但是光有封装还不够如果想在原理图中调用这个器件需要在OrCAD Capture里把原理图Symbol的Footprint属性填成这个封装名比如R_1206。这样导网表时Allegro才能把原理图管脚映射到封装的焊盘上。在原理图Symbol里管脚的Pin Number属性必须和封装的焊盘编号完全一致。比如一个SOP-8器件的第3脚在原理图里叫3封装里第3个焊盘编号就必须是3否则导网表时会报“pin number not found”。我建议在生成封装时用Tools → Reports里的Component Report导出一份焊盘编号清单和原理图Symbol的Pin Number列表逐项比对一遍这一步检查放在建库阶段比在PCB阶段返工便宜太多。尤其是管脚数很多的器件等PCB布局布线都做完了才发现某个管脚对不上返工成本几乎是灾难级的。4. 封装检查与常见问题排查实录4.1 在PCB中验证封装的核心检查点封装画完先不要急着给PCB布局先在PCB Editor里把它放到板框外的空白区域检查一遍。重点看几项用Dimension命令量一下焊盘中心距和规格书上的标注是否一致丝印外框是否碰到焊盘装配层轮廓是否比元件本体大Place_Bound是否合理有条件的话打开3D预览翻转一下看顶底方向是否正常。这一步虽然简单但能筛掉90%的低级错误。尤其是焊盘中心距很多封装画完后看起来正常量一下才发现两排焊盘间距差了0.2mm。用眼睛看是看不出来的必须用量尺寸的方式复核。如果公司有封装评审流程最好把这一项做成检查清单每次建库后逐条打勾。我自己现在建完封装后会习惯性地把封装放到PCB里临时放一颗在角落跑一遍DRC确认没有间距问题和占位冲突再归档。4.2 放置焊盘时提示找不到焊盘这个问题的现象是Layout → Pins之后输入焊盘名并回车命令行提示找不到 pad 文件或 padstack 不存在。原因基本是Padpath没有配置或者焊盘文件没有保存成功或者保存路径和配置路径不一致。先检查Padpath是否包含了焊盘所在目录再看 .pad 文件是否真的生成路径不要有中文避免编码问题。还有一种情况焊盘文件存在但你在Pad Designer里修改后又没有重新生成 .psm 封装PCB Editor里看到的还是旧数据。这时候需要回到PCB Editor执行File → Refresh Symbol或更新封装让工具重新读取一遍焊盘信息。一个小建议养成“改完焊盘就更新封装”的习惯能省掉很多看起来像灵异事件的问题。如果问题出现在别的同事发给你的库文件上还要确认对方的Padpath和你的机器是否一致跨电脑拷贝库文件时最容易出现路径失效。4.3 Allegro中替换单个封装的操作在PCB设计过程中因为换料或封装图错误需要替换某个元件的封装。操作思路是选中目标元件调用Place → Replace Package Symbol命令个别版本在Tools菜单下在Options面板里选择新的 .psm 文件然后点击绘图区里的元件Allegro会完成替换。替换后原来网络连接关系一般会保留但焊盘变了走线可能需要重新调整。有一点要特别提醒替换封装时新封装的焊盘总数和管脚编号必须与原封装完全一致否则网络映射会丢失或错乱。如果只是同封装不同厂牌问题不大如果引脚数不同建议直接删除旧元件重新放置新元件并手工连接网络。替换完成后必须重新跑DRC因为焊盘尺寸变化可能引发安全间距、占位冲突等问题这些不会自动处理。我在一个实际项目中遇到过替换封装后整片地网络短路的情况就是新旧封装焊盘尺寸差异导致两个焊盘间距小于安全距离跑一遍DRC才抓到。4.4 为什么有的焊盘删不掉、去不掉网上常有人问“allegro无用焊盘不能去除为什么”。大多数情况下你选中的焊盘并不是独立对象而是整个封装symbol的一部分Allegro默认不允许直接删除其中某个焊盘。这是数据模型的必然结果一个封装的所有焊盘是作为一个整体被调用的要改就整体替换封装而不是在PCB里挖掉一个焊盘。如果只是想断开某个引脚的连接更合适的做法是删除相关走线或设置Net的No Connect属性而不是删除焊盘。还有一种情况跟显示有关焊盘被动态铜箔覆盖看起来像“消失”了但实际还在这时按一下Display → Color Visibility把Shape层打开或者按一下快捷键刷新铜箔填充就能看到了。这个“铜箔盖住焊盘”的问题和“删不掉焊盘”完全是两回事但经常被混在一起。新手遇到这种问题先分清是“选不中”“看不到”还是“删不掉”对症下药别在工具里乱点半天。4.5 网络、引脚编号与封装方向引起的警告最常见的警告是“Component has pin numbers not found in the symbol”翻译过来就是封装里有焊盘编号在原理图Symbol里找不到。排查方法是把封装用Component Report导出一份焊盘编号清单和原理图Symbol的Pin Number列表逐项比对。多数情况是某个引脚编号写错改一下就好但一定要从源头改不要试图在PCB阶段硬连线绕过去。QFN这类底部有大面积散热焊盘的器件还要留意EP脚的编号。有些封装把底部散热焊盘拆成几个小焊盘编号是EP1、EP2原理图里却只有一个EP导网表时会对不上。我建议在原理图Symbol设计阶段就把EP合并成一个管脚封装里也对应成一个大的热焊盘焊盘命名统一叫EP避免歧义。管脚数很多的器件建库时方向也比对一遍用1脚位置结合极性标记能避免封装被180度错用。平时养成查警告逐个确认的习惯不要直接忽略信息窗口很多大坑都是从小警告开始的。5. 我的几个实操心得与避坑建议5.1 库命名规范是长期投资这一点我每次带人都要强调。很多新手建库时图快随便起名结果三个月后再翻库完全认不出这个封装是给哪个器件用的。我的建议是焊盘命名包含“封装尺寸焊盘尺寸孔径”封装命名包含“器件类别封装名引脚数”比如R_1206、U_QFP144_0R5、J_TYPEC_16P。不要在公司内部某个“统一规范”缺失时就随意发挥先定一个自己能坚持的规则然后严格执行。建库这件事前面越规范后面越省心。我见过不少团队因为库管理混乱最后不得不把整个PCB设计推倒重来。如果你还处在没有规范的状态可以从这篇文章的命名思路开始慢慢积累一套属于自己的库。等你建了上百个封装后打开库目录一眼扫过去就能定位到想要的封装那种效率提升是实打实的。还有一点库文件一定要纳入版本管理哪怕是定期打包备份也比裸放在本地强。我就遇到过硬盘损坏、三年的库文件全丢的惨事从那以后库文件每周自动备份一次。5.2 焊盘参数必须落到数据手册和工艺能力上我在2.4节已经强调过很多次这里再补一个更“工艺”的点。焊盘不仅影响焊接还影响散热。QFN、大功率贴片MOS这类器件焊盘经常需要设计成大面积散热焊盘但同时要考虑“隔热”问题——焊盘如果直接和整片地铜箔连成一体焊接时热量流失太快容易虚焊。Allegro里的做法是给这个网络的内层连接设置Thermal Relief或采用花焊盘连接让铜皮和焊盘之间有多条细线相连既导热又能改善焊接。另外如果同一个元件有多个供应商替代料建库时不要只按其中一家焊盘规格做。建议把几家常选厂商的推荐焊盘放到一起对比取一个能兼容所有规格的中间值范围。不同厂家的引脚公差、位置偏差可能不完全一致一个“兼容性更好”的焊盘能让你后续换料时不用频繁更新封装。这种“为未来留余地”的思路做硬件的人应该都懂不是说把所有可能性都塞进去而是在可靠性和兼容性之间取一个折中重点还是回到数据手册和工艺能力上来。5.3 效率提升先做焊盘清单再批量建封装最后分享一个能直接提高建库效率的方法动手之前先把当前项目里所有要用的元器件列成一张总表按封装类型分组。比如所有电阻电容归类所有SOP芯片归类所有连接器归类。同一组里焊盘规格大致相近的先在Excel里把焊盘参数统一排好再到Pad Designer里批量生成。建封装时也按类别批量处理先做完所有电阻电容再处理IC和连接器。Cadence 16.6虽然年头不短但它的Script功能非常强。你可以手动建一个焊盘把操作录制成脚本再配合Excel数据批量修改参数一分钟生成几十个焊盘文件。对于公司常用的标准化封装库这个方法能极大降低重复劳动。如果你还没用过Script我建议从录制的功能开始上手很快。画封装这件事本质上就是“照着规格书做填空题”把填空题的顺序固定下来再做流程化效率会稳很多。等你把这一套流程跑顺了会发现建库真的是整个PCB设计流程里最不焦虑的环节。