☰
Cadence PCB设计全流程:从原理图到Gerber输出实战指南
2026/10/7 12:35:28 网站建设 项目流程

第一次打开Cadence PCB Editor的时候,我对着满屏的黑色背景和密麻麻的菜单栏愣了很久,根本不知道该点哪里。网上关于Cadence的教程并不少,但多数要么只讲某个快捷键怎么用,要么甩给你一句“规则设置好就可以布线了”,对真正想从零开始画板的人并不友好。这篇东西我打算换个方式,把“从原理图到Gerber”这条完整链路串起来讲一遍,所有的前置准备、规则逻辑、操作顺序、常见报错,都会落到具体步骤上,而不是停留在概念层。无论你是刚接触PCB设计的学生,还是从其他工具转过来的工程师,按着这个流程走一遍,基本能画出自己的第一块板子。

另外说一句,文中涉及的菜单路径和参数,基于我实际使用的Cadence 16.6/17.2版本,版本不同菜单名称会有细微差异,但核心逻辑是一致的。整个过程我会按真实项目的推进顺序展开,不会跳过那些“看似不重要、其实很要命”的环节。

1. 开工前夜:版本选择与安装避坑

1.1 选哪个版本:16.6还是17.4

很多人上来就问“Cadence到底用哪个版本”,这个问题没有标准答案,但我可以给出一些参考。16.6是目前很多老牌硬件公司还在用的版本,稳定、教程多、网上遇到问题容易搜到答案,学习成本相对低。17.2及以上的版本在界面交互、高亮显示、推挤布线等体验上做了不少优化,尤其是动态铜皮的处理更智能,如果电脑配置允许且不依赖老版本插件,直接上17.2或17.4也没问题。

我的建议是:如果你是零基础自学者,选16.6起步反而省心,因为大部分网上的视频教程和文本教程都以16.6为操作环境;如果你是公司项目需要和同事协作,那以公司统一版本为准,不要自己另装一套,否则工程文件来回导来导去,光是封装库和规则文件的兼容问题就够你折腾一晚。

1.2 安装过程中最容易卡住的三个问题

Cadence的安装流程本身不算复杂,真正让新手崩溃的一般是License问题、环境变量和VC运行库报错。我装过太多次,也帮别人远程排过不少,发现高频问题集中在下面三处。

第一,同时安装了多个版本导致License服务冲突。Cadence的License Manager只能管理一个有效的License文件,如果之前装过旧版本没有卸载干净,新版本装完后服务启动时报错“Unable to Start License Server”是家常便饭。处理方式大体是:卸载干净、删除残留目录、清理服务列表里的Cadence相关服务项,然后再重装。能不动系统重装的前提下,优先用LMTOOLS重新读取License文件并强制启动服务。

第二,启动时提示找不到“cdslic.dll”或License环境变量失效。这是环境变量问题,需要在系统变量里确认有CDS_LIC_FILE或LM_LICENSE_FILE,并指向有效的License文件路径。曾经我处理过一台机器,安装正常但每次启动都报同样的错,折腾半天发现是变量名大小写打错了,Cadence对这类变量名敏感,重新填好后恢复正常。

第三,报错信息里出现“microsoft.vc80.mfc”之类的内容。这个很经典,因为Cadence老版本依赖VC2005/2008运行库,系统缺少这些组件时,启动Capture CIS或PCB Editor会直接崩溃或者弹DLL缺失。解决办法不是去下载各种乱七八糟的DLL文件,而是安装对应版本的Microsoft Visual C++ Redistributable,装完重启基本就解决。

安装完以后,建议第一时间做一个操作:用管理员身份启动一次所有组件。Cadence在非管理员权限下经常出现莫名其妙的“右键无反应”或“菜单灰化”问题,这不是软件坏了,是权限不够导致部分功能模块没有正确初始化。

1.3 建库思路:原理图符号、PCB封装和仿真模型的关系

