这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » XilinxSERDES调试方法

共5条 1/1 1 跳转至

XilinxSERDES调试方法

工程师
2020-02-02 15:38:33     打赏

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.使用IBERT

IBERT是一个强有力的调试工具,可以用于调整参数设置和确认系统余量,也可以用于故障现象判断。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)。




工程师
2020-02-03 14:52:43     打赏
2楼

挺不错的见解


助工
2020-02-04 13:57:32     打赏
3楼

不错的方法


工程师
2020-02-05 16:36:51     打赏
4楼

方法很实用 尝试过了


高工
2020-03-04 22:09:04     打赏
5楼

实用的方法


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]