1. 封装转换这件事为什么值得单独拎出来讲画过板子的人都有一个共识原理图可以自己从头画封装库却很难完全从零建。尤其是当你在立创EDA里已经攒了几百个经过验证的封装突然因为公司流程、客户要求或者个人习惯要切到Cadence Allegro时那种“资产带不走”的焦虑感非常真实。我自己第一次做这个迁移是在一个六层板项目上当时立创EDA里已经有完整的电源、MCU、DDR3部分封装Allegro那边只搭好了框架如果全部手搓光焊盘和丝印对齐就够干两天。这篇内容就是把我前后迁移过七八个项目的经验整理出来重点讲清楚三件事立创EDA的封装怎么导出成通用格式、怎么在Allegro里把它变成可用的.dra文件、以及中间如果经过AD18中转会遇到哪些坑。适合已经会基本操作Allegro、但不想重复建库的硬件工程师也适合正在评估“要不要从立创EDA转Allegro”的团队做技术预研。核心关键词先摆出来立创EDA封装转换、Cadence Allegro、AD18中转、焊盘与丝印还原、避坑技巧。整条链路不是点一下“导出”就完事中间涉及格式选择、层映射、单位换算、焊盘重建四个关键环节任何一个环节偷懒后面都要返工。2. 转换路线怎么选三条路各自的代价2.1 直接导出IPC-7351或通用格式的可行性立创EDA专业版在文件菜单里提供了导出功能常见选项包括Altium Designer格式、KiCad格式、以及通用的DXF和STEP。很多人第一反应是找“导出Allegro”但实际并没有这个选项。这时候有三条路可以走。第一条路是导出为Altium Designer格式.SchDoc/.PcbDoc再用AD18打开最后从AD18导出Allegro需要的.alg或直接生成.dra。这条路最成熟因为AD18对Allegro的交互支持相对完整社区里讨论也最多。第二条路是导出KiCad的.kicad_mod再用第三方脚本转成Allegro的.dra但脚本维护情况参差不齐遇到异形焊盘容易丢信息。第三条路是导出DXF只取外形焊盘在Allegro里重新放适合封装数量少、精度要求极高的场景。我实测下来AD18中转是综合成本最低的方案尤其当你需要保留丝印、装配层、阻焊层这些信息时。KiCad路线在简单电阻电容上没问题但碰到QFN、BGA这种多焊盘器件焊盘编号和网络映射经常对不上。2.2 为什么AD18是当前最稳的中转站AD18之所以成为事实标准有三个现实原因。第一立创EDA对AD格式的导出支持最完整包括焊盘形状、孔径、丝印线宽、3D模型引用都能带过去。第二AD18本身有“Export to Allegro”的菜单项虽然藏得深但生成的.alg文件能被Allegro的Import Wizard识别。第三AD18的封装库编辑器允许你在导出前做一次“体检”把立创EDA里一些非标准的命名和层设置修正掉。但AD18不是没有代价。它默认使用英制单位而立创EDA的封装很多是按公制建的转换时如果单位设置不对一个0.5mm的焊盘间距可能变成0.0197英寸四舍五入后累积误差会让DDR3的地址线等长直接崩掉。所以单位统一是第一条铁律。2.3 转换前必须做的三项资产盘点在动手之前先花二十分钟把立创EDA里的封装分个类。第一类是最常见的两端器件电阻、电容、电感这类封装结构简单转换成功率接近百分之百。第二类是IC类SOP、QFN、QFP重点检查焊盘编号和引脚间距。第三类是异形器件连接器、屏蔽罩、定制天线这类建议直接在Allegro里重建转换反而更慢。盘点时打开立创EDA的封装管理器按“焊盘数量”排序把超过八个焊盘的封装单独列出来。同时记录每个封装的原始单位公制和英制混用是后面最大的雷。我一般会建一个表格列三栏封装名、焊盘数、原始单位转换过程中每完成一个就打个勾。注意立创EDA专业版和标准版的导出选项略有差异专业版在“文件-导出-Altium Designer”下标准版需要先转成专业版工程再导出。如果你还在用标准版建议先升级或迁移工程否则导出时可能丢层。3. 从立创EDA到AD18导出与首次校验3.1 导出AD格式时的参数勾选清单在立创EDA里选中要导出的PCB或封装库点击导出Altium Designer格式。弹出的对话框里有几个关键选项包含3D模型建议勾上虽然Allegro不一定用但留着方便后续核对层映射选择“按名称匹配”不要选“按顺序匹配”否则丝印层可能跑到装配层去焊盘孔径选择“保留原始值”不要做任何单位换算换算留到AD18里统一做。导出完成后你会得到一个压缩包解压后是.PcbDoc和若干.SchDoc。先别急着用AD18打开用文本编辑器看一眼.PcbDoc的文件头确认里面没有乱码。立创EDA导出的AD文件偶尔会有中文字符编码问题如果封装名里有中文建议先在立创EDA里改成英文再导出。3.2 AD18打开后的第一轮检查用AD18打开.PcbDoc后不要直接导出。先做三件事。第一按L键打开层设置确认Top Layer、Bottom Layer、Top Overlay、Top Solder、Top Paste、Mechanical 1这些层都有内容且对应正确。第二按Q键切换单位在公制和英制之间来回切一次观察焊盘坐标是否跳变。如果跳变超过0.01mm说明原始数据里有单位混用。第三选中所有焊盘打开属性面板检查焊盘编号是否连续、是否有重复。这一步我踩过最大的坑是焊盘编号丢失。立创EDA里有些封装的焊盘编号是字母加数字比如A1、A2AD18在导入时可能把字母前缀吃掉变成纯数字。如果没发现导出到Allegro后引脚映射全错板子回来只能飞线。所以检查焊盘编号时最好和立创EDA里的原始封装并排对比。3.3 单位统一与坐标原点重置AD18里有一个“Edit-Origin-Set”功能把坐标原点设到封装的第一脚中心或者器件几何中心。这一步的目的是让后续Allegro里的放置坐标可预测。我习惯把原点设在第一脚因为Allegro的Placement Origin默认也是第一脚这样两边对齐时不用反复算偏移。单位统一的操作路径是在AD18里按CtrlQ切换到公制然后全选所有元素打开“Tools-Convert-Unit”做一次全局换算。注意这个操作只改显示单位不改实际坐标值。真正要改的是焊盘属性里的“Hole Size”和“X/Y Size”确保它们都是公制毫米值。如果发现某个焊盘的孔径是0.0197英寸手动改成0.5mm不要依赖自动换算。4. AD18到Allegro导出与导入的细活4.1 AD18导出Allegro的隐藏菜单与设置AD18的“Export to Allegro”不在File菜单下而是在“Tools”菜单里叫“Export to Allegro”。点击后会让你选一个输出目录生成一个.alg文件和一个日志文件。日志文件一定要看里面会列出所有被跳过的元素和警告。常见的警告包括“Pad not converted”“Layer not mapped”“Text ignored”每一条都对应一个潜在问题。导出设置里有一个“Use Metric”选项务必勾上。还有一个“Convert Pads to Flash”选项建议勾上这样Allegro里的焊盘会以Flash符号形式存在方便后续修改。如果封装里有大面积铜皮比如散热焊盘AD18可能会把它识别成Region而不是Pad导出后在Allegro里需要手动转成Shape。4.2 Allegro Import Wizard的逐步操作打开Allegro在“File-Import”下找到“Altium Designer”导入向导。第一步选择.alg文件第二步选择目标库路径第三步是层映射。层映射界面里左边是AD18的层名右边是Allegro的层名。常见的映射关系是Top Layer→TOPBottom Layer→BOTTOMTop Overlay→SILKSCREEN_TOPTop Solder→SOLDERMASK_TOPTop Paste→PASTEMASK_TOPMechanical 1→PACKAGE_GEOMETRY。映射完成后点击“Import”Allegro会生成.dra文件和.pad文件。这时候不要急着打开.dra先去库路径下确认.pad文件是否都生成了。如果某个焊盘的.pad缺失.dra打开后会显示成空心框后续无法生成光绘。4.3 导入后的焊盘与丝印还原检查打开生成的.dra文件按Z键放大逐项检查。第一看焊盘阻焊层是否比焊盘大一圈通常单边大0.05mm到0.1mm钢网层是否和焊盘等大。第二看丝印线条宽度是否在0.15mm到0.2mm之间丝印是否压焊盘。第三看装配层器件外框是否闭合第一脚标记是否清晰。我遇到最多的问题是丝印线宽变成0。AD18导出时如果丝印线宽小于0.01mmAllegro会直接忽略。解决办法是在AD18里把丝印线宽统一改成0.15mm再导出。另一个问题是阻焊层丢失表现为焊盘周围没有SOLDERMASK_TOP的开口。这通常是因为AD18里的Solder层没有内容需要在AD18里手动从Top Layer复制一份到Top Solder。5. 避坑技巧实录那些让我返工三次的细节5.1 焊盘编号错乱与引脚映射修复焊盘编号错乱是转换中最隐蔽的问题。立创EDA里有些封装的焊盘编号是“1、2、3”但AD18导入后可能变成“1、1、2”原因是AD18把相同坐标的焊盘合并了。修复方法是在AD18里打开“PCB List”面板按焊盘编号排序手动把重复的编号改回去。如果封装有几十个焊盘建议用脚本批量处理AD18支持DelphiScript写个循环遍历所有焊盘按X坐标排序后重新编号。到了Allegro里如果发现引脚映射还是不对可以用“Tools-Padstack-Modify”逐个修改焊盘编号。但更高效的做法是在Allegro的.dra里用“Edit-Change”命令选中所有焊盘后统一重编号。注意重编号后要同步更新原理图符号的引脚号否则网表导入时会报错。5.2 异形焊盘与挖孔处理的特殊手段立创EDA里有些封装带挖孔比如某些连接器的固定脚中间有个长条形的槽。AD18对这种槽孔的支持有限导出后可能变成一个圆孔加一个矩形焊盘。到了Allegro里需要用“Pad Designer”重新建一个带Slot的焊盘。具体操作是在Pad Designer里选择“Slot”类型设置槽长和槽宽然后关联到.dra里的对应引脚。如果挖孔是多个小孔组成的阵列比如散热焊盘上的过孔阵列AD18会把它识别成多个独立焊盘。导入Allegro后这些焊盘会散落在器件周围需要手动框选后按坐标对齐。我一般会在AD18里先把这些过孔焊盘编成一组导出时作为一个整体减少Allegro里的对齐工作量。5.3 单位换算误差累积与DDR等长影响单位换算误差在低速板上不明显但在DDR3/DDR4这种对等长敏感的设计里是致命的。假设一个封装有48个引脚每个引脚的坐标在换算时产生0.005mm误差累积到最远引脚可能变成0.24mm。DDR3的地址线等长要求通常在±0.5mm以内这个误差直接吃掉一半余量。规避方法是在AD18里导出前用“Reports-Measure”工具测量第一脚到最后一脚的距离和立创EDA里的原始值对比。如果差值超过0.01mm说明换算有问题需要手动修正。另一个技巧是在Allegro里导入后用“Tools-Quick Reports-Pin to Pin”生成引脚间距报告和立创EDA的封装尺寸表逐项核对。5.4 AD18中文汉化不完全导致的菜单错位AD18的中文汉化包质量参差不齐有些菜单项翻译后位置会偏移导致“Export to Allegro”找不到。我遇到过最离谱的情况是汉化后“Tools”菜单里少了三个选项切回英文界面才恢复。所以做转换时建议把AD18的语言切成英文等转换完成后再切回中文。切换路径是“DXP-Preferences-System-General-Localization”勾选“Use localized resources”是中文取消是英文。另外Win11下AD18的兼容性问题也值得提一句。Win11的默认DPI缩放是125%AD18的对话框可能显示不全导致“确定”按钮被遮住。解决办法是右键AD18快捷方式在“兼容性”里把DPI缩放改成“应用程序”或者把系统缩放临时调到100%。6. 转换后的验证与库管理6.1 用Allegro自带工具做封装体检.dra文件生成后用Allegro的“Tools-Padstack-Check”做一次全面体检。这个工具会检查焊盘尺寸、孔径、阻焊开窗、钢网匹配等二十多项。常见的报错包括“Pad size smaller than drill”“Solder mask opening too small”“Silkscreen over pad”。每一条报错都要处理不能忽略。体检通过后用“File-Create Symbol”生成.psm文件。.psm是Allegro实际调用的封装符号.dra只是绘图文件。生成.psm时注意选择正确的Device Type比如IC选“IC”电阻电容选“Discrete”。Device Type选错会导致后续网表导入时找不到封装。6.2 建立可复用的转换模板库如果团队里有多个人要做同样的转换建议建一个模板库。模板库包含三部分一个AD18的模板工程里面预设好层映射和单位设置一个Allegro的模板库里面预设好Pad Designer的默认参数一个检查清单列出每次转换后必须核对的十项内容。模板库的好处是减少重复劳动。我现在的做法是新封装先在立创EDA里建好导出AD格式用模板工程打开一键导出Allegro再用模板库的检查清单过一遍。整个过程从原来的两小时缩短到二十分钟。6.3 常见问题速查表问题现象可能原因解决方法焊盘显示为空心框.pad文件缺失重新导出或手动在Pad Designer里建丝印线宽为0AD18里线宽小于0.01mm统一改成0.15mm后重新导出阻焊层无开口Solder层无内容从Top Layer复制到Top Solder焊盘编号重复AD18合并了同坐标焊盘用PCB List面板手动改编号引脚映射错位字母前缀被吃掉在Allegro里用Change命令重编号单位换算误差大公制英制混用在AD18里全局换算并核对异形焊盘变形AD18不支持Slot在Pad Designer里重建Slot焊盘中文菜单找不到选项汉化包不完整切回英文界面操作Win11下对话框显示不全DPI缩放不兼容兼容性里改DPI缩放为应用程序DDR等长超差坐标累积误差导入后做Pin to Pin报告核对提示这张表建议打印出来贴在工位上每次转换后逐项打勾。我自己的经验是前三次转换一定会漏掉其中两三项第四次开始形成肌肉记忆。7. 一些让转换更顺手的个人习惯我现在的流程已经固定下来了立创EDA里建封装时就用英文命名单位统一用公制丝印线宽统一0.15mm焊盘编号从1开始连续编。导出AD格式后先在AD18里跑一遍“Design-Rules Check”把间距和线宽违规的项修掉。导出Allegro前把AD18的语言切成英文DPI缩放调到100%。导入Allegro后先跑Padstack Check再跑Pin to Pin Report最后生成.psm。这套流程跑下来一个四十引脚以内的封装从立创EDA到Allegro可用大概十五分钟。超过一百引脚的BGA因为焊盘多、检查项多大概四十分钟。相比从头建库效率提升至少三倍。最后分享一个小技巧如果你经常在立创EDA和Allegro之间来回切可以在AD18里录一个宏把“打开PcbDoc-切换公制-导出Allegro”这三步串起来一键执行。宏的录制方法在AD18的“DXP-Preferences-Scripting”里支持DelphiScript和VBScript。我录了一个VBScript版本每次转换点一下按钮就行省去了反复找菜单的时间。