Cadence的库体系和Altium不太一样,很多人从AD转过来后会有点不适应。在Cadence里,原理图符号库里放的是“逻辑符号”,PCB封装库里放的是“物理封装”,两者通过“封装名称”字段建立关联。也就是说,你在原理图中放一个电阻,必须保证它的PCB Footprint属性填写的名称,在PCB封装库里能找到一个对应名称的封装。

工艺库和仿真模型又是另外的概念。工艺库一般是针对仿真工具用的,比如Pspice模型里定义了器件在不同温度下的电气参数,用于跑瞬态仿真、AC分析等;如果你只做PCB设计不跑仿真,这一步可以先跳过,不影响画板。

给新手的建议是:第一块板子不要自己从头画封装,先用Cadence自带的封装库,或者从元件厂商官网下载官方封装库。等你有经验了,再慢慢积累自己的公司库。自己画封装很容易出现焊盘尺寸偏差,尤其是小间距的QFP和BGA封装,差一个mil焊上去都可能虚焊。

画完一个工程后,养成把用到的封装统一拷到本地库目录的习惯,别散落在各个临时工程里。不然等做第二个项目时,你会发现原理图里所有器件都变成了“封装缺失”的可疑状态。

2. 从原理图到PCB板框:第一处关键跨越

2.1 生成网表前必须完成的检查

原理图画完不等于可以直接转PCB,至少得确认三件事。

第一,DRC检查通过。在Capture中执行“Design Rules Check”,检查是否有悬空的引脚、重复的位号、未连接的电源引脚等。这一步很多人偷懒跳过,结果导入PCB Editor后报出一堆错误,再回头逐个找问题,反而更浪费时间。

第二,位号整理。组织好元器件的位号,不要出现R1、R2跳着用的情况。可以用“Annotate”功能自动重排,在导出网表前把位号理顺,后面布局、出BOM都会省很多事。

第三,确认每个器件都有正确的PCB Footprint属性。这是一个非常容易忽略的点。网上找到的原理图库有时会漏填Footprint,或者填了个不存在的封装名,这时候导出网表虽然不会直接报错,但导入PCB时会有大量器件因为没有封装而丢失。

确认完这几点,就可以通过“Create Netlist”生成网表了。在Netlist对话框中,输出格式选择“PCB Editor”,勾选“Create PCB Editor Netlist”,然后指定输出目录。生成过程中要留意底部的Log窗口,任何“Error”级别的提示都可能影响后端的导入,必须逐个处理,而“Warning”可以先记录下来,不一定致命。

2.2 板框(Outline)的两种主流画法

拿到网表后,第一次打开PCB Editor会觉得无从下手,这时候第一步不是急着摆放器件,而是先把板框画出来。板框决定了整块板的物理边界,也影响后续布局、布线和铺铜的范围。

第一种方式,从结构图纸导入DXF。这是工程实际中最常用的方式。结构工程师通常会给一份DXF格式的外形图,包括螺丝孔位、连接器开槽位置、异形边缘等。在PCB Editor中通过“Import → DXF”导入,导入时需要注意单位换算,DXF里一般是mm,而PCB Editor默认工作单位是mil,建议在导入前把设计单位先切到mm再操作,不然换算错误会导致板框放大39.37倍。

导入后还需要把DXF线条所在的层映射到“Board Geometry/Outline”层,因为DXF文件里的线条默认都在“DXF”层或其他自定义层,只有把它们移到Outline层,后端处理才知道这是板框边界。

第二种方式,在没有结构图的情况下手工绘制。用“Add → Rectangle”或者“Add → Line”在Outline层画出矩形或异形板框。别上来就随手画,先用“Setup → Design Parameters”把设计单位和格点设置好,常用格点设为0.254mm(10mil)或0.5mm,画起来更规整。画的时候鼠标点的位置不一定精确,但可以用命令行输入坐标的方式定点,比如在命令行输入“x 0 0”再输入“x 100 0”,这样能保证边界的绝对精度。

