Xilinx SERDES调试方法

2020-02-17 19:43发布

FPGA SERDES的应用需要考虑到板级硬件,SERDES参数和使用,应用协议等方面。由于这种复杂性,SERDES的调试工作对很多工程师来说是一个挑战。本文将描述SERDES的一般调试方法,便于工程师准确快速定位和解决问题。
  • 硬件检测
硬件检测可以分为原理图/PCB检查和板上硬件检查。这一部分的工作相对简单,但是很多时候问题是由这些看起来很不起眼的地方导致的。a)       原理图/PCB检查根据SERDES应用手册要求检查原理图和PCB设计。例如对于Xilinx 7系列GTX/GTH SERDES,可以参考UG476的Board Design Guidelines检查原理图和PCB设计。b)       板上硬件检查使用示波器/万用表等仪器设备实际测量板上硬件,确认提供给SERDES的工作环境正常。                     i.            检查电源的电压/精度/纹波/上电顺序是否符合数据手册的要求。例如对于Xilinx 7系列GTX SERDES,需要对照DS182检查。                   ii.            检查SERDES参考时钟频率/摆幅是否符合数据手册的要求,以及参考时钟的管脚位置是否正确。                  iii.            物理通道的检查,例如确认AC耦合电容的容值是否正确,光模块是否兼容,焊接是否正常。
2.使用IBERTIBERT是一个强有力的调试工具,可以用于调整参数设置和确认系统余量,也可以用于故障现象判断。IBERT在CORE generator里产生工程和BIT文件。将BIT文件下载到FPGA后,使用ChipScope Analyzer连接到FPGA上,就会出现IBERT的GUI调试界面。a)       检查PLL是否LOCK,如果没有,需要检查时钟和电源。比如时钟频率是否正确,SERDES是否选择了正确的时钟源。b)       将SERDES的TX和RX设为相同的数据pattern,例如PRBS-31。设置SERDES为Near-end PMA模式。如果这一步不能工作,检查TX/RX极性是否反转;检查TXUSRCLK/TXUSRCLK2/RXUSRCLK/RXUSRCLK2上的时钟频率是否正常。通过这一步保证SERDES内部工作正常。c)        将SERDES设置为Far-end PMA和Far-end PCS模式,确认远端设备的SERDES是否收发正常。通过这一步排除和时钟OFFSET相关的问题。d)       如果这些步骤工作正常,但是误码率很高,有可能是参数设置有问题。需要通过调整TX/RX的参数设置来解决。也可以通过EYE SCAN功能来得到最佳设置和判断系统余量。
3. 通用的调试步骤通常会使用一定的调试步骤来定位问题,避免重复工作。一开始,一般不进行整个工程的测试,而是基于SERDES的Wrappers工程,以方便定位问题。一般可以使用CORE generator里的Transceivers Wizard产生的Example Design。在Core generator里产生Transceivers Wizard的Example Design后,会输出源文件和scripts。利用scripts可以直接产生运行结果。Example Design里的数据产生和检测都是基于BRAM,可以很方便的修改数据。在工程里面,Chipscope VIOs and ILAs必须被加入到工程里面,进行控制和调试分析。a)       进行Near-end PCS测试。                     i.            启动SERDES复位(VIO)。                   ii.            确认复位结束(VIO)。                  iii.            检查SERDES状态信号(VIO)。                  iv.            使用计数器确认时钟频率(VIO)。b)       进行Near-end PMA测试。                     i.            确认CDR工作正常,检测CDR产生的恢复时钟(VIO)。                   ii.            Comma alignment和8B/10B状态检查(ILA)。c)        正常操作检测                     i.            确认clock correction电路状态(ILA)。                   ii.            确认Channel bonding电路状态(ILA)。                  iii.            链路通讯检查(ILA和VIO)。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
GoldSunMonkey
1楼-- · 2020-02-18 20:09
jakfens 发表于 2013-9-9 09:54
哈哈 没看懂 就不总结了

;P谦虚
shiyinjita
2楼-- · 2020-02-18 23:39
 精彩回答 2  元偷偷看……
葵花点穴手
3楼-- · 2020-02-19 03:33
猴大有没有关于IBERT使用的图文介绍啊,特别是里面各个功能的调整的讲解,virtex6

一周热门 更多>