一个典型场景:PCIe差分对布线时,从表层走到内层,过孔特性阻抗跟走线不匹配。信号弹回来,眼图上下抖动,眼高直接缩水。
我做过一次Gen3的板卡调试,遇到一个长拓扑走线,中间有两处换层,反射波互相叠加导致接收端电压摆幅降得太低——PCB改版才解决。你想想,如果仿真阶段就把这些反射算准,能省多少改板费。
#### 串扰
串扰是相邻信号线之间的电磁耦合。PCIe差分对自身有抗共模能力,但差模转共模之后,串扰也会影响眼图。
我的实测经验:在PCIe Gen4主板上,我曾经把一对差分线旁边紧贴着跑了一根时钟线,结果近端串扰(NEXT)导致接收端抖动大了接近1ps。后来拉开3倍线宽间距,串扰降了6dB以上。
串扰分近端(NEXT)和远端(FEXT)。对PCIe来说,接收器本身的共模抑制比(CMRR)能滤掉一部分,但别指望它能扛住所有串扰。布线时“3W原则”只是起点,高频时最好做到5W甚至更大间距。
#### 损耗
损耗来源于导体损耗(铜皮粗糙度、趋肤效应)和介质损耗(介质损耗角正切)。PCIe信号随着距离增长,幅度衰减、上升沿变缓,眼图会越来越闭合。
我见过一块长通道板卡,走线超过12英寸,16GT/s下眼图基本看不到了。后来用了低loss板材(如Megtron 6)和更宽的走线(阻抗控制下微带线宽加到4.7mil),才勉强通过规范。
注意:损耗不是线性的。高频分量(眼图上升沿、下降沿的高次谐波)衰减更快。所以损耗过大时,眼图不仅幅度变小,上升时间也变慢——这叫“色散”。PCIe接收器均衡电路(CTLE/DFE)可以补偿一部分,但板级损耗太大时,均衡也帮不上忙。
### 眼图与抖动
眼图是SI质量的“体检报告”。波形叠加在一起,眼睛睁开越大越好。抖动是眼图闭合的主要推手。
抖动分成随机抖动(RJ)和确定性抖动(DJ)。RJ是热噪声引起的,符合高斯分布;DJ来自于串扰、电源噪声、ISI(码间干扰)等。总抖动Tj = 14.069 × RJ + DJ(这个系数对应10⁻¹² BER,PCIe一致性测试常用的误码率)。
我在项目中见过一个隐蔽的问题:某块Gen4背板眼图抖动超标,查了三天,发现一颗去耦电容焊反了,导致电源纹波耦合进时钟。换掉电容,抖动直接降了一半。所以排查抖动时,不要只看信号路径,电源和地回路也是重灾区。
### 频域与S参数
SI不是只看时域。频域提供了另一个视角——S参数。S21(插入损耗)告诉你在不同频率上信号衰减了多少;S11(回波损耗)反映阻抗匹配情况;S12/S21(反向隔离度)反映串扰。
我建议:做PCIe通道仿真时,把S参数扫到3倍时钟频率(比如Gen4基频4GHz,扫到12GHz以上)。为什么要高?因为眼图边缘的高频分量决定了眼高和眼宽。很多仿真工具只看S21@4GHz就拍脑袋,结果做出来板子高频滚降严重,一致性测试秒挂。
下面的表格归纳了PCIe Gen3到Gen5的典型频率目标:
| 代际 | 基频 (GHz) | 建议扫到频率 (GHz) | S11典型要求 | S21最大插损 |
|------|------------|-------------------|-------------|-------------|
| Gen3 | 4 | 12 | < -10 dB @ 4GHz | < -20 dB @ 4GHz |
| Gen4 | 8 | 24 | < -10 dB @ 8GHz | < -15 dB @ 8GHz |
| Gen5 | 16 | 32-48 | < -10 dB @ 16GHz | < -12 dB @ 16GHz |
注:高频S参数测量需要去嵌和校正,否则探头/夹具引入的误差会淹没真实信号。
### 阻抗与匹配
PCIe差分对目标阻抗通常是85Ω(也有100Ω的老标准)。单端阻抗45Ω(差分2倍)。实际设计中,我会把它当做硬约束:走线参数(线宽、间距、介质厚度)必须精确计算,并且通过TDR验证。
我曾经遇到过一个案子:设计文档写着85Ω,layout工程师按85Ω走,结果TDR测出来是90Ω。回来一查,是参考层的铜皮挖了一部分,局部阻抗翘上去了。所以说,仿真和实测必须对账,不能100%信任单点计算。
上图画了SI的核心框架:传输线是舞台,反射、串扰、损耗轮流捣乱,最后通过眼图、S参数、阻抗匹配来量化和控制。
### 综合实战要点
我做PCIe仿真时,一定会走一遍这个流程:
1. 先做叠层设计和阻抗计算,确保板材和线宽能跑目标速率。
2. 提S参数(通道拓扑:发送端IC + 过孔 + 走线 + 连接器 + 背板 + 接收端IC),扫频范围3倍基频以上。
3. 回波损耗S11和插入损耗S21看是否在规格内;同时跑眼图仿真,看眼高、眼宽、抖动是否符合PCIe一致性模板。
4. 如果有串扰风险(长平行走线或紧邻时钟/数据),额外提取串扰S参数,做近端/远端串扰分析。
5. 最后,TDR实物验证阻抗连续性,眼图仪测眼图,对比仿真结果。
避坑提醒:仿真时别忘了包含封装寄生参数(封装通常有0.3~0.5nH的电感和几十fF的电容)。我曾经因为忽略封装模型,仿真眼图全pass,实物测出来全fail——浪费了两周时间。从那以后,我每次都要求芯片厂提供IBIS-AMI或等效的封装模型。
说完这些,我觉得SI基本概念就这些。但你想想看,光知道概念还不够——下一步得动手仿真,把每个参数调到位。这个咱们后面章节慢慢展开。