打印

Xilinx SERDES调试方法

[复制链接]
2008|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
GoldSunMonkey|  楼主 | 2013-9-5 23:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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)。


评分
参与人数 1威望 +5 收起 理由
星星之火红 + 5

相关帖子

沙发
jakfens| | 2013-9-6 14:11 | 只看该作者
have a look

使用特权

评论回复
板凳
ymind| | 2013-9-6 21:16 | 只看该作者
是翻译还是自己经验总结?很全很透。

使用特权

评论回复
地板
GoldSunMonkey|  楼主 | 2013-9-6 23:09 | 只看该作者
jakfens 发表于 2013-9-6 14:11
have a look

评价呢?

使用特权

评论回复
5
GoldSunMonkey|  楼主 | 2013-9-6 23:10 | 只看该作者
ymind 发表于 2013-9-6 21:16
是翻译还是自己经验总结?很全很透。

必须总结经验啊

使用特权

评论回复
6
星星之火红| | 2013-9-7 23:28 | 只看该作者
太好啦

使用特权

评论回复
7
jakfens| | 2013-9-9 09:54 | 只看该作者
GoldSunMonkey 发表于 2013-9-6 23:09
评价呢?

哈哈 没看懂 就不总结了

使用特权

评论回复
8
GoldSunMonkey|  楼主 | 2013-9-9 23:44 | 只看该作者
jakfens 发表于 2013-9-9 09:54
哈哈 没看懂 就不总结了

;P谦虚

使用特权

评论回复
9
shiyinjita| | 2013-9-10 20:01 | 只看该作者
超级有价值的经验啊

使用特权

评论回复
10
葵花点穴手| | 2015-10-10 19:13 | 只看该作者
猴大有没有关于IBERT使用的图文介绍啊,特别是里面各个功能的调整的讲解,virtex6

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:                     2014, 追逐梦想

264

主题

17215

帖子

523

粉丝