IBERT 眼图机制
眼图理论
左图是我们常用示波器看到的眼图效果,右图是使用 IBERT 的眼图。IBERT 眼图会比示波器眼图更小,是由于受到非常低概率抖动和噪声的影响,眼图有些许闭合。IBERT 的眼图颜色指示误码率高低。
- data sample:通过 RX 均衡器后采样从均衡后的差分波形中恢复的 RXDATA 。水平采样位置由 CDR 函数确定,垂直位置为差分零点。
- offset sample:为了实现眼睛扫描功能,提供了一个额外的可编程偏移量采样器。通过横向和纵向偏移采集的全部阵列构成眼图。
图 4-19 中灰色部分是 PMA 架构中支持眼睛扫描的部分
RX 接收数据在经过均衡器后被三个采样器采样,经过解串后输出给 PCS。其中
- Rdata:数据样本
- Sdata:偏移样本
- HORZ_OFFSET :提供了采样时间的偏移
- VERT_OFFSET: 改变了均衡波形比较的差分电压阈值
PMA 采集到的数据,在 PCS 内部进行比较
- Sample Counter:统计采样的数量
- Error Counter:统计数据样本和偏移样本不一致的数量
简单理解,最终在眼图上显示的每个点就是错误计数与采样计数的比值。用 Heat map 视图可以明显看出来
坐标系
来看 12.5Gb/s 速率的 IBERT 眼图,上图的 contour(Filled)视图
-
Y 轴
Y 轴为电压维度,这里的单位是
codes
,在【UG576】Table 4‐20 中可以找到对应关系
这里的 count 对应单位 codes,默认1.5 mV/count
-
X 轴
X 轴为时间维度,这里的单位为 UI。手册中没有明显说明,参考社区回答
Eye scan using IBERT (xilinx.com)
UI 换算与 GT 的速率有关,以12.5 Gb/s 为例,1 UI = 1000/12.5 ps = 80 ps。图中 -0.5 UI ~ 0.5 UI 就对应 -40 ps ~ 40 ps。
-
Z轴
我们知道,Z 轴表示 BER,那么 BER 的精度由什么来控制?在 create scan 界面可以看到 Dwell 选项里面有 BER 的选择,这里就决定了 BER 的精度。
但是选择精度更高意味着采样点数更多,例如 1e-5 精度每个 offset 需要采集 1e5 样本,这里的 offset 由设置中的 increment 决定。提高精度将大幅增加眼图所需的时间。
如何评价眼图
大部分的资料都有提及,眼图中蓝色区域越大表示信号完整性越好
那么眼图睁开到什么情况可以用呢?
手册中没有明显提及这个问题,但是根据社区回答,其实是有一个标准可以参考
too wide eye from 2D eye scan via in-system-ibert (xilinx.com)
Any parameters we can tune GTY transceiver to make eye open area bigger? (xilinx.com)
图中的 steps
对应眼图中的codes
,当眼图中的蓝色区域大于图中临界值,说明信号完整性是满足要求的。
手动眼图扫描
利用 GT的 DRP 端口接口,以执行简单的眼部扫描。
64098 - Implementing RTL based Eye Scan in 7 Series GTX (xilinx.com)
67295 - Manual Eye Scan with UltraScale GTH in 9 steps (xilinx.com)
70872 - Manual Eye Scan with UltraScale+ GTH (xilinx.com)
66517 - Manual Eye Scan with UltraScale GTY in 10 steps (xilinx.com)