信号完整性基础与眼图概念

做高速电路设计这些年,我跟很多年轻工程师聊过——大家一开始最困惑的,往往不是某个具体芯片怎么用,而是“信号怎么就坏了?”这个问题。明明布线规规矩矩,仿真也跑通了,可一到实际测试,眼图就是睁不开。说白了,这就是信号完整性(SI)没管好。

我个人的习惯是,每次拿到新板子,先把信号完整性基础捋一遍。别小看这一步,基础不牢,后面CTLE和DFE怎么调都没用。

1.1 什么是信号完整性?

信号完整性,简单讲就是“信号从发送端到接收端,还能保持多少原始信息”。在理想世界里,数字信号只有0和1,方方正正。但现实很骨感——每一条走线都是传输线,有阻抗、有损耗、有串扰。

常见的问题就这几类:

  • 反射——阻抗不匹配,信号弹回来,跟原信号叠加出振铃。
  • 损耗——高频分量被介质和铜箔吃掉,上升沿变缓,眼图闭合。
  • 串扰——相邻走线互相耦合,你不让我,我不让你。
  • 抖动——时钟和数据的边沿位置随机漂移,眼睛开始“发抖”。

我记得有一次,一个25Gbps的板子,前几次打样眼图非常差。检查了半天,发现是过孔的stub太长,高频分量全被反射掉了。换了个背钻工艺,眼图立刻就打开了。这种坑,踩过一次就记住了。

1.2 眼图的基本原理

眼图是个很直观的东西。你把接收端采到的很多个比特,按照时钟周期叠在一起,就形成了类似眼睛的图案。为什么叫眼图?因为中间那个空白区域像只眼睛。这只眼睛睁得越大,信号质量越好。

形成眼图有几个必要条件:

  1. 足够多的比特数(通常要10^6以上)
  2. 时钟恢复同步(CDR锁定)
  3. 示波器的余晖模式

其实你想想看,眼图本质上是在展示信号的概率密度分布。垂直方向看电压噪声,水平方向看时间抖动。哪边挤了,眼睛就闭上。

核心公式:眼图睁开的大小 = (Vhigh_min - Vlow_max) / (Vswing) × 100%

通常要求眼高 ≥ 200mV(对于1V摆幅),眼宽 ≥ 0.5 UI。

眼图形成与关键参数结构图 眼高 眼宽 抖动 噪声 Vhigh Vlow 眼图参数含义 • 眼高:噪声容限 • 眼宽:时间容限 • 抖动:边沿不确定性 • 噪声:电压起伏范围 典型劣化原因 → 损耗大 → 眼高降低 → 反射强 → 眼图畸变 → 串扰大 → 噪声增加 → 时钟抖动 → 眼宽变窄 合格指标(参考) 眼高 ≥ 200mV 眼宽 ≥ 0.5 UI

1.3 眼图参数解读

在项目调试中,我一般会重点盯下面这几个参数。记住它们,你就能快速判断信号“健不健康”。

参数 单位 含义 典型合格线(25Gbps)
眼高 mV 逻辑电平的最小差值 ≥ 200 mV
眼宽 UI 或 ps 采样窗口宽度 ≥ 0.5 UI
抖动(峰峰值) ps 边沿位置的总偏差 ≤ 0.3 UI
噪声(峰峰值) mV 电压波动的总幅度 ≤ 100 mV
占空比失真 % 高/低电平不对称程度 ≤ 5%

经验之谈:我去年调试一个56Gbps PAM4项目时,眼图一直有“双线”现象。刚开始怀疑CTLE没调好,后来发现是PCB上两根差分过孔的间距差导致skew。调整了等长后,双线消失,眼高从180mV升到了280mV。所以碰见眼图问题,先别急着动均衡器,看看物理层有没有瑕疵。

1.4 为什么眼图对高速设计如此重要?

你可能会问:“我仿真过S参数了,为什么还要测眼图?”答案很简单:S参数只看线性特性,而眼图包含了非线性效应、码间干扰(ISI)、以及实际的随机噪声。我经常把S参数比作人的“体检指标”,眼图则是“实际运动能力”。指标好看不代表能跑能跳。

在CTLE和DFE联合调整中,眼图是唯一的最终评判标准。CTLE负责把高频损耗补回来,DFE负责消除反射和串扰带来的后尾干扰。这两者怎么配合?看眼图就行——眼高不够先调CTLE,眼宽不足或者有“拖尾巴”再上DFE。

避坑指南:我曾经见过有人上来就把DFE的tap系数设到最大值,结果眼图出现“过均衡”——本来平缓的波形被压出了尖峰,眼图反而更差了。记住,均衡是补偿,不是放大。过犹不及。