1. 18.1AD软件中的Class概念解析
在电子设计自动化(EDA)领域,Class是18.1AD软件中用于管理设计元素的重要分类机制。它相当于给电路板上的不同对象贴标签,让设计规则检查(DRC)和布线算法能够智能地区别对待各类元素。
1.1 Class的核心作用
Class主要解决三个设计痛点:
- 批量管理:将具有相同电气特性的网络(如DDR4数据线)归为一组
- 规则继承:同一Class内的对象自动继承预设的设计约束
- 设计复用:Class定义可保存为模板供后续项目调用
实际案例:在6层板设计中,我们通常需要:
- 创建"Power"类管理所有电源网络
- 设置"Clock"类处理高速时钟信号
- 用"USB_Differential"类管理USB差分对
1.2 Class创建实操步骤
在18.1AD中创建Class的标准流程:
- 打开Constraint Manager(快捷键Ctrl+Shift+C)
- 在Net分类下右键选择"Create→Class"
- 命名规则建议:
- 功能前缀(如PWR_3V3)
- 信号类型(如CLK_100MHZ)
- 接口标准(如USB3.0_TX)
- 成员添加方式:
- 手动勾选网络列表
- 使用通配符匹配(如"USB_*")
- 导入CSV网络清单
经验提示:Class命名避免使用空格和特殊字符,建议采用下划线连接的小写字母组合,如"ddr4_dq"比"DDR4 Data Q"更规范。
2. 设计参数配置的工程实践
设计参数(Design Parameters)是18.1AD中控制PCB设计行为的全局设置项,相当于整个设计项目的"控制面板"。
2.1 关键参数类别
| 参数类别 | 典型配置项 | 推荐值范围 |
|---|---|---|
| 布线参数 | 默认线宽/线距 | 4-6mil/4-8mil |
| 过孔设置 | 首选过孔尺寸 | 8/16mil(钻孔/焊盘) |
| 层叠结构 | 介质厚度/铜厚 | 根据板厂能力调整 |
| 制造规则 | 最小字符高度/丝印间距 | 30mil/10mil |
2.2 参数优化技巧
高速设计时需要特别注意:
-
阻抗控制:
- 计算工具:Polar SI9000
- 关键参数:介电常数(Er)、铜厚(H)、线宽(W)
- 示例:USB差分对需保持90Ω±10%
-
时序匹配:
- 等长规则:DDR4数据组内±50mil
- 使用"Relative Propagation Delay"约束
-
电源完整性:
- 平面分割间隙:20-30mil
- 去耦电容布局:按1nF/mm²密度分布
避坑指南:新建设计时建议复制公司标准模板(如"HDI_6L_Template"),避免从零开始配置参数。我曾见过新手工程师因漏设负片热焊盘参数导致整板短路的情况。
3. 设计规则体系深度解析
18.1AD的设计规则系统采用层级化架构,理解其优先级逻辑对高效设计至关重要。
3.1 规则优先级金字塔
code复制顶层:Class规则(最具体)
↓
网络/器件组规则
↓
网络规则
↓
默认规则(最通用)
典型场景:某DDR4设计需要:
- 在默认规则设置6mil线宽
- 在DDR Class中覆盖为4.5mil
- 对特定时钟网络单独设置4mil
3.2 高级规则配置实例
以USB3.0差分对为例:
- 创建"USB3_Diff"Class
- 设置物理规则:
python复制
Min Line Width = 5mil Primary Gap = 7mil Neck Width = 4mil(允许局部缩颈) - 电气规则:
python复制Max Length = 2500mil Intra-Pair Skew < 10mil Impedance = 90Ω±10% - 制造规则:
python复制
Mask Expansion = 2mil Silkscreen Clearance = 15mil
3.3 规则冲突解决策略
当多个规则作用于同一对象时:
- 检查Constraint Manager中的"Rule Application Report"
- 使用"Rule Priority"调整顺序
- 对特殊网络添加"Rule Override"
常见冲突案例:
- 某BGA逃线区域需要临时放宽线距
- 金手指区域需要特殊阻焊开窗
- 射频走线需要避开电源平面分割缝
4. 高效设计工作流构建
4.1 模板化设计方法
建议创建以下标准模板:
-
层叠模板:
markdown复制- 6L_Standard L1: Top (Signal) L2: GND L3: Power L4: Mid1 (Signal) L5: Mid2 (Signal) L6: Bottom (Signal) -
规则模板:
- HDI_4L_Rules(适用于手机主板)
- Industrial_6L_Rules(工控设备)
- Automotive_8L_Rules(车规级)
-
Class库模板:
- 包含常见接口标准(USB/HDMI/DDR等)
- 预定义电源等级(3V3/1V8等)
4.2 版本控制策略
- 规则导出格式选择:
- 二进制(.rul)用于完整备份
- ASCII(.txt)用于差异比较
- 变更记录方法:
python复制# 2023-08-20 Update - 修改DDR4_CLK Skew从50mil→30mil - 新增PCIe_4.0 Class定义 - 调整BGA区域线距规则 - 团队协作建议:
- 使用Git管理.constraint文件
- 每次修改添加注释标签
- 定期执行规则一致性检查
4.3 设计验证checklist
在发布设计前必查项:
- Class覆盖检查:
- 是否有网络未归类?
- 是否存在空Class?
- 规则完备性验证:
- 所有高速信号是否都有长度约束?
- 电源网络是否设置足够线宽?
- 制造可行性确认:
- 最小孔径是否大于板厂能力?
- 阻焊桥是否满足DFM要求?
我在最近一个服务器主板项目中,通过Class规则预检查发现12V电源网络漏设大电流规则,避免了后期返工。建议设置以下自动化检查:
- 电流密度分析(Tools→Signal Integrity)
- 网络拓扑检查(Display→Signal Topology)
- 3D间距验证(View→3D Canvas)
