3. PCIe差分对创建与规则配置

PCIe的物理层以差分信号传输,一条链路(Lane)由一对差分线构成:发送端TX±与接收端RX±。在Allegro中,差分对不是“画两根线”那么简单,它需要先被定义为一个逻辑对象,再被赋予约束规则,最后在布线时由约束管理器实时驱动。本节围绕差分对定义、相位匹配、间距规则与过孔结构四件事展开,目标是让读者理解“规则如何变成走线”,而不是停留在菜单操作层面。

一、差分对定义:从网络到逻辑对象

差分对定义的本质,是把两个单端网络绑定成一个可被约束管理器识别的对象。Allegro中常见做法有两种:一是通过Constraint Manager > Physical > Differential Pair手工创建,二是由原理图导入时依据命名规则自动识别。命名规则通常要求成对网络具有可推导的对应关系,例如PCIE_TX0_P与PCIE_TX0_N,或PCIE_RX0+与PCIE_RX0-。若命名不规范,自动识别会失败,此时需要在约束管理器中手工指定“正端/负端”。

定义完成后,差分对会获得一个逻辑名称,例如DP_PCIE_TX0。这个名称是后续所有规则挂载的锚点。需要强调的是:差分对定义只解决“谁和谁是一对”,不解决“怎么走”。很多初学者在定义后直接布线,结果发现相位、间距完全不受控,原因就是规则尚未配置。

二、相位匹配:对内等长与对内偏差

差分对的相位匹配,指的是同一对中P端与N端的传播延时差。理想情况下,P与N同时到达接收端,共模噪声被抵消;若两者存在延时差,部分差分信号会转化为共模信号,导致眼图闭合、抖动增加。Allegro中通过Relative Propagation Delay约束实现,通常以“对内偏差(Intra-pair Skew)”形式设置。

以PCIe Gen3(8 GT/s)为例,单位间隔UI约为125 ps。工程上常把对内偏差控制在5~10 ps以内,对应走线长度差约0.75~1.5 mm(以FR4中信号传播速度约6.7 ps/mm估算)。这个数值是示例性经验值,实际应以芯片手册和协议规范为准。在约束管理器中,可对差分对设置Delta:Tolerance,例如0.75 mm:0.1 mm,表示P与N的长度差不超过0.75 mm,容差0.1 mm。

相位匹配的难点在于:P与N在布线中会因过孔、换层、绕线而出现长度差。Allegro提供实时相位检查,布线时会在差分对附近显示长度差提示。若超差,常用手段是在较短的一侧做“蛇形补偿”,但补偿位置应尽量靠近长度差的来源,避免在远端集中补偿造成局部阻抗不连续。

三、间距规则:差分阻抗与耦合方式

差分对的间距规则包含两个层面:线宽与线间距。两者共同决定差分阻抗。PCIe通常要求差分阻抗为85 Ω(部分场景为100 Ω),单端阻抗约42.5~50 Ω。在Allegro中,这些通过Physical > Differential Pair中的Line Width与Gap设置,并结合叠层信息由阻抗计算工具反推。

间距规则还涉及“耦合方式”。紧耦合(Gap较小)抗干扰能力强,但对过孔和绕线更敏感;松耦合(Gap较大)对相位偏差容忍度更高,但占用面积大。实际设计中,PCIe差分对常采用“松耦合+独立参考”策略,即Gap略大于线宽,降低对过孔不对称的敏感度。无论哪种方式,整条走线的Gap必须保持一致,否则阻抗会突变。

此外,差分对与其它网络之间还需设置差分对到其它网络的间距,通常不小于3倍线宽,以控制串扰。Allegro中通过Spacing约束中的Differential Pair类别设置。

四、过孔结构设置:换层处的对称性

过孔是差分对中最容易破坏对称性的环节。一个差分对换层时,P与N各需要一个过孔,若两个过孔的位置、焊盘尺寸、反焊盘尺寸不一致,就会引入额外的相位差和阻抗不连续。Allegro中通过Padstack定义过孔结构,差分对过孔应满足:

  • P与N过孔使用相同的Padstack,焊盘直径、钻孔直径、反焊盘直径完全一致;
  • 两过孔中心距尽量等于差分对Gap,保持耦合连续性;
  • 换层时尽量成对换层,避免单端换层;
  • 过孔附近设置回流地过孔,且地过孔到信号过孔的距离对称。

在约束管理器中,可通过Vias约束指定差分对允许使用的过孔类型,并限制过孔数量。例如设置“每对差分对最多2个过孔”,以控制换层带来的损耗。对于高速PCIe Gen4及以上,过孔残桩(Stub)需要背钻处理,Allegro中可在Padstack中定义背钻深度,并在约束中启用。

PCIe差分对:定义 → 规则 → 走线 → 过孔 ① 差分对定义 网络命名规则: PCIE_TX0_P / _N PCIE_RX0+ / - 逻辑对象: DP_PCIE_TX0 (规则挂载锚点) ② 约束规则配置 相位匹配 对内偏差 ≤ 5~10 ps 间距规则 差分阻抗 85Ω 线宽/Gap 整条走线一致 过孔结构 对称Padstack ③ 布线执行 实时相位检查 阻抗连续性检查 过孔数量限制 蛇形补偿位置 (靠近长度差来源) 差分对走线结构示意(俯视) P N Gap 过孔对 蛇形补偿 RX 回流地过孔(对称) P/N等长 · Gap一致 · 过孔对称 · 补偿靠近来源

五、规则配置的落地检查

规则配置完成后,不能只依赖“看起来对”。建议在布线前做一次约束检查:在Constraint Manager中确认差分对已关联、相位容差已填写、间距规则已生效、过孔类型已限定。布线过程中,Allegro的实时DRC会以高亮方式提示违规,例如相位超差会显示为黄色标记,间距不足会显示为红色标记。

一个常见的实操误区是:先布线,再补规则。这样做的后果是,已完成的走线不会自动“回退”到合规状态,需要手动调整。正确顺序是:定义差分对 → 配置约束 → 布线 → 实时检查 → 局部修正。对于PCIe Gen4及以上,还应在布线后运行Phase与Impedance专项检查,确认对内偏差和差分阻抗在允许范围内。

示例参数速查(以FR4、PCIe Gen3为例):差分阻抗85 Ω,线宽约0.15 mm,Gap约0.20 mm,对内偏差≤5 ps(约0.75 mm),过孔数量≤2,地过孔距信号过孔≤1.5 mm。以上为教学示例,实际设计请以叠层计算和芯片手册为准。

差分对创建与规则配置,本质上是把“电气要求”翻译成“几何约束”。定义解决配对,相位解决同步,间距解决阻抗,过孔解决换层对称。四者缺一不可,且必须在布线前完成配置,才能让Allegro在布线过程中真正“带着规则走线”。