本文概述:眼图是高速信号质量最直观的评估方式,通过将大量比特波形叠加形成类似眼睛的图案。核心参数有三个:眼高(垂直开口,代表噪声容限)、眼宽(水平开口,代表时序裕量)和抖动(水平方向的不确定度)。判断眼图好坏的标准是看它能不能通过眼图模板(Mask),模板内不能有波形进入。分析眼图要结合具体的协议标准,不同速率的接口有不同的眼图模板要求。眼图质量差的常见原因包括通道损耗大、反射、串扰和码间干扰。

眼图三大核心参数

眼高
Eye Height
噪声容限
单位:mV
眼宽
Eye Width
时序裕量
单位:ps/UI
抖动
Jitter
时间不确定度
单位:ps

面试题

PCB信号完整性仿真中,眼图你怎么看?眼高、眼宽、抖动分别代表什么?怎么判断一个通道的信号质量是否合格?

面试官考察点

这道题考察的是你对高速信号分析的基本功。眼图是信号完整性分析中最核心的工具,做PCB仿真的人天天看眼图。面试官想知道你是不是真的做过仿真、会不会看结果、能不能从眼图中读出有用信息并定位问题。能结合具体协议标准和实际项目经验来讲的,分数会高很多。

回答思路

眼图的含义和生成原理

先说一下眼图是怎么来的。眼图本质上是大量比特数据叠加后的结果。仿真时,我们用一个伪随机二进制序列(通常是PRBS7或PRBS31)作为输入信号,经过S参数或物理模型仿真得到输出端的波形,然后以一个单位间隔(UI)为窗口,把所有比特的波形叠在一起,就形成了眼图。

之所以叫眼图,是因为叠加后的图形中间有一个开口,形状很像人的眼睛。开口越大,说明信号质量越好,接收端越容易正确识别每个比特是0还是1。如果开口变小甚至完全闭上了,说明信号质量差到已经无法可靠传输了。

三大参数详解

VH

眼高(Eye Height)

眼高是眼图垂直方向的开口大小,单位是电压(mV或V)。眼高代表的是噪声容限,也就是信号在最坏情况下,接收端还能可靠区分高低电平的电压余量。

眼高越大说明噪声容限越大,抗干扰能力越强。比如眼高有200mV,就意味着即使有200mV的噪声叠加在信号上,接收端也能正确识别。实际的高速串行标准一般对眼高有明确要求,比如PCIe Gen3要求接收端眼高至少要到几十mV的量级。

影响眼高的主要因素:通道损耗(插入损耗)、反射(回波损耗)、串扰、电源噪声。损耗越大,眼高降低越明显。

VW

眼宽(Eye Width)

眼宽是眼图水平方向的开口大小,单位是时间(ps),也常用UI(单位间隔)来表示,1UI就是一个比特的周期。比如10Gbps的信号,1UI就是100ps。

眼宽代表的是时序裕量,也就是接收端有多长的时间窗口可以用来采样信号。眼宽越大,采样窗口越充裕,对时钟抖动的容忍度越高。

举个例子,如果眼宽是0.6UI,就说明在一个比特周期内,有60%的时间信号是稳定的,接收端在这个区间内采样都能采到正确的值。眼宽减小的主要原因是抖动和码间干扰。

TJ

抖动(Jitter)

抖动是信号跳变沿在时间上的不确定度,也就是本该跳变的时间点前后偏移了多少。抖动直接影响眼宽,抖动越大,眼宽越小。

抖动可以分为随机抖动(RJ)和确定性抖动(DJ)两大类:

  • 随机抖动:由热噪声等随机因素引起,服从高斯分布,没有边界,用RMS值来描述

  • 确定性抖动:有明确来源、有界的抖动,比如码间干扰(ISI)、串扰引起的抖动、周期性抖动等

总抖动TJ = DJ + n × RJ,其中n是根据误码率要求来的,比如BER=10的负12次方时n约等于14。抖动分析是高速设计中非常重要的一环。

怎么判断信号质量是否合格

判断眼图好不好,不是凭感觉看开口大不大,而是要和具体的协议标准对比。每个高速协议都有自己的眼图模板(也叫眼图蒙罩,Eye Mask)。判断方法就是看眼图的波形有没有碰到模板。

  • 合规判断:把协议规定的眼图模板套在眼图上,如果所有波形都在模板外面、没有进入模板区域,就说明通过了。如果有波形进入了模板内部,就是不合格。

  • 裕量评估:除了过不过,还要看有多少裕量。一般建议眼高和眼宽至少要有20%以上的裕量,考虑到实际加工公差和温度变化的影响。

  • 结合误码率:眼图是在特定误码率下的统计结果。协议要求的误码率不同,眼图的开口大小也不同。通常说的是BER=10的负12次方下的眼图。

  • 看趋势不看点:单次仿真的结果不代表全部,还要扫一下不同工艺角、不同温度下的情况,看最坏条件下是否还能满足要求。

