Xilinx 7系列GTX的初步问题定位方法

https://zhuanlan.zhihu.com/p/45883037

本文介绍Xilinx GT的一些概念,对GT没有概念但是有时间的童鞋推荐先看一下下文,补充一些基础概念。

XTWL TPCL:Xilinx 7系列FPGA 高速收发器GTX/GTH的一些基本概念​

随着需求的多样化,FPGA的功能也进一步的增强。其中,高速收发器从本来是只有高端FPGA才有的模块,已经变为相对普及的甚至必备的功能模块。而10G的线速率也从多年前的少数FPGA支持,变为目前的主流线速率。

由于FPGA的最大特点就是灵活,所以FPGA的高速收发器也拥有非常繁琐的配置选项,目的就是为了灵活地支持各种传输协议。之所以称之为繁琐,就是灵活性带来的弊端,即想要理清楚诸多的功能,就需要非常多时间在高速收发器上。

不过对于大部分的用户来说,需要使用高速收发器的接口通常是相对固定的,这样功能也就相对固定。这样就没有必要理解高速收发器全部的功能,只要理解需要使用的配置含义即可。这样可以快速进行尝试/测试,在尝试/测试过程中结合文档进行深入理解。这样比强行读完文档再动手实践,学习效果上有可能更好。所以Xilinx的高速收发器中默认就带了一些常用接口的配置,便于用户的学习/使用。

Xilinx 7系列FPGA芯片配置四种高速收发器,按照支持的最高线速率从低到高排列分别是GTP,GTX,GTH,GTZ。
GTP由于结构问题,使用起来灵活性较差,同时支持的最高线速率也只有6.x个G。GTZ属于7系列中最高端的高速收发器,集成GTZ的FPGA很少,同时也是用了多die技术,物理上和FPGA主体是两个部分。对这两种GT,本文不做更多的介绍。
与GTX相比,GTH整体结构几乎一样,只是在个别细节有更多的配置或者更强大的性能。考虑到文档都是同一篇文档,所以本文以GTX为例。本文所有内容,除非特别注明,都同时适用于GTX和GTH。

对于高速收发器GTX来说,虽然可以通过IP中的默认配置来进行初步的学习,而且有一定基础之后,可以手动配置GTX参数。但是如果不充分理解GTX的各个功能,最常见的被卡住的地方,就是不能/不知道如何进行正确的问题定位。所以文本的主题就是介绍一些常用的调试手段和步骤,便于使用者初步定位问题。即使无法定位,将这些调试工作详细记录并提交给FAE,也会有很大的帮助。

这里需要说明,GTX的问题通常都不简单,调试工作更是繁琐。而且很可能无功而返,最终还是要请FAE/技术支持来帮忙解决。但是这不代表可以将所有的工作都推给FAE/技术支持。进行一些初步的调试,并将结果反馈给FAE/技术支持,可以让专家更快的理解问题的现象并给出进一步的建议,而无需从最基础的工作开始一步一步检查。

第一步,在配置好的GTX的IP基础上,生成GTX的example design,并做仿真。

首先,Vivado工具的一个优点就是几乎所有IP都会提供一个基于IP配置的example design,对于GTX这样复杂的IP,这个example design是一个完成的工程,提供了多种用途,是一个非常好用的学习/调试工具。第一步先使用这个工程进行仿真,这样便于理解GTX的具体操作,并与实际结果做对比。

这里强调一下,并不是针对GTX的,对于任何FPGA的设计,都推荐尽量进行充分的仿真。

第二步,直接使用GTX的example design作为工程,抓一下rx fsm reset done和rx status状态机。如果有条件,可以使用8b10b在真实环境中进行测试。

说明一下8b10b的作用。8b10b在这里的作用是用于查看是否有8b10b的错误,如果出现8b10b的错误则表明有很高的概率是硬件有问题,可以重点查看PCB走线质量、时钟/电源等地方。如果没有使用8b10b的环境(连测试环境都无法使用8b10b),那么问题会棘手一些。

rx fsm reset done是接收端任务完成的标记,通常这个信号拉高表示接收端没有问题,通常就代表GTX可以正常工作。如果无法稳定拉高,则查看rx status的变化,看看是哪一步(或者哪几步)导致无法拉高rx fsm reset done。

至于这两个信号的出处。example design中提供了一个复位状态机。默认是不包含在IP Core中,放在example design中。最终的设计,建议使用example design作为一个整体,而不是只使用IP Core。

第三步,使用ibert工具测试一下误码率,并查看一下眼图。

如果example design能够正常工作了,那么除非GTX IP设置有问题,通常来说,GTX最基本的应用是没问题的,很大可能是GT的上层控制有问题。如果example design测试有问题,rx fsm reset done信号无法拉高,并有8b10b错误,下一步用ibert检查一下硬件电路是必要的。

在对端可以发送prbs的条件下(比如对端FPGA上运行的也是ibert),ibert可以测试误码率。通过误码率来查看一下链路质量是否有问题。

无论误码率测试是否可以进行,ibert都可以对接收端进行眼图的扫描。通过查看眼图的大小,可以初步判断链路的质量。

ibert是Xilinx针对FPGA的高速收发器提供的测试工具。通常在PCB完成之后就可以先用ibert对高速收发器的链路质量进行测试。另外,如果需要进行高低温测试,直接使用ibert也是一个不错的选择。

第四步,有条件的情况下进行外部环回测试。

