fpga开发板使用教程之在K7上用Ibert实现基本的GTX测试

FPGA/ASIC技术

190人已加入

描述

  GTX、GTH等具体是什么就不多介绍了,网上有很多。写这个的目的,就是当收到FPGA板卡后,要判断本板的高速串行总线是否能够应用,那就需要做基本的功能测试。我们可以用xilinx提供的ibert进行测试,而且基本上可以达到不用敲代码就可以完成测试的目的。

  下面按步骤,一步一步实现。重点的地方我会标注出来。

  (1)新建工程,只需选择好与板卡对应的FPGA型号即可,无须添加任何文件。

  (2)添加ibert IP。

  开发板

  (3)配置IP:

  这里我们先只配置一个quad,也就是测试一个quad,速度是1G的速度,也就是千兆网的速度。这里是8b/10b编码。因此实际1000Mbps x 10/8=1.25Gbps。参考时钟这里,你要看你的硬件上是接的多少M的时钟。也就是MGT的refclk引脚上,并注意是哪个quad。

  在我的电路中,我的125MHz的差分时钟是接到了MGTREFCLK1P_115和MGTREFCLK1N_115上。

  这里需要注意的是:参考时钟频率和GTX的传输速率的关系。虽然在内部是通过PLL倍频上去的,但是,基本时钟频率是要匹配才行。比如125MHz,10倍频就可以达到1.25GHz。如果55MHz参考时钟,倍到1.25GHz,就不行了。

  假若是10GHz的速度,因为10GHz就是64b/66b的编码,实际速度是:10000 x 66/64=10.3125G bps。这时用156.25MHz的时钟就比较合适(156.25MHzx66=10.3125GHz)。如果其他频率的,存在小数倍频,那就不行了,pll很难锁定。

  因为我这里选的速度是1.25GHz,那后面的Quad PLL就不能选择,否则提示错误。1.25GHz频率低于Quad PLL的范围。因此,这里不选中Quad PLL,默认采用CPLL。

  开发板

  (4)这部分就是要选择你要测哪个quad以及对应的时钟。

  我这里测115哪个quand,参考时钟前面已经说了是在MGTREFCLK1P_115和MGTREFCLK1N_115上,所以做如下选择:

  开发板

  (5)在clock setting里,是设置ibert内部逻辑使用的时钟,这里可以用从其他bank引入的时钟,也可以直接用前面的quad时钟。现在为了简单,直接使用前面的115上的时钟。

  开发板

  至此,点击“OK”产生ibert IP。

  (6)在刚才生成的ibert IP上右键,选择:Open IP Example Design。又会重新打开一个Vivado,然后生成一个新的工程。在这个工程里,你可以不做任何更改。当然,你可以在顶层文件中加入一些其他逻辑,比如控制你的晶振、指示灯等

  (7)在(6)的工程里里直接生成bit文件,先后下载到FPGA板卡上。

  (8)下载完后,会点击create links。

  

  添加通道:

  

  选择回环:

  

  (9)连接建立如下,误码率比较高,复位一下就可以了:

  

  (10)这里可以选择回环模式。如果只是在本板测试的话,就只能是near端回环了。

  

  (11)在这里显示not locked,是因为我们前面没有用quad pll,而用了cpll,不影响传输。

  

  (12)还可以看眼图,在对应通道上右击,选择create scan:

  直接OK,就会出现眼图,蓝色部分越大,越好。如果选择远端回环,速度越高,眼自然会开的要小:

  

  

  (13)至此,基本的测试完毕。

  总结:整个测试是很简单的,没有过多的可设置项。关键的就是要把时钟频率、时钟位置对应好。

  (在ug476的P345开始,有MGT bank与placement的对应关系图,这个可以用来对照自己的原理图以及ip设置是否正确。)

  不正确的地方,欢迎大家讨论指正。我也是才开始用这个东西。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分