1. Gerber文件与叠层配置的核心逻辑
第一次用Cadence输出Gerber文件时,我盯着十几层的选项列表完全懵了——为什么简单的四层板需要输出二十多个文件?后来在工厂打样失败三次才明白,Gerber本质上是设计语言到生产工艺的翻译器。比如你的PCB设计里有个"GND层",在工厂眼里可能是需要铜箔蚀刻的"负片层",也可能是直接压合的"整铜层",这中间的映射关系就藏在叠层配置里。
在Cadence 17.4的Artwork模块中,每个Gerber层实际包含三重属性:
- 物理层类型(走线层/阻焊层/丝印层)
- 数据格式(RS274X是当前主流)
- 极性设置(正片负片决定铜箔保留区域)
以最常见的四层板为例,设计文件中的"PWR03"电源层,在Gerber输出时需要明确:
- 是否包含反焊盘(anti-pad)
- 钻孔补偿是否已计算
- 是否为负片输出(L2/L3地层常用)
提示:板厂反馈最多的错误就是阻焊层开窗尺寸不足,实际配置时要确保Soldermask层比焊盘大0.1mm以上
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 四层板标准叠层配置详解
2.1 走线层配置实战
在Artwork Control Form界面新建一个TOP层时,需要勾选以下关键元素:
- Board Geometry/Outline:板框外形
- Etch/Top:顶层走线
- Pin/Top:顶层焊盘
- Via Class/Top:顶层过孔
实测发现最容易遗漏的是Via Class,有次批量生产时所有过孔都没开窗,就是因为漏选了这个选项。建议用这个检查清单:
tcl复制foreach layer {TOP BOTTOM GND PWR} {
set artwork [create_artwork $layer]
$artwork add "Board Geometry/Outline"
$artwork add "Etch/$layer"
$artwork add "Pin/$layer"
$artwork add "Via Class/$layer"
}
2.2 阻焊与钢网层陷阱
阻焊层(Soldermask)配置有个隐藏坑点:插件孔的阻焊开窗。在Cadence中需要同时添加:
- Board Geometry/Soldermask_Top
- Package Geometry/Soldermask_Top
- Pin/Soldermask_Top
曾经有个HDMI接口因为漏配Package Geometry导致焊盘被阻焊油覆盖。更复杂的是钢网层(Pastemask),它只针对SMD器件,需要特别注意:
- 不要包含插件元件焊盘
- 开口尺寸通常比焊盘小10%
- 需单独处理QFN等特殊封装
3. 钻孔文件的双重校验机制
3.1 符号与图例生成
Drill Customization界面有个致命细节:当使用自动生成符号(Auto generate symbols)时,一定要检查:
- 符号形状是否与孔径匹配
- 不同孔径的符号是否明显区分
- 图例位置是否在板外
有次生产时1.0mm和1.2mm的孔符号太相似,导致工厂钻错孔径。现在我的流程是:
- 手动设置符号样式(圆形/方形/十字)
- 导出Drill Report核对孔数量
- 在CAM350里预检符号映射
3.2 背钻文件处理
高速PCB常需要背钻(Backdrill),这时要额外输出:
- Layer Pair:指定起始/终止层
- Oversize:通常比原孔大0.2mm
- Tolerance:控制台阶高度
有个6层板的DDR4设计,因为背钻文件没标注深度公差,导致信号阻抗突变。现在我会在Ncdrill_Legend里用特殊符号标注背钻层对。
4. 设计意图的精准传递技巧
4.1 叠层结构注释
在Manufacturing/Nclegend层添加叠层示意图时,建议包含:
- 每层介质厚度±10%公差
- 铜厚规格(1oz/2oz)
- 特殊工艺要求(埋孔/盲孔)
我曾用Excel做了一张叠层表插入到Silkscreen层,结果工厂没注意到。后来改用直接在Board Geometry层绘制带尺寸的断面图,再也没有误解。
4.2 阻抗控制标注
对于USB/DDR等关键信号,应该在Artwork中添加:
- 线宽/线距要求
- 参考层指定
- 阻抗值及公差
有个项目在阻焊层写了"90Ω±10%"的文字标注,但工厂的油墨厚度导致阻抗超标。现在改为在Gerber文件同级目录放一个阻抗控制表,用不同颜色区分网络类。
5. 工厂沟通的防错策略
每次发板前,我会用这个检查流程:
- 用Valor NPI运行DFM检查
- 生成3D PDF预览文件
- 录制Artwork配置视频
- 制作双面打印的检查表
有次板厂反馈"缺少钻孔文件",实际是他们没发现文件名的版本号差异。现在强制要求所有文件用统一命名规则:
code复制[项目]_[层类型]_[版本].art
例如:
DDR5_TOP_SM_Rev2.art
DDR5_PTH_Drill_Rev2.txt
最后建议在输出Gerber包时,附带一个readme.txt说明:
- 使用的Cadence版本号
- 特殊工艺要求
- 关键层对应关系
- 联系方式(至少留两个负责人电话)
