Status: Done ??
在IBERT测试中需要注意的有以下两个要点:
在UI配置Clock Settings中有对System Clock的选择,所谓“System Clock”查手册理解为该IP core工作所需时钟,跟GT口没有直接关系,主要用于测试所需通信以及其他的逻辑。可以用外部引入的时钟,也可以用GT口的REFCLK。当system clock 大于100MHz时,内部会生成MMCM以满足约束要求,所以我理解的是IP core内部时钟需要100MHz。
把IBERT example的bit烧入待测试的板子,并且建立测link以后,最重要的操作就是选择Loopback Mode,它有五种选择:分别为none 、near-end-pma、near-end-pcs、far-end-pma、far-end-pcs。下面就梳理一下其工作机制。
常见的测试方式无非就两种:1.测试一个GT口;2.两个GT口互测;对于我的项目来说,物理上是基于SFP光模块的高速网口。下面来说明一下这两种情况
结合GT口的内部框图来说明不同Links下的配置以及测试的结果。
对于1个GT口的自测,比较容易理解,即TX GTs和RX GTs同属一条lane的TX和RX,比如X0Y4/TX和X0Y4/RX,对应外部连接则是将光纤跳线两头分别插入同一光口的收发端。
此时,loopback选择none、Near-End PMA和Near-End PCS的路径如上图所示,也比较好理解。None即没有内部loopback路径,依靠光口和光纤跳线完成数据的回环。对于一个口的自测,完成这三种mode的测试就够了,那如何理解Far-End PMA和Far-End PCS呢?在GT User Guide中有这样一张图和描述如下:
我对这段说明简单的理解就是:Near-End loopback是将发送数据环进接收端(自测),Far-End loopback则是将接收数据环入发射(作为对端互测)。所以Far-End loopback在互测时才用到。(我是这么理解的,不知道对不对)。
两个GT口互测,对应外部连接则是将两个SFP光模块互联,一个发对应另一个的收,所以要建两个Links。这里有引申出我到现在都没有很好理解的“有关Links的问题”,物理光纤上肯定是1个TX对另一个的RX,那么直接理解的话建立links应该是:X0Y4/TX和X0Y5/RX、X0Y5/TX和X0Y4/RX这两条links,但实际上互测回环,应该是X0Y4/TX和X0Y4/RX、X0Y5/TX和X0Y5/RX这两条links(谁能解释一下)。先接受这个结论吧,看看互测方式。
结合2.1的引用,那么一个GT口应该将数据发送出去(不回环),另一个GT口将接收到的数据再回环发出去(3、4路径),那么一条link的loopback mode设置成none,另一条则设置为Far-End mode。
PS:后来咨询了一下,实际上create links只是起一个标识作用,选什么都不影响背后真正的物理连接方式。其实又引申一个问题,如果选X0Y4/TX和X0Y5/RX这样的link,最终测出的结果是哪个GT的呢?以RX端所在的GT为准吗?anyway,不得而知。
以上。
原文:https://www.cnblogs.com/rouwawa/p/14553709.html