3. 差分对创建与拓扑识别
差分对约束能否生效,第一步并不在规则管理器里,而在于Allegro是否真正“认识”这对信号。如果差分对没有被正确创建,后续的线宽、间距、等长、过孔优化都无从谈起。本节围绕三件事展开:如何从原理图或PCB中把差分对提取出来,如何用命名规则让Allegro自动识别差分对,以及如何判断一对差分信号在PCB上属于哪种拓扑结构。
一、差分对的三种创建来源
在Allegro中,差分对本质上是一个逻辑对象,它把两条网络绑定为一个可施加约束的整体。创建来源主要有三种:
- 从原理图导入:在Concept HDL或OrCAD Capture中,通过差分对属性(如
DIFF_PAIR)或差分对命名约定,让网表携带差分信息。导入Allegro后,差分对会自动出现在Constraint Manager的Differential Pair分支下。 - 在PCB中手动创建:当原理图未标注差分属性时,可在Allegro中通过
Logic > Assign Differential Pair手动指定正负网络,或直接在Constraint Manager中新建差分对。 - 基于命名规则自动识别:通过设置差分对命名规则,让Allegro在网表导入或规则刷新时自动配对。这是工程中最常用的方式,也是本节的重点。
三种方式并不互斥。实际项目中常见做法是:原理图侧保证命名规范,PCB侧用命名规则自动识别,个别命名不规范的信号再手动补充。
二、差分对命名规则的设计
Allegro的差分对命名规则由“正网络前缀/后缀”和“负网络前缀/后缀”组成,核心是让工具能从一对网络名中识别出配对关系。规则在Constraint Manager的Objects > Differential Pair > Create > Auto Create中配置,也可通过Setup > Constraints > Differential Pair相关入口设置。
常见的命名约定有两类:
| 类型 | 正网络示例 | 负网络示例 | 规则写法 |
|---|---|---|---|
| 后缀式 | PCIE_TX0_P | PCIE_TX0_N | 正:*_P,负:*_N |
| 前缀式 | TX0_P | TX0_N | 正:P*,负:N* |
| 差分符号式 | USB_DP | USB_DM | 正:*DP,负:*DM |
规则中的*是通配符,代表公共部分。以*_P和*_N为例,Allegro会把PCIE_TX0_P与PCIE_TX0_N识别为同一差分对,公共部分PCIE_TX0成为差分对名称。需要注意:通配符不能匹配空字符串以外的歧义情况,例如同时存在TX0_P和TX0_P_P时,规则可能产生错误配对,因此命名应保持唯一性和一致性。
三、自动创建与手动校验
配置好命名规则后,执行Auto Create,Allegro会扫描所有网络并生成差分对列表。此时不要直接进入约束设置,而应先做一次校验:
- 检查差分对数量是否与原理图预期一致,重点核对高速接口(PCIe、USB、SATA、HDMI等)的通道数。
- 检查每个差分对的正负网络是否配对正确,避免出现
TX0_P与RX0_N被误配的情况。 - 检查是否存在“单端残留”——本应成对的网络因命名不一致而未被识别,例如一个用
_P/_N,另一个用_+/−。 - 对未自动识别的差分对,用
Assign Differential Pair手动补充,并记录原因,便于后续规范修订。
校验完成后,差分对才真正成为可施加约束的对象。此时在Constraint Manager中可以看到每个差分对的物理约束和间距约束入口。
四、识别差分对的拓扑结构
差分对创建完成后,下一步是判断它在PCB上的拓扑结构。拓扑决定了信号从驱动端到接收端经过哪些器件、过孔、分支和连接器,也决定了等长匹配和过孔优化的对象。Allegro中可通过Display > Show Rats > All或Constraint Manager的拓扑视图观察连接关系。
常见差分对拓扑有以下几类:
- 点对点直连:驱动端到接收端之间无分支、无串联器件,是最理想的高速差分拓扑。等长匹配只需考虑两条线本身的长度差。
- 带串联耦合电容:差分对中间经过AC耦合电容,拓扑被分为两段。此时等长匹配需要分别控制电容前段和后段,且电容焊盘会引入额外的寄生参数。
- 带连接器:差分对经过板对板连接器或金手指,连接器引脚会引入阻抗不连续和额外延迟,拓扑识别时需把连接器作为独立节点。
- 带过孔换层:差分对通过过孔从顶层切换到内层,过孔本身及其回流路径成为拓扑的一部分,是过孔优化的直接对象。
- 星形或分支拓扑:一对差分信号驱动多个接收端,这种拓扑在高速差分中通常应避免,若无法避免则需在分支点做严格的阻抗和长度控制。
识别拓扑时,建议在Allegro中打开Display > Show Rats > All,同时结合Tools > Reports中的连接报告,逐对确认差分对经过的器件、过孔和连接器。对于带AC耦合电容的差分对,要特别注意电容前后的走线是否分别满足等长要求;对于带过孔的差分对,要记录过孔数量、换层次数和过孔类型,这些信息将直接用于后续的过孔优化。
五、命名规则与拓扑识别的配合
命名规则解决的是“哪些网络是一对”,拓扑识别解决的是“这一对在PCB上怎么走”。两者配合才能形成完整的约束对象。例如,一对PCIe TX差分对命名为PCIE_TX0_P/N,通过命名规则自动配对后,在拓扑视图中发现它经过两个过孔、一组AC耦合电容和一个连接器,那么约束设置就需要分别针对这三类结构做处理:过孔处控制阻抗和回流,电容处控制两段等长,连接器处控制引脚分配和参考平面。
如果命名规则设置不当,可能出现“拓扑正确但配对错误”的情况,例如把PCIE_TX0_P和PCIE_RX0_N配成一对。这类错误在约束管理器中不易察觉,但会导致等长匹配完全失效。因此,自动创建后的人工校验不可省略。
最后给出一个可执行的检查清单,用于差分对创建与拓扑识别的收尾确认:
| 检查项 | 判断依据 | 处理方式 |
|---|---|---|
| 差分对数量 | 与原理图高速通道数一致 | 缺失则检查命名规则或手动补充 |
| 正负配对 | P对应P、N对应N,无交叉 | 错误配对需删除后重新指定 |
| 命名一致性 | 同一接口使用统一后缀 | 不一致的网络统一改名或补充规则 |
| 拓扑类型 | 确认是否含电容、连接器、过孔 | 按拓扑分段设置约束 |
| 过孔记录 | 统计每对差分对的过孔数量与类型 | 作为过孔优化输入 |
完成以上步骤后,差分对才真正具备施加约束的条件。下一阶段将进入具体的线宽、间距和等长规则设置,而这些规则的正确性,完全依赖于本节所建立的配对关系和拓扑认知。