无论用哪种方式,画完板框后都用“Dimension”工具标注关键尺寸,对着做一次确认,养成这个习惯以后拼板、出结构图都不容易出错。

2.3 叠层设置:单面板、双面板还是四层板

叠层是很多人忽略但实际影响很大的设置。在PCB Editor里通过“Setup → Cross-section”打开叠层管理器,你会看到默认的层结构。对于普通LED驱动、简单控制板,双面板足够了:顶层走信号、底层走地或电源。如果板子有高速信号、大电流、或者对EMC要求较高,建议直接上四层板:顶层信号、第二层地平面、第三层电源平面、底层信号,这样信号回路面积小,抗干扰能力大幅提升,成本增加的其实有限。

层数确定后,铜厚也在叠层里一并设置。默认是1oz(约35um),大功率电源板如果流过几安培电流,可以考虑把电源层和底层铜厚加到2oz,降低走线温升和压降。

叠层里的“Type”字段有“plane”和“conductor”两种设置。很多人不理解,简单说:“conductor”是走线层,可以铺铜也可以走线;“plane”是平面层,默认设置为负片,用于整块电源或地网络,不适合走信号线。用反了会导致该层无法正常走线或铺铜,这点在设置时要特别留意。

3. 约束规则先于布线:线宽与间距背后的逻辑

3.1 约束管理器里的“最小配置”

很多自学Cadence的人容易陷入一个误区:把网表导进来就直接开始摆放器件、走线,等走完线才发现有些地方间距不够,或者电源线太细导致压降超标,再回头修改很痛苦。

正确的做法是在布局布线之前,先花半小时把约束规则设置好。打开“Constraint Manager”,里面需要优先配置的是间距规则和物理规则。

间距规则(Spacing)指的是铜皮、走线、焊盘、过孔之间的最小间距。常规数字电路板可以设为6mil以上,有BGA或者高密度器件时可以适当减小到4mil到5mil,但要在自己的加工厂确认制程能力。对于初学者,建议保守起见统一设为8mil,宁可牺牲一点布线空间,也不要做出加工困难的板子。

物理规则(Physical)里面需要设置线宽。Cadence默认线宽往往是10mil,这对信号线还行,但电源和地线就远远不够。通常我会把默认线宽设为8mil,最小线宽设为5mil,最大线宽不设,然后在网络层面给关键网络单独分配更宽的线宽规则。

3.2 电源线和地线的线宽怎么定:一个简单的估算经验

电源线宽不能拍脑袋决定,它和电流、铜厚、允许的温升都有关。工程上有一个粗略估算经验:在1oz铜厚、温升10度以内的条件下,走线宽度按每安培电流对应约20mil到40mil来取。比如一个USB口最大输出1A,VCC网络线宽至少给20mil,留些余量的话给到30mil更稳。如果是电机驱动板,电流到3A以上,那就不建议靠走线硬扛了,直接在高电流路径上铺铜,或者加跳线、开窗加锡。

在Constraint Manager中,可以设置“Net Class”来管理这些规则,比如创建一个“POWER”类,把+5V、VCC、VBAT等电源网络加进去,然后单独为这个类指定50mil线宽;再创建一个“GND”类,设为整体铺铜连接,不单独走线。这样你在手动布线时按线宽规则走,Cadence会自动帮你约束,走出来的线不会出现“电源线细得像信号线”的尴尬。

3.3 为运算放大器等模拟电路预留的规则思路

如果你这块板子包含运算放大器或者传感器信号调理电路,建议在约束阶段就考虑模拟信号的特殊性。模拟信号对噪声敏感,走线时要避免和数字信号长距离平行,最好在模拟区域下面铺完整地平面。