眼图差的常见原因分析

现象可能原因优化方向
眼高整体偏低,眼图上下压缩通道插入损耗太大,高频衰减严重优化板材、缩短走线长度、加均衡
眼宽偏小,左右方向压缩抖动过大,可能是ISI或串扰引起优化阻抗连续性、减少串扰、加CDR
眼图有明显的台阶反射严重,阻抗不连续点多优化过孔设计、控制阻抗一致性
眼图不对称上升沿和下降沿不一致,可能是串扰或差分对不对称检查差分对称性、优化串扰源
眼图中间有横线码间干扰严重,前一个比特影响了后一个优化通道带宽、考虑预加重/均衡

面试官追问

追问1:为什么要用PRBS码做眼图仿真?随机数据不行吗?
眼图需要统计意义上的最坏情况,所以输入信号要包含各种数据模式。PRBS(伪随机二进制序列)是一种伪随机码,它的频谱特性和随机数据很接近,同时又是确定的、可以重复的,方便仿真和测试。PRBS的阶数决定了序列长度,阶数越高越长,包含的模式越丰富,统计结果越准确。常用的是PRBS7、PRBS15、PRBS31。阶数越高仿真时间越长,所以要在精度和时间之间平衡。短通道用低阶的就够,长通道高速率建议用高阶的。
追问2:单端眼图和差分眼图有什么区别?
单端信号看单端眼图,差分信号看差分眼图。差分眼图是用P端减N端得到的差分信号做的眼图。差分信号因为有共模抑制能力,差分眼图通常比单端眼图更干净,抗干扰能力更强。看差分眼图要注意P和N的对称性,如果两边不对称,差分眼图的质量会下降,还会产生共模噪声。差分对的等长、对称、阻抗一致都是为了保证差分眼图的质量。
追问3:仿真的眼图和实测的眼图差别大吗?为什么?
有差别是正常的,关键是差别在可接受范围内。仿真和实测的差异主要来自几个方面:一是模型精度,IBIS模型是简化的行为模型,和真实的芯片特性有差距;二是PCB加工公差,线宽、介质厚度、铜箔粗糙度都有公差范围;三是仿真通常没有考虑电源噪声的影响,而实测中电源噪声会叠加在信号上;四是温度的影响,仿真一般用常温,实际工作温度不同。所以仿真做最坏情况分析的时候,要加工艺角、温度、电压这些变量,扫一遍,保证最坏情况下也能过。
追问4:眼图还可以,但是系统还是误码率高,可能是什么原因?
这种情况也遇到过。眼图好只能说明信号本身的质量没问题,但误码还可能和其他因素有关。第一,接收端的均衡器设置不对,虽然通道有损耗,但接收端CTLE或DFE没调好,也会导致误码;第二,时钟恢复电路(CDR)的性能,CDR跟踪能力不够或者锁定不好,采样点偏了;第三,电源完整性问题,电源噪声太大导致接收端内部的参考电平不准;第四,串扰可能是突发性的,眼图里统计的是平均情况,但某些特定数据模式下串扰特别大。所以遇到误码问题要综合看,不能只看眼图。

失分表达

常见失分回答

  • "眼图就是看开口大不大,大的就好小的就不好" —— 太表面,没有量化和标准的概念

  • "抖动就是噪声引起的" —— 太笼统,抖动分很多种,来源也不同

  • "眼高是多少多少就够了" —— 不说适用条件和协议标准,不同速率要求不一样

  • "仿真和实测肯定一致" —— 说这种话容易被追问,实际工作中差异是常态

准备动作

  • 找一份信号完整性的教材,把眼图和抖动的基础概念系统学一遍

  • 用仿真软件(比如ADS、Sigrity或者免费的工具)亲手做一次通道仿真,生成眼图

  • 了解至少一种高速协议(PCIe、USB、以太网等)的眼图模板要求

  • 准备一个你实际做过的仿真项目,讲清楚怎么建模仿真、结果怎么分析、最后怎么优化的

  • 了解一下预加重、均衡这些信号调理技术,它们和眼图的关系

核心关键词

PCB仿真、眼图分析、眼高、眼宽、抖动、信号完整性、PRBS码、眼图模板、误码率、SI仿真面试