ARTICLE DETAIL

资讯详情

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

Cadence从原理图到PCB制造全流程避坑指南

Cadence从原理图到PCB制造全流程避坑指南 1. 一块板子从图纸到工厂中间隔着多少坑胜宏、沪电这类PCB制造厂做的是板子本身——蚀刻、压合、钻孔、沉铜、表面处理把覆铜板变成能焊元器件的电路板。但一块板子能不能顺利做出来、做出来能不能跑通很大程度上取决于交到工厂手里的那份数据是不是干净、完整、可制造。Cadence这套工具链——OrCAD X、Allegro X、Sigrity X——解决的就是“板交给工厂之前”的所有问题原理图设计、网表导出、封装制作、布局布线、信号完整性仿真、制造文件输出。换句话说工厂负责把设计变成实物Cadence负责让设计本身站得住脚。我做了十多年硬件设计从最早用Protel 99SE画两层板到后来转Cadence SPB系列再到现在的OrCAD X和Allegro X踩过的坑比画过的板子还多。很多人觉得学Cadence就是学个软件操作其实不是——它背后是一整套从设计意图到制造数据的完整方法论。你原理图画得再漂亮网表导不出来等于零你布局布得再紧凑封装做错了工厂做出来就是废板你布线走得再顺Sigrity仿真一跑发现阻抗不匹配整板重来。这篇文章适合谁看如果你是刚入行的硬件工程师正在纠结学AD还是学Cadence我会告诉你两者的分界线在哪里如果你已经用了一段时间Cadence但总觉得哪里不对劲比如网表导出报错、封装导入PCB后焊盘对不上、仿真不收敛我会把常见问题的排查思路整理出来如果你是做PCB Layout的想往信号完整性方向走Sigrity X那部分值得细看。我不打算写成软件说明书而是按实际项目流程把每个环节的关键决策点和容易翻车的地方讲清楚。2. 为什么是Cadence而不是AD或者嘉立创EDA2.1 从“能画板”到“能管住板”的分水岭很多人问AD也能画四层板嘉立创EDA还能免费打样为什么还要折腾Cadence这个问题我当年也问过自己。答案不在画图这一步而在“板交给工厂之前”的那一堆检查、仿真和约束管理上。AD的优势在于上手快、界面友好、中小规模项目效率高。嘉立创EDA更是把原理图到PCB到下单打样串成了一条线适合快速验证。但当你做的板子到了六层以上、有DDR内存、有高速差分对、有阻抗控制要求的时候问题就来了你怎么保证每一根走线的阻抗都在公差范围内你怎么在布线之前就把规则定好而不是布完了再DRC你怎么把信号完整性问题在投板之前就仿真出来Cadence的Allegro X和Sigrity X就是干这个的。Allegro X的约束管理器Constraint Manager可以在布线之前把差分对间距、等长要求、阻抗目标全部设好布线时实时检查。Sigrity X可以在PCB设计完成后提取寄生参数做电源完整性和信号完整性仿真。OrCAD X则是原理图设计的主力和Allegro X无缝衔接网表导出、封装同步、设计规则传递都是一条链路。注意不是说AD做不了高速板而是当设计复杂度到了一定程度Cadence的约束驱动设计流程能帮你省掉大量后期返工的时间。我见过太多用AD画完DDR然后发现等长没做、阻抗没控、最后飞线的案例。2.2 OrCAD X、Allegro X、Sigrity X各自管什么这三个工具经常被混在一起说但分工很明确。OrCAD X负责原理图输入和网表生成你画的每一根连线、放的每一个元器件、定义的每一个网络标号最终都会变成网表里的连接关系。Allegro X负责PCB布局布线从板框导入、封装放置、层叠设置、走线规划到最终的光绘文件输出。Sigrity X负责仿真验证包括电源直流压降分析、信号完整性分析、时序分析等。我通常的项目流程是这样的OrCAD X画原理图 → 导出网表 → Allegro X导入网表 → 画板框、设层叠、放封装 → 布线 → Sigrity X仿真 → 输出Gerber和钻孔文件 → 交工厂。每一步都有坑下面我按这个顺序把关键环节拆开讲。2.3 热词背后的真实需求从安装到仿真不收敛看热搜词就知道大家卡在哪里了。“cadence安装教程”“cadence安装包下载”“cadence 17.4下载”“cadence spb 17.4-2019安装”——安装是第一道坎。“cadence 4k屏截断”——高分辨率屏幕下界面显示不全这个我后面会讲怎么解决。“cadence仿真器件未定义”“cadence瞬态仿真不收敛”——仿真环节的经典问题。“cadence怎么从原理图中导出库”“cadence原理图导出原理图库”——库管理是另一个高频痛点。“cadence pcb怎么提取板框”“cadence封装导入pcb”——从原理图到PCB的衔接问题。这些热词反映了一个事实大部分人卡在工具的基本使用上还没到真正发挥Cadence价值的地步。所以下面我会从实操角度把每个环节的关键操作和避坑经验讲透。3. 原理图到网表OrCAD X里最容易翻车的三个环节3.1 元器件库管理别等到导出网表才发现引脚对不上OrCAD X里画原理图第一步是建库或者调库。很多人图省事直接从网上下载现成的库文件或者从旧项目里复制。问题在于不同来源的库引脚编号、引脚类型、封装名称可能都不一致。你原理图画完了网表导出来Allegro X导入的时候发现某个器件的封装名在PCB库里找不到或者找到了但焊盘编号和原理图引脚对不上整个流程就卡住了。我的做法是每个项目建一个独立的库文件夹所有用到的元器件都从项目库里调用。新建器件的时候引脚编号严格按照Datasheet来引脚类型Input、Output、Bidirectional、Power、Passive也要设对因为后面做电气规则检查ERC的时候会用到。封装名称统一命名规则比如“R0603”“C0805”“SOP-8_3.9x4.9mm”不要用“RES1”“CAP2”这种没有信息量的名字。实操心得建库的时候顺手把元器件的Part Number、Manufacturer、Description填上后面出BOM的时候能省很多事。我见过有人原理图画完了出BOM发现一半器件没有料号只能一个个回去补。3.2 网表导出那些报错信息到底在说什么网表导出是原理图和PCB之间的桥梁。OrCAD X导出网表的时候常见报错有几类一是“Cannot find package”意思是某个器件的封装在PCB库里不存在二是“Pin number mismatch”原理图引脚编号和PCB封装焊盘编号对不上三是“Duplicate reference designator”位号重复了。排查思路很简单先看报错信息里提到的器件位号回到原理图里找到它检查封装名称是否拼写正确、PCB库里是否有同名封装、封装的焊盘编号是否和原理图引脚一一对应。如果是“Duplicate reference designator”用OrCAD X的“Annotate”功能重新编号注意选择“Incremental”还是“Unconditional”前者只给未编号的器件分配位号后者全部重新编。导出网表的格式选择也有讲究。Allegro X通常用“Allegro.dll”或者“orTelesis.dll”格式前者是较新的格式支持更多属性传递。如果你用的是较老版本的Allegro可能需要选“orTelesis.dll”。导出之前在OrCAD X的“Design Rules Check”里跑一遍ERC把悬空引脚、电源冲突、单端网络这些问题先解决掉。3.3 从原理图导出原理图库反向操作也有用有时候你拿到一个参考设计只有原理图没有库文件想把里面的器件存成自己的库可以用OrCAD X的“Export Library”功能。选中整个设计或者部分页面导出为OLB文件。但要注意导出的库文件里器件的引脚类型和封装信息可能不完整需要手动补全。另一个常见需求是“cadence怎么从原理图中导出库”其实反过来也成立——你可以从PCB里导出封装库。Allegro X里用“Export → Libraries”可以把当前PCB用到的所有封装导出成DRA文件方便复用到其他项目。但导出的封装不带焊盘文件需要把焊盘PAD也一起导出否则在新项目里调用会报错。4. 封装与板框Allegro X里那些让人抓狂的细节4.1 封装制作焊盘尺寸不是拍脑袋定的Allegro X里做封装核心是焊盘Padstack的设计。焊盘尺寸怎么定不是随便填个数就行。以0402电阻为例Datasheet推荐焊盘宽度0.5mm左右长度0.6mm左右但实际做的时候要考虑制造公差和贴片精度。我通常按IPC-7351标准来算或者直接用IPC-7351 LP Calculator这类工具生成。焊盘类型分表贴SMD和通孔Through Hole。表贴焊盘要设阻焊层Solder Mask和钢网层Paste Mask阻焊层通常比焊盘单边大0.05mm到0.1mm钢网层和焊盘一样大或者略小。通孔焊盘要设钻孔尺寸钻孔比引脚直径大0.2mm到0.3mm焊盘外径比钻孔大0.4mm到0.6mm。注意焊盘尺寸设错了工厂做出来要么焊不上要么连锡。我见过有人把0402的焊盘做成0603的尺寸贴片的时候元件直接浮在焊盘上回流焊后立碑。4.2 板框提取从结构图到PCB边框“cadence pcb怎么提取板框”是高频问题。板框通常来自结构工程师给的DXF文件。Allegro X导入DXF的步骤是File → Import → DXF选择图层映射把结构图里的板框线映射到“Board Geometry → Outline”层。导入后检查线条是否闭合如果有断点用“Shape → Compose Shape”或者手动补线。如果结构图给的是3D模型可以用“File → Import → IDF”导入Allegro X会自动提取板框和禁布区。但IDF导入的板框有时候会有多余线段需要手动清理。板框闭合后用“Setup → Areas → Board Outline”确认然后设置层叠Cross Section。4.3 层叠设置四层板不是随便叠的四层板的经典层叠是Top → GND → Power → Bottom。信号层在Top和BottomGND和Power作为参考平面。这种层叠的好处是每个信号层都有一个相邻的参考平面阻抗可控。层叠厚度根据板厚和阻抗要求来定常见的1.6mm板厚四层板的核心板Core和半固化片Prepreg厚度需要计算。阻抗计算可以用Allegro X自带的“Impedance Editor”或者用Polar SI9000这类工具。以50欧姆单端微带线为例Top层到GND层的介质厚度如果是0.2mm线宽大约0.35mm取决于介电常数。差分100欧姆的话线宽和间距需要根据介质厚度调整。这些参数在层叠设置里填好布线的时候约束管理器会自动检查。5. 布局布线与约束管理让规则替你干活5.1 约束管理器布线之前先把规矩定好Allegro X的约束管理器Constraint Manager是它和AD最大的区别之一。在AD里你通常是布完线再跑DRC发现问题再改。在Allegro X里你可以在布线之前把物理规则线宽、间距、过孔类型和电气规则等长、差分对、阻抗全部设好布线的时候实时检查违规的地方会高亮显示。物理规则里线宽根据电流和阻抗要求来定。电源线通常比信号线宽1A电流大概需要0.5mm线宽1oz铜厚。间距规则分两类线到线、线到焊盘、焊盘到焊盘。普通信号间距6mil左右高压信号需要更大间距。差分对规则里设好差分对的线宽和间距以及等长公差。实操心得约束管理器里的规则可以导出成CSV文件复用到其他项目。我通常把常用规则存成一个模板新项目直接导入省得每次重新设。5.2 布局先放什么后放什么布局的顺序通常是先放结构件连接器、安装孔、按键再放核心器件主控芯片、内存、电源芯片然后放外围器件。核心器件的位置决定了布线通道所以要先放。电源芯片靠近负载滤波电容靠近电源引脚。晶振靠近芯片走线尽量短。“pcb布局”和“pcb布线规则和技巧”是热搜词说明大家很关注这部分。我的经验是布局阶段花的时间越多布线阶段越轻松。布局的时候把飞线打开看哪些网络连接最密集把相关器件放在一起。电源树先规划好避免电源线绕来绕去。5.3 布线差分对、等长、阻抗控制布线阶段最麻烦的是差分对和等长组。差分对走线要等长、等间距尽量少换层。换层的时候要加伴随地过孔。等长组比如DDR的数据线组内误差通常控制在50mil以内地址线控制在100mil以内。Allegro X的“Delay Tune”功能可以自动绕等长但绕的时候要注意不要引入太多过孔和拐角。“pcb走线要求”里拐角用45度或者圆弧不要用90度。电源线尽量走宽地线用铺铜。过孔不要打在焊盘上除非是盘中孔工艺。丝印不要压在焊盘上否则会影响焊接。6. Sigrity X仿真投板之前的最后一道防线6.1 电源完整性直流压降和去耦电容Sigrity X的PowerDC模块可以做直流压降分析。你设好电源网络的输入电压和负载电流仿真跑完能看到整个电源平面的电压分布。如果某处压降超过5%说明电源平面太窄或者过孔太少需要加宽或者加过孔。去耦电容的摆放位置和容值选择也可以用Sigrity X的PowerSI模块做交流分析看电源阻抗在目标频率范围内是否满足要求。6.2 信号完整性反射、串扰、眼图Sigrity X的SystemSI或者Speed2000模块可以做信号完整性分析。提取PCB的寄生参数加上IBIS模型跑眼图。如果眼图闭合说明信号质量有问题可能是阻抗不匹配、串扰太大或者损耗太高。排查思路先看阻抗是否连续再看差分对间距是否太近最后看走线长度是否太长。“cadence仿真器件未定义”这个报错通常是因为IBIS模型没有正确加载或者模型里没有对应的器件。检查IBIS文件的路径和器件名是否匹配。“cadence瞬态仿真不收敛”是另一个常见问题通常是仿真步长设得太小或者模型里有不连续点。可以尝试放宽步长、增加迭代次数或者检查模型是否有问题。6.3 仿真不收敛的排查清单问题现象可能原因解决方法瞬态仿真不收敛步长太小放宽最大步长仿真器件未定义IBIS模型缺失检查模型路径和器件名眼图闭合阻抗不匹配检查走线阻抗和端接电源压降过大平面太窄加宽电源平面或加过孔串扰超标差分对间距太近增大间距或加地线隔离7. 从PCB到工厂出Gerber和钻孔文件7.1 Gerber输出每一层都要检查Allegro X输出Gerber的步骤是Manufacture → Artwork选择要输出的层设置好参数然后生成。输出之前用“Film”预览每一层确认没有遗漏。常见的遗漏包括阻焊层没开窗、钢网层没输出、丝印层压焊盘。输出格式通常选RS-274X单位选英寸或者毫米和工厂确认好。7.2 钻孔文件钻孔表和钻孔图要对得上钻孔文件用“Manufacture → NC → NC Drill”输出格式选Excellon。输出后检查钻孔表Drill Legend和钻孔图是否一致孔径和数量有没有错。过孔类型分通孔、盲孔、埋孔盲埋孔需要额外说明。7.3 贴片文件坐标和角度不能错“ad生成pcb贴片文件”是热搜词Cadence里对应的是“Manufacture → NC → Drill”旁边的“Placement”输出。贴片文件包含每个元器件的位号、坐标、旋转角度、封装名称。输出后和BOM核对确认位号和坐标一一对应。旋转角度尤其要注意不同封装库的零点定义可能不同贴片厂按你的文件贴角度错了整板报废。8. 常见问题速查与避坑经验8.1 安装与显示问题“cadence安装教程”和“cadence 4k屏截断”是高频问题。安装Cadence SPB系列建议用默认路径不要有中文和空格。安装完成后如果界面在高分屏上显示不全可以右键exe文件 → 属性 → 兼容性 → 更改高DPI设置 → 勾选“替代高DPI缩放行为”缩放执行选“系统”或者“系统增强”。如果还是不行在环境变量里加“CDS_DISPLAY_SCALE1.5”之类的缩放系数。8.2 网表与封装同步问题“cadence封装导入pcb”报错通常是封装名不匹配或者焊盘文件缺失。检查Allegro X的库路径设置Setup → User Preferences → Paths → Library确认封装库和焊盘库的路径都加进去了。如果封装是从其他项目复制过来的记得把对应的焊盘文件也复制过去。8.3 仿真与版本兼容问题“cadence 23.1怎么导出netlist”和“cadence spb 24.1”说明版本更新带来了一些操作变化。OrCAD X和Allegro X的新版本在菜单布局上有调整但核心逻辑没变。导出网表的入口在“Tools → Create Netlist”格式选择根据Allegro版本定。如果遇到“cadence conversion toolbox cdb to openaccess”这类问题通常是老版本设计迁移到新版本时的数据库转换用“DB Doctor”工具修复一下。8.4 独家避坑技巧原理图阶段就把封装名定好不要等到PCB阶段再改。约束管理器里的规则导出成模板新项目直接导入。布局之前先做层叠和阻抗计算不要布完线再算。Sigrity仿真之前先跑一遍DRC把明显的短路和开路排除掉。Gerber输出后用CAM350或者免费的Gerber查看器预览一遍确认每一层都正确。贴片文件输出后用Excel打开检查位号有没有重复、坐标有没有负数、角度有没有超过360度。9. 我个人在实际项目中的几点体会画板子这件事工具只是手段核心是对电路的理解和对制造工艺的尊重。Cadence这套工具链给了你足够多的控制手段但用不用得好取决于你愿不愿意在前期花时间把规则定好、把库管好、把仿真跑完。我见过太多人急着布线结果投板回来发现阻抗不对、等长没做、电源压降太大返工的时间比前期准备的时间多好几倍。OrCAD X、Allegro X、Sigrity X这三个工具我建议初学者的学习顺序是先用OrCAD X把原理图到网表的流程走通再用Allegro X画一块简单的两层板熟悉封装、板框、布线、出Gerber的完整流程最后再学Sigrity X做仿真。不要一上来就啃Allegro X的高级功能容易劝退。最后分享一个小技巧Allegro X的“Script”功能可以录制你的操作比如层叠设置、约束规则导入、Gerber输出配置录一次存成脚本下次直接运行省去重复劳动。我每个项目都会存一套脚本新项目直接跑效率提升很明显。
返回列表