在约束规则上,模拟信号线的线宽可以设置得和普通数字线一样,但间距可以适当加大,减少串扰。还有一点,模拟地和数字地虽然在原理图中往往用0欧电阻或磁珠连接,但在PCB里是否分隔、在哪里单点连接,建议在布局前就想好,而不是等走完线再想着怎么切地平面,那时候改动成本很高。

4. 布局、布线与铺铜:真正上手画板的三个环节

4.1 布局:用最合理的方式把器件放到板框内

布局是PCB设计中“上限最高、下限最低”的环节,同样的原理图,不同的人布局,画出来的板子性能可以差很多。这里的核心思路是:先确定固定件的位置(连接器、按键、LED、安装孔),再围绕核心芯片布置外围电路。

举个最常见的例子:单片机的去耦电容。每个电源引脚旁边都应该放一个0.1uF电容,且电容到电源引脚的连线越短越好,最好就在引脚旁边0.5mm到1mm的范围内。这个电容的作用是给芯片提供一个低阻抗的瞬态电流源,如果放远了,走线电感明显变大,去耦效果大打折扣,芯片高速翻转时电源噪声会明显增大。我见过不少新手把去耦电容放在板子角落,还觉得“反正原理图连上了就行”,这就是典型的只看连接、不看物理位置。

布局阶段还有几个实用技巧。一是善用“Placement Edit”模式下的对齐和分布工具,选中多个器件后执行对齐,板子看起来会非常整洁。二是把极性器件(电解电容、二极管、LED)的方向尽量统一,方便后面焊接和检查。三是大功率器件要留出散热空间,周围不要放温度敏感的元件,如果是TO-220这类封装,还要考虑它的散热片方向和周围元件的高度干涉。

4.2 布线优先级:信号、地、电源哪个先走

布线顺序很大程度决定了板子的成败。我的经验顺序是这样的:先走关键信号线,再走普通信号线,然后用铺铜解决地和电源的连通,最后再处理那些打补丁式的杂线。

为什么不先把电源线走了?因为电源网络优先用大范围铺铜来承载,比单根走线的载流能力强得多、压降也小。如果一开始就把电源用细线走完,后面铺铜时反而碍事,只能一遍遍修铜皮。当然,如果电源网络之间需要跨层连接,可以在关键位置放过孔,把顶层和底层的铺铜连起来。

对信号线,尤其是时钟线、复位线这类敏感的线,尽量走成直线、少打过孔。如果必须换层,至少要在旁边安排一个地过孔,提供回流路径。这个知识点很多新手不懂:信号换层后,回流电流没有跟过去,回路面积变大,EMI和信号质量问题随之而来。在信号线旁边打一个GND过孔,就是为了把回流路径“接住”。

4.3 走线时的格点、快捷键和“走线像样”的技巧

Cadence的交互式布线器对新手还算友好,但需要先设置好格点。格点设太大,走线绕来绕去不灵活;格点设太小,走线歪歪扭扭不好看。一般建议布线时格点设为5mil,方向切换用F2键或右键菜单切换。Shift+F2是推挤模式,开启后走线会自动推开旁边已走的线,好用但也容易把别人已走好的线挤到违规,用的时候要注意左下角的DRC标记有没有变红。

实际走线时我习惯先把大方向走完,再回到“Slide”模式调整线形,把线拉直、推顺。这比走一步调整一步要高效得多。走线尽量做到“横平竖直”,即同一层的线尽量保持水平或垂直走向,不要出现45度折线以外的角度,这样既美观也好维护。过孔不要乱打,打一排过孔时要对齐,看着舒服是一方面,另一方面加工时也不容易出现孔偏。

4.4 铺铜与铜皮优先级:这可能是你第一次听说的设置

铺铜在Cadence里用“Shape → Add”操作,选择所在层和网络后,沿着板框画一个大致轮廓,软件会自动填充。但初学者铺铜后经常会遇到一个问题:同一层上多个铜皮重叠时,后画的铜皮把先画的覆盖掉了,或者彼此咬合得乱七八糟。这时候就要用到铜皮优先级。

