以下文章来源于IC小鸽,作者IC小鸽
1.什么是眼图
眼图是一种表示链路性能指标的图形,图形内容像眼睛,所以简称眼图。它可以直观地评估信号性能指标,如信号质量、噪声、抖动等。如图1所示,横轴单位为时间,即UI(单位传输时间),纵轴单位是电压幅值,即mV(毫伏)。图中眼高为356.36mV,眼宽为0.75 UI。眼高是按照一定的规则在眼图图案中获取的纵轴的数值,眼宽是按照一定的规则在眼图图案中获取的横轴轴的数值。眼高和眼宽越大,表示眼图张开程度越大,即说明信号质量越好。
图1: On-Chip Eye Monitor Gradient Plot
2.On-Chip Eye Monitor是什么?
我们很多人都知道通过示波器可以生成眼图,那么有没有更方便的方式获取眼图呢?是有的,在主流的PHY中,都集成了On-Chip Eye Monitor模块,通过此模块可以完成数据的采样,从而生成眼图。On-Chip Eye Monitor在PHY的接收侧PMA模块中,采样的数据通常是经过CTLE和DFE均衡后的数据,此位置的数据是接收端真实使用的数据。On-Chip Eye Monitor在数据采样过程中不会对PHY RX侧的主数据流造成不良影响,即在PHY正常使用过程中也可以放心使用。On-Chip Eye Monitor根据配置参数,在X轴(时间)和Y轴(电压)确定采样点,从而进行数据采样。如果X轴设置了256个采样点,Y轴设置了256个采样点,(X,Y)的组合就有256x256=65536个,On-Chip Eye Monitor需要完成的采样点就有65536个。如果误码率标准配置成e-6,每个采样点至少需要采样1000000个比特。每个采样点的每次采样获取的数据都会跟主路径使用的数据进行比较,如果数据不一致,则错误统计计数加1,每个采样点完成采样后,错误统计计数可能是0,也可能是一个很大的数值。所以针对65536个采样点,On-Chip Eye Monitor都会产生一个统计计数。
如图2所示,On-Chip Eye Monitor有一个异或逻辑,其本质上是一个比较器,比较器的有2组输入,1组是主数据路径的数据,另外一组是在(X,Y)位置采样得到的数据
图2:Overview of On-chip Eye Monitor
3.用户是如何获取眼图的呢?
用户通过写特定的寄存器可以完成On-Chip Eye Monitor的配置和启动,用户通过读特定寄存器就能获得所有采样点的错误统计计数。在当前的案例中,用户就得到了65536个数据,用户按照On-Chip Eye Monitor提供的扫描顺序将65536个数据摆成256x256的矩阵,可以存在txt文件中。图3是表格形式存储的错误统计数据,可以看到中心区域的数值很小,数值为0或者接近0。
通过脚本(通常采样python)读取txt文件的所有数据,并且根据数据大小生成颜色鲜明的阶梯图形,即图1。本质原理是每个数值转成成一个像素点,不同的数值生成不同颜色的像素点,这样就形成了一张图片。在图1中,数值越大(错误统计越多)则像素点颜色越红,数值越小则像素点颜色越接近深蓝色。
图3:表格形式存储的错误统计
Keysight World 技术大会
(席位有限)
6.26上海,诚邀参加
领取专属 10元无门槛券
私享最新 技术干货