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_PPCIE_TX0_N正:*_P,负:*_N
前缀式TX0_PTX0_N正:P*,负:N*
差分符号式USB_DPUSB_DM正:*DP,负:*DM

规则中的*是通配符,代表公共部分。以*_P和*_N为例,Allegro会把PCIE_TX0_P与PCIE_TX0_N识别为同一差分对,公共部分PCIE_TX0成为差分对名称。需要注意:通配符不能匹配空字符串以外的歧义情况,例如同时存在TX0_P和TX0_P_P时,规则可能产生错误配对,因此命名应保持唯一性和一致性。

建议在项目启动阶段就统一命名规范,并在原理图符号库和网表导出环节做检查。命名规则一旦确定,应写入设计规范文档,避免不同工程师使用不同后缀。

三、自动创建与手动校验

配置好命名规则后,执行Auto Create,Allegro会扫描所有网络并生成差分对列表。此时不要直接进入约束设置,而应先做一次校验:

  1. 检查差分对数量是否与原理图预期一致,重点核对高速接口(PCIe、USB、SATA、HDMI等)的通道数。
  2. 检查每个差分对的正负网络是否配对正确,避免出现TX0_P与RX0_N被误配的情况。
  3. 检查是否存在“单端残留”——本应成对的网络因命名不一致而未被识别,例如一个用_P/_N,另一个用_+/−。
  4. 对未自动识别的差分对,用Assign Differential Pair手动补充,并记录原因,便于后续规范修订。

校验完成后,差分对才真正成为可施加约束的对象。此时在Constraint Manager中可以看到每个差分对的物理约束和间距约束入口。

四、识别差分对的拓扑结构

差分对创建完成后,下一步是判断它在PCB上的拓扑结构。拓扑决定了信号从驱动端到接收端经过哪些器件、过孔、分支和连接器,也决定了等长匹配和过孔优化的对象。Allegro中可通过Display > Show Rats > All或Constraint Manager的拓扑视图观察连接关系。

常见差分对拓扑有以下几类:

  • 点对点直连:驱动端到接收端之间无分支、无串联器件,是最理想的高速差分拓扑。等长匹配只需考虑两条线本身的长度差。
  • 带串联耦合电容:差分对中间经过AC耦合电容,拓扑被分为两段。此时等长匹配需要分别控制电容前段和后段,且电容焊盘会引入额外的寄生参数。
  • 带连接器:差分对经过板对板连接器或金手指,连接器引脚会引入阻抗不连续和额外延迟,拓扑识别时需把连接器作为独立节点。
  • 带过孔换层:差分对通过过孔从顶层切换到内层,过孔本身及其回流路径成为拓扑的一部分,是过孔优化的直接对象。
  • 星形或分支拓扑:一对差分信号驱动多个接收端,这种拓扑在高速差分中通常应避免,若无法避免则需在分支点做严格的阻抗和长度控制。
差分对创建流程与拓扑识别 创建与识别流程 原理图标注差分属性 DIFF_PAIR / 命名约定 导入网表 / 刷新规则 Allegro读取网络名 Auto Create 自动配对 *_P / *_N 规则匹配 校验配对结果 数量 / 正负 / 残留 手动补充未识别对 Assign Differential Pair 差分对拓扑结构识别 ① 点对点直连 TX RX 无分支、无串联器件 等长只需控制线间差 ② 带AC耦合电容 TX C RX 分两段等长控制 电容焊盘引入寄生参数 ③ 带连接器 TX CONN RX 连接器引脚为独立节点 阻抗不连续需单独评估 ④ 带过孔换层 TX VIA RX 过孔及回流路径为拓扑节点 是过孔优化的直接对象 ⑤ 星形/分支拓扑(应避免) TX RX1 RX2 分支点阻抗突变 高速差分中通常禁止

识别拓扑时,建议在Allegro中打开Display > Show Rats > All,同时结合Tools > Reports中的连接报告,逐对确认差分对经过的器件、过孔和连接器。对于带AC耦合电容的差分对,要特别注意电容前后的走线是否分别满足等长要求;对于带过孔的差分对,要记录过孔数量、换层次数和过孔类型,这些信息将直接用于后续的过孔优化。

拓扑识别不是一次性动作。当PCB布局发生变更、器件位置调整或层叠结构修改时,差分对的拓扑可能随之改变,需要重新检查。建议在每次布局评审后,对关键高速差分对做一次拓扑复核。

五、命名规则与拓扑识别的配合

命名规则解决的是“哪些网络是一对”,拓扑识别解决的是“这一对在PCB上怎么走”。两者配合才能形成完整的约束对象。例如,一对PCIe TX差分对命名为PCIE_TX0_P/N,通过命名规则自动配对后,在拓扑视图中发现它经过两个过孔、一组AC耦合电容和一个连接器,那么约束设置就需要分别针对这三类结构做处理:过孔处控制阻抗和回流,电容处控制两段等长,连接器处控制引脚分配和参考平面。

如果命名规则设置不当,可能出现“拓扑正确但配对错误”的情况,例如把PCIE_TX0_P和PCIE_RX0_N配成一对。这类错误在约束管理器中不易察觉,但会导致等长匹配完全失效。因此,自动创建后的人工校验不可省略。

最后给出一个可执行的检查清单,用于差分对创建与拓扑识别的收尾确认:

检查项判断依据处理方式
差分对数量与原理图高速通道数一致缺失则检查命名规则或手动补充
正负配对P对应P、N对应N,无交叉错误配对需删除后重新指定
命名一致性同一接口使用统一后缀不一致的网络统一改名或补充规则
拓扑类型确认是否含电容、连接器、过孔按拓扑分段设置约束
过孔记录统计每对差分对的过孔数量与类型作为过孔优化输入

完成以上步骤后,差分对才真正具备施加约束的条件。下一阶段将进入具体的线宽、间距和等长规则设置,而这些规则的正确性,完全依赖于本节所建立的配对关系和拓扑认知。