在Cadence的PCB Editor中,通过“Setup → Shape Priority”可以查看和设置铜皮的优先级。数字越大优先级越高,高优先级的铜皮会覆盖低优先级的铜皮。同一个网络的不同铜皮之间,如果没有设置优先级,重叠区域容易产生毛刺或间距错误。通常我的做法是:地网络铜皮优先级设低一点,电源网络铜皮设高一点,这样当两个铜皮在某个区域需要重叠时,电源铜皮会“压”在地铜皮上,避免出现细小的铜皮残片。

另一个高频问题就是“禁止铺铜区”。有时我们希望某个特定区域不要有铜皮,比如板边要留出安全距离、安装孔周围不要铺铜、天线区域要挖空,这时不能靠“少画一块铜皮”来规避,因为动态铜皮会自动填满,解决方法是添加“Route Keepout”区域。在“Setup → Areas → Route Keepout”里画一个矩形或异形区域,在这个区域内就不会有走线和铜皮。操作完成后尽量跑一遍DRC,因为Keepout放置不当会导致区域内的过孔或走线报错。

对于异形焊盘或连接器位置,还可以用“Shape → Manual Void”手动开洞。尤其是那些自带金属外壳的连接器,如果铺铜后外壳焊盘附近的铜皮没有避让,焊接时容易连锡或者导致接地不良。

4.5 两个版本的差异:静态铜皮和动态铜皮

Cadence 16.6和17.2在铜皮处理上有一个关键差异。16.6默认的铜皮是动态的,它会根据周边走线自动避让,修改走线后铜皮会自动刷新。17.2加入了更智能的动态铜皮引擎,但很多公司还在用的静态铜皮则需要手动更新。

如果你不小心把铜皮设置成静态铜皮,又在上面走了线,界面会出现明显的DRC标记,这时候选中铜皮,执行“Shape → Select Shape or Void/Cavity”,右键选择“Change Shape Type”,把静态改为动态,系统会自动避让所有相关对象,不用一块块重新修铜。这个操作很多教程里不会提,但实际项目里几乎每天都会用到。

5. DRC检查与生产文件输出:把板子安全送出厂

5.1 DRC怎么跑才“干净”

DRC(Design Rule Check)是PCB设计交付前的关键步骤,跑不干净就发出工厂,轻则板子报废,重则焊接不良、无法功能测试。Cadence的DRC检查通过“Display → DRC Browser”查看结果,也可以通过“Tools → Design Rule Check”一键执行。

常见错误类型我整理了一张表:

DRC错误类型大概原因处理方式
Spacing violation间距小于约束规则设置值调整走线或焊盘位置,或确认规则设置是否过于激进
Line to shape spacing走线距离铜皮太近走线避让或调整铜皮边界
Unconnected pin有引脚未连接回原理图检查连接关系
Missing net connectivity走线断开了网络连接用“Show Rats”查看飞线,补线
Manufacturing violation过孔或走线距离板边过近移动过孔,保证离板边至少0.3mm以上

实际跑DRC时我建议分两遍。第一遍按“严格模式”跑,即所有间距按最小规则,把所有报错都列出来,逐条确认哪些是真实问题,哪些是调整铜皮后可以自动消除的“假错误”。第二遍按“生产模式”跑,把走线宽度改为工厂要求的最小值,检查有没有超细走线或过孔环宽不足的情况。

如果DRC报错太多,不要一个个去“忽略”,先看错误集中在哪些网络或哪些区域,往往是某个元件封装用错了、或者某段走线整体偏移了,定位根因可以节省大量时间。

5.2 输出Gerber:那些容易漏掉的选项

Gerber文件是交给PCB工厂的光绘文件,Cadence通过“Manufacture → Artwork”来输出。在Artwork Control File对话框中,需要把要输出的层面勾选上:顶层走线、底层走线、顶层丝印、底层丝印、顶层阻焊、底层阻焊、板框层,以及钻孔文件。

这里要说几个新手特别容易漏掉的细节。

第一,阻焊层和助焊层要分开导出。阻焊层(Soldermask)是用来开窗的,助焊层(Pastemask)是钢网层,两者不要混淆。如果你发现PCB板上焊盘没有露出来,大概率是阻焊层没有正确输出。

第二,钻孔文件用“NC Drill”导出,格式一般选择Excellon格式。导出后配合光绘文件一起打包发给工厂,钻孔和走线对不上是很多工厂反馈的高频问题。

第三,输出前要把所有层上的“Outline”都包含进去。有些工程有多个板框层,比如“Board Geometry/Outline”和“Board Geometry/Design_Outline”,工厂是以上面的Outline层为主,多余的板框层没有清理会让人困惑。

输出完成后,用Cam350或Cadence自带的Viewer把光绘文件重新导入,肉眼检查一遍每一层的内容是否和你的设计一致。这个习惯极其重要,因为有些问题在PCB Editor里看着是正常的,但Gerber导出后会出现文字重叠、铜皮缺失等渲染问题,提前用专业工具复查能帮你避免板子打样回来才发现的“低级事故”。

5.3 从AD转到Cadence的高频困惑

现在很多公司从Altium Designer转到Cadence,网上相关的讨论也很多。两款工具的差异点和“为什么转”这类话题,我贴一个简短的对比,帮新转过来的同事快速建立认知:

对比点Altium DesignerCadence Allegro
学习曲线相对平缓陡峭,但后期效率高
规则体系直观但较松散严谨,约束管理器功能强大
大型板卡高性能板会明显卡顿对大板、高密度板支撑更稳定
协作与库管理库管理相对混乱库结构清晰,适合团队协作
仿真能力需搭配其他工具和Pspice/Sigrity联动更紧密

这并不代表Cadence绝对优于AD,只能说在大型复杂板卡、多人在线协作、严格约束管理这些场景里,Cadence更适合。个人小项目或学习阶段,AD的上手速度确实有优势,但如果你确定之后要走专业硬件方向,早一点适应Cadence的操作逻辑,长期受益会更明显。

6. 实测过程中遇到的“怪问题”复盘

最后分享几个我在实战中踩过、后来发现很多人也绕不过去的坑。

第一个是“铜皮上有碎铜但看不到怎么回事”。出现这种问题,十有八九是铜皮优先级没设置,重叠的铜皮互相咬合,在Cadence里看起来是正常填充,但Gerber里会出现很多细小的铜尖。解决办法是在铺铜前做好铜皮规划,比如同一层上只保留一个网络的大面积铜皮,其余网络用走线或内层平面来解决。

第二个是“封装导入PCB后器件飞了”。原理图导出网表后,在PCB Editor里按“Quickplace”把器件放到板框外,结果有些器件在很远的位置。这多半是原理图里的原点坐标差异问题,可以通过选中器件,右键“Move”并输入坐标(0,0)来拉回。如果每次都要这么搞,检查一下原理图的页面设置,把原点统一到图纸左下角。

第三个和运算放大器相关。运放电路板画完后,上电发现输出有振荡,排除芯片问题后,最后发现是反馈电阻下面的地平面被走线切断了,导致回路面积变大。这类问题在原理图上完全看不出来,只能在布局布线时提前做好规划:把反馈网络放在芯片附近,下方保持完整的地平面,别在敏感电路下方走数字线。

画完几块板子后回头看,Cadence真正难的不是某个命令怎么用,而是那一整套“先规划再动手”的流程意识。规则先设置好、板框先确认好、铜皮优先级先想好,后面每一步都会顺。这里分享的这些操作细节都是我一遍遍打样、调试、返工之后攒下来的,照着做不敢保证你的板子一版成功,但至少可以帮你少走我当年走过的那些弯路。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询