4. 差分对规则设置实战
在 Allegro 中,差分对的电气约束并不是直接写在走线对象上的,而是通过 Constraint Manager(约束管理器) 以“规则集 + 网络分配”的方式集中管理。理解这条主线,是避免“改了线宽却没生效”“规则建了但网络没套上”这类问题的前提。本节以一块 8 层板上的 LVDS 差分对为例,完整走一遍从规则创建到网络套用、再到实际走线验证的过程。
一、先理清约束的层级关系
Allegro 的差分约束分两层:Physical(物理) 层负责线宽、间距、过孔等几何参数;Electrical(电气) 层负责阻抗、时序、相位等电气参数。差分对本身是一个“对象”,它由 Differential Pair 定义产生,然后被 Physical 规则集和 Electrical 规则集分别引用。因此配置顺序应当是:先定义差分对 → 再建物理规则 → 再建电气规则 → 最后把规则分配给差分对。
二、定义差分对:从网络名到差分对象
打开 Constraint Manager,在 Physical → Net → All Layers 或 Electrical → Net → Differential Pair 中,都可以通过 Objects → Create → Differential Pair 创建差分对。更常用的做法是让 Allegro 自动识别:在 Analyze → Differential Pair 中设置命名规则,例如以 _P 和 _N 结尾的网络自动配对。对于本例,LVDS 发送端网络命名为 LVDS_TX0_P 与 LVDS_TX0_N,接收端为 LVDS_RX0_P 与 LVDS_RX0_N,共 4 对。自动识别后,在 Constraint Manager 的 Differential Pair 列表中应能看到这 4 个对象,且状态为 Unassigned。
+/- 与 _P/_N),或网络被误设为 No Rat。先统一命名,再重新执行识别。三、创建 Physical 规则集
在 Physical → Differential Pair → All Layers 下,右键 Create → Physical CSet,命名为 DIFF_100OHM。关键字段填写如下:
- Line Width:5 mil。这是单根线的宽度,不是差分对总宽。
- Gap:6 mil。这是对内两根线的边到边间距,直接决定差分阻抗。
- Neck Width:4 mil。当走线必须穿过密集焊盘区域时允许的颈缩宽度,需配合 Neck Gap 一起设置。
- Primary Via:8/16 mil(钻孔/焊盘)。差分过孔建议成对放置,间距与走线 Gap 保持一致。
- Max Parallel:500 mil。限制差分对与其他信号并行长度,降低串扰。
- Min Line Spacing:15 mil。差分对对外部网络的最小间距。
填写完成后,点击 Apply。此时规则集已存在,但还没有分配给任何差分对,因此走线不会发生变化。
四、创建 Electrical 规则集
切换到 Electrical → Differential Pair → Routing → Differential Pair,创建 Electrical CSet,命名为 LVDS_ELEC。这里要区分几个容易混淆的字段:
| 字段 | 含义 | 本例取值 |
|---|---|---|
| Target Impedance | 差分阻抗目标值 | 100 Ω ±10% |
| Max Length | 差分对允许的最大走线长度 | 2500 mil |
| Min Length | 最小走线长度,防止过短导致反射 | 800 mil |
| Intra-Pair Skew | P/N 两根线之间的长度差 | ±5 mil |
| Inter-Pair Skew | 不同差分对之间的长度差 | ±50 mil |
| Phase Tolerance | 相位容差,通常与 Intra-Pair Skew 联动 | ±5 mil |
其中 Intra-Pair Skew 是最关键的相位约束。它约束的是同一差分对内部 P 与 N 的长度差,而不是绝对长度。Allegro 在走线时会实时计算这个差值,并在 Differential Pair 模式下用颜色提示:绿色表示在容差内,黄色表示接近上限,红色表示超差。
五、把规则分配给差分对
回到 Physical → Differential Pair → All Layers,选中 4 个差分对,在 Referenced Physical CSet 列选择 DIFF_100OHM;再切换到 Electrical → Differential Pair → Routing → Differential Pair,在 Referenced Electrical CSet 列选择 LVDS_ELEC。分配完成后,列表中原本的 Unassigned 会变成规则集名称,同时 Status 列会显示当前是否满足约束。
六、走线验证与结果判读
进入 PCB Editor,选择 Route → Differential Pair,在 Options 面板中确认当前使用的规则集为 DIFF_100OHM。开始走线后,观察以下几个反馈:
- 线宽与间距:实际走线应显示为 5 mil 线宽、6 mil 间距。若显示为默认值,说明规则未生效。
- 相位容差:在 Display → Show Measure 中测量 P/N 长度差,应不超过 5 mil。若超差,可用 Delay Tune 在 N 线上做蛇形补偿。
- 最大长度:在 Constraint Manager 的 Electrical → Differential Pair → Routing → Differential Pair 中查看 Actual 列,应不超过 2500 mil。
- 阻抗:通过 Cross Section 查看叠层参数,确认 5/6 mil 在目标叠层下对应约 100 Ω。若偏差较大,需回到叠层或线宽间距重新计算。
完成上述配置后,一个可复用的差分对规则模板就建立起来了。后续新增差分对时,只需在命名上保持 _P/_N 后缀一致,重新识别后直接引用同一套 CSet,即可保证全板差分约束的一致性。