[ZYNQ入门宝典]GTX高速口怎么玩(一)

点点圈 提交于 2020-02-26 13:25:52

(原帖中有图) GTX的概述

 

高速接口本来就复杂,Xilinx的IP虽然方便,但定制化参数较多,需要去了解的知识很多,官方文档就四五百页。还好在大多数应用里我们都只是用了其皮毛。我也是第一次学习GTX的IP,两个礼拜里摸索出一点东西,在这记录下。

SERDES SERDES就是G级速率以上的串行/解串器。Xilinx给出的方案就是芯片里内嵌GTX,GTH,GTP等模块。这里就以GTX为例。Transceivers的这个IP就是专门为GTX的使用而设计的。   Transceivers IP中几个基本知识 几个名词: GTXE2_CHANNEL/GTHE2_CHANNEL 就是最后IP例化的名称。 GTXE2_COMMON/GTHE2_COMMON 就是最终IP中QPLL的名称。   GTX硬件结构:                         325T为例整个芯片GTX内部结构   时钟:参考时钟进入,每一个收发器都有一个QPLL,同时单独有一个QPLL,一般更高频率下会用到。

  GTX整体功能结构:

  Transceivers Wizard 找到Transceivers的IP,并打开定制。在此不再赘述。 第一页没有什么好定制,只有一个,一定选择Include shared Logic in example design。主要是涉及到时钟相关资源是否可以和example进行共享。本工程用到example里的工程,选择共享总没错吧。

 3.速率、时钟相关。 Protocol是指协议模式,大概支持了很多模式SRIO, SATA等,这里选择不走协议。 速率根据实际需求选择,每个速率对应的可选参考时钟系统自动列出。本工程主要测试回环模式的通讯,所以TX和RX的参数需要一致。 PLL选择QPLL。 最后一列的三个框均勾选。

      编码。 External Data Width代表了用户端的数据位数,Encoding代表了编码格式,这里选择8B/10B。Internal Data With根据编码形式已经自动转换了相应的位数格式。其他的选项,暂时没这些必要。   COMMA value。标准的Comma,默认值就行。

     6.其他定制。涉及一些特殊协议以及其他参数的定制。这里只勾选LOOKBACK,这是设置回环模式的,以及PRBS相关参数,他是涉及内部PRBS随机数产生的一些参数。TXPRBS负责选择PRBS的模式,TXPRBSFORCEERR可以强制让PRBS出错,RXPRBS_LOOPBACK代表是否需要PRBS回环。

          7.   总结。后面两项都是默认值,最后一项是对参数设置的一个总结。可以看到的是,通讯速率1G,内部数据位40位,用户时钟最终是25M。 

 4. EXAMPLE DESIGN            打开example design,了解大概的结构。整个程序有三个部分组成。第一个就是GTX的IP核本身,第二个是数据产生模块,第三个是数据对比模块。具体程序分析下一章再聊。

 

            同时,example design里有现成的仿真文件。运行实现,可以直接观测到误码个数。实际运行中,若硬件电路没有问题则ERROR_COUNT_OUT也是一直为0。  

 

 

 

        5. 附件

              附件为文章中所用的工程。软件环境是vivado2015.4。

               https://download.csdn.net/download/weixin_42229533/10926049 ———————————————— 版权声明:本文为CSDN博主「ERROR:99」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_42229533/article/details/86541557

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!