FPGA使用高速收发器的时候,一个常见的场景就是使用外部线缆,比如光模块/光纤,或者同轴电缆等。这个时候是条件进行外部环回测试的。将example design进行外部环回测试,及同一个GTX的TX发出信号通过外部线缆返回到自己的RX端。如果这个测试结果是稳定的,表明GTX是可以正常工作的。

另外还有很多情况是无法进行外部环回测试的,比如收发器走线是固定在PCB上的,例如PCIE。这种情况下,如果是两个Xilinx的FPGA对接,可以考虑利用FPGA内部的远端环回进行测试。具体原理是待测GTX的TX发送数据,送往辅助的FPGA的GTX,辅助GTX从RX收到数据后直接送给TX发送出去,待测GTX的RX端接收到辅助GTX TX端发来的数据,完成环回。相当于利用辅助GTX来实现一个外部环回。需要注意的是,远端环回的使用是由条件限制的,具体请参考7系列GTX/GTH的手册UG476。

外部环回测试,如果example design的结果不理想,可以用ibert再进行一次测试,有条件的情况下误码率和眼图都查看一下。可以作为对比分析的数据。

第五步,在有条件的情况下,使用高速示波器,查看FPGA GTX RX接收端PIN上的眼图。

这一步的条件限制最大。高速示波器的价格昂贵,而且使用复杂。同时由于FPGA多为BGA封装,GTX的RX PIN很可能无法使用示波器探头进行测试。所以很多用户是没有办法进行这一步的测试的。

至于GT内部的2D eye scan眼图的使用,理论上是可以用来帮助调试的。但是实际上,当用户会使用2D eye scan的时候,通常也就不需要本文的一个初步调试的建议。所以本文针对的是初级用户,相对高级/复杂的2D eye scan在这里不做介绍。

下面更进一步分析一下第二到第五步的具体作用。

第二步的rx fsm reset done信号可以作为GTX正常工作的指示信号。如果example design在最终的使用/测试场景中可以稳定工作,该信号稳定为高,可以表示设计几乎没有问题。如果用户自己的设计出现问题,大概率是GTX代码集成时的问题,比如没有正确使用example design,或者,问题不来自GTX模块。另外,如果配置有不合适的地方,可以参考仿真,并参考第四步的测试。

这里要注意一下,example design中用自带数据源和接收数据进行比较验证,来判断数据是否正确。如果用户使用自己的数据源,可能会导致数据验证模块一直输出出错,从而导致rx复位状态机持续被复位。

这个问题可以通过查看rx status来判断。另外其他的可能性也都会反映在rx status信号的变化中。所以rx status是个很重要的调试信号。

至于8b10b,最大的优势就是自带错误检查。如果出现8b10b的错误,则很大概率是链路有问题。

在第二步的基础上用ibert进行测试,原因是除了可以测试误码率和眼图之外(其实这两个功能自己设计逻辑也可以实现),ibert将GTX的所有参数都拉了出来,可以进行任意的配置。如果第一步的发现是怀疑硬件链路有问题,利用ibert检查一下链路是个不错的方法,并且可以通过调整部分GTX的参数来尝试降低误码率,扩大眼图。另外,眼图的大小也是有参考意义的。

这里需要注意一下,ibert和GTX example design是完全不一样的设计。ibert只是为了便于测试,GTX的很多参数值与实际使用中的值不一样。所以相比ibert,GTX example design更接近最后实现的结果。

当说到大概率是硬件链路的问题时候,这个结论对调试可能没什么帮助。所以这个时候需要进行环回测试。如果可以进行外部环回测试,发现环回测试正常,那么可能是某一端的端接部分有问题,或者两边GTX参考时钟频偏比较大。如果外部环回测试无法正常通过检查,那么可以打开GTX的近端PMA环回进行测试(不要用近端PCS环回进行测试)。如果近端PMA环回测试正常,可以认为是外部链路质量有问题(比如光模块/光纤有问题),如果近端PMA环回测试不正常,大概率是时钟/电源有问题。

环回测试可以做两次,一次用GTX example design,一次用ibert,来对比结果。类似光纤有问题这样的原因两次测试都能得出一样的结果。如果结果符合预期,那么就离真正的问题原因更进一步了。

眼图的测量是判断链路质量的最终依据。通过使用外部示波器和ibert来测量眼图,具体数据可以交给FAE,可以得知是否符合GTX的要求(原厂应该有相关数据,但是似乎没有开放给普通用户查看)。

示波器和ibert测试的眼图,是不一样的。通常用示波器,测量FPGA GTX RX pin脚出的眼图,称之为远端眼图。用ibert测量出来的原图,称之为近端眼图。

远近端眼图是按信号是否经过RX PMA来区分的。远端眼图是没有经过RX PMA的信号,近端眼图是通过RX PMA的信号。

出自UG476

RX PMA的对接收到的信号有一定的处理功能(上图中RX EQ、DFE)。处理后的信号质量会变好。所以通常经过RX PMA的信号会比Pin脚处更好,导致近端眼图好于远端眼图。

具体的调试步骤,虽然总结成5个步骤,但是如果不熟悉,实现起来还是很麻烦的。不过由于GTX的问题通常都比较难以定位,所以这些测试一方面有很多参考价值,另一方面也加强了对GTX的理解。在研发过程中,提前进行相关的测试,可以排查很多问题,便于项目的按计划进行。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容