1. PCIe通道设计需求解读
PCIe通道设计的第一步不是打开Allegro画线,而是把一份系统级规格书翻译成可执行、可验证的PCB设计约束。很多通道在后期眼图测试中闭合困难,根源往往不在布线技巧,而在于需求解读阶段就漏掉了速率、拓扑或损耗预算中的某一项。本节围绕"速率—拓扑—损耗预算—眼图目标"这条主线,说明如何把系统规格逐层拆解为Allegro中的约束管理器(Constraint Manager)条目。
一、先确定速率与协议代际,它决定一切
PCIe Gen1/2/3/4/5/6的单通道速率分别为2.5、5、8、16、32、64 GT/s。速率直接决定奈奎斯特频率:Gen3的8 GT/s采用128b/130b编码,奈奎斯特频率为4 GHz;Gen4的16 GT/s对应8 GHz;Gen5的32 GT/s对应16 GHz。这个频率是后续所有损耗、阻抗、过孔和材料选择的基准。设计前必须从系统规格中确认三件事:链路宽度(x1/x4/x8/x16)、目标代际、以及是否要求向下兼容。例如一块AI加速卡标注"PCIe Gen4 x16,兼容Gen3",意味着通道必须在16 GT/s下满足损耗预算,同时保证8 GT/s下也能正常训练。
需要特别注意的是,PCIe Gen5及以上引入了更严格的通道损耗规范,且Gen5的32 GT/s在NRZ下对插入损耗、回波损耗和串扰都极为敏感。若系统规格只写了"支持PCIe 4.0",但实际芯片组是Gen5 PHY降速使用,仍应按Gen5的通道特性预留余量,否则后期升级会受限。
二、拓扑结构:点对点、连接器与中间器件
PCIe是点对点差分链路,但实际通道中常包含连接器、金手指、线缆、Redriver/Retimer、AC耦合电容等。拓扑解读要回答:从发送端Die到接收端Die之间,信号经过哪些物理段?每段的长度和损耗特性如何?常见拓扑有三类:
- 芯片到芯片(板内):无连接器,损耗主要来自PCB走线、过孔和封装,预算最宽松。
- 芯片到连接器(插卡):包含金手指和插槽,需计入连接器损耗,通常要求走线尽量短。
- 芯片—连接器—线缆—背板:用于服务器和存储,损耗最大,往往需要Redriver或Retimer补偿。
在Allegro中,拓扑信息应转化为拓扑约束(Topology Constraint)和引脚对(Pin Pair)定义。例如从CPU的PCIE_TX0_P/N到连接器J1的对应引脚,建立明确的Pin Pair,并标注每段的允许长度范围。若中间有AC耦合电容,需在拓扑中体现其位置——通常要求电容靠近发送端,且电容焊盘处做阻抗补偿。
三、损耗预算:把总预算拆到每一段
损耗预算是需求解读的核心。PCIe规范给出的通道损耗预算是一个总值,例如Gen4在8 GHz下允许的插入损耗约为28 dB(含封装和连接器,具体数值随规范版本和参考点不同而变化,设计时应以所用芯片的Datasheet和PCIe Base Spec为准)。这个总预算必须拆解到PCB走线、过孔、连接器、线缆和AC耦合电容各段。
一个实用的拆解方法是先列出各段的单位损耗,再反推允许长度。以某Gen4插卡为例(以下为教学示例参数,非实测):
| 通道段 | 单位损耗(@8 GHz) | 允许长度/数量 | 预算占用 |
|---|---|---|---|
| PCB走线(Megtron 6,宽线) | 约0.35 dB/inch | 4 inch | 1.4 dB |
| 过孔(含残桩) | 约0.3 dB/个 | 2个 | 0.6 dB |
| 连接器+金手指 | 约1.5 dB | 1组 | 1.5 dB |
| AC耦合电容 | 约0.2 dB | 1对 | 0.2 dB |
| 封装+芯片 | 约3 dB | — | 3 dB |
| 余量 | — | — | 预留3 dB |
把上述各项相加,若总预算为12 dB,则剩余约2.3 dB可用于额外走线或补偿。这个拆解过程必须在Allegro约束管理器中以"损耗预算表"或"设计规则"的形式落地,而不是停留在Excel里。
四、眼图目标:从规范到设计余量
眼图目标是损耗预算的最终验收标准。PCIe规范定义了发送端眼图模板(Transmitter Eye Mask)和接收端抖动容限。设计者需要关注的是:在目标速率下,经过整个通道后到达接收端芯片引脚处的眼高、眼宽和抖动是否满足芯片的接收要求。通常芯片Datasheet会给出接收端眼图模板,例如Gen4接收端在8 GHz下要求眼高不小于某值、总抖动不超过0.3 UI等。
设计阶段无法直接测眼图,因此要把眼图目标转换为可仿真的指标:插入损耗(IL)、回波损耗(RL)、串扰(NEXT/FEXT)、阻抗连续性。在Allegro中,这些对应到约束管理器的电气约束集(Electrical Constraint Set),包括差分阻抗100 Ω±10%、差分对内偏斜≤5 mil、对间偏斜≤10 mil等。若使用Sigrity或HFSS进行通道仿真,则需在仿真设置中明确眼图模板和BER目标(通常为1E-12)。
五、从规格到Allegro约束的映射关系
把上述四类需求映射到Allegro,形成一张可执行的约束清单:
- 速率 → 差分对的目标阻抗、允许的过孔数量、材料选择(Dk/Df)。
- 拓扑 → Pin Pair定义、拓扑约束、AC电容位置规则。
- 损耗预算 → 最大走线长度、过孔残桩长度限制、连接器选型要求。
- 眼图目标 → 电气约束集、仿真模板、BER目标、回波损耗和串扰限值。
下面这张图展示了从系统规格到Allegro约束的完整映射链路,以及各环节的关键参数和判断依据。
这张图的核心逻辑是:系统规格先拆成速率、拓扑、损耗预算三个可量化的维度,三者共同决定眼图目标;眼图目标再反向映射为Allegro约束管理器中的具体条目;最后通过通道仿真验证眼图是否闭合,若不闭合则回到约束层迭代。设计者需要养成"先读规格、再算预算、后画约束、终验眼图"的顺序习惯,避免在布线完成后才发现损耗超标。
完成本节的需求解读后,你应该能够拿到一份系统规格书,独立列出目标速率、拓扑路径、各段损耗预算和眼图模板,并在Allegro约束管理器中建立对应的差分对、Pin Pair和电气约束集。这是后续所有通道设计工作的起点,也是眼图能否闭合的第一道保障。