求助GTX的指导和相关例程

本人最近在研究V7系列的GTH想求问夶神有没有做过GTX或GTH的工作,有没有什么程之类的我之前配置过给一些管教赋了值,但是实际该怎么和FPGA上的SFP脸就搞不清了想参考一些做過的程,最好带约束的那种

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/

之前用serdes一直都是跑的比较低速的应用3.125Gbps,按照官方文档一步一步来都没出过什么问题这次想验证一下K7系列GTX最高线速8Gbps,看看xilinx的FPGA是不是如官方文档所说

GTX速度到底可以跑到多少

可以看到,虽然K7系列GTX最高可以跑到12.5Gbps但这跟速度等級和封装都有关系,是在-3的速度等级FF封装下才有的最高速度12.5Gbps。而现在手头的芯片型号是K7480TFFG901-1所以最高支持8.0Gbps。其实这在配置IP核的时候就会发現了线速范围是(0.5-8.0)。所以IP核都是严格和工程的器件相关联的这点Vivado越做越好了。

下面一步步配置IP核可以作为初学者參考。(第一次用的话会被生成的一大堆文件和巨多的IO口吓到的。)包括怎么查找手册和原理图走一遍流程,发现其实xilinx的IP核都是一个套路

design。在有些特殊资源需要共享时曾经遇到过这里的问题。当然不是GTX模块是以太网的RGMII的模块,其中的IDELAY要用到IODELAY_CTRL一个IOB就一个,同一个IOB其它地方要用到的时候必须选下面一个选项所以最好都选下面一个,没毛病

首先是协议,最简单的strat from cratch就是没有协议。然后是线速可鉯看到范围是(0.5-8.0)。参考时钟这个可以根据需要选个合适的。软件都根据你的线速把参考时钟的可选项计算好了接收端同样设置,当嘫可以不一样的这是全双工,收发链路没有什么关系也可以关掉其中一个Tx off 或Rx off。然后是PLL选择到底选哪个呢?我们回到刚开始提到的ds182哃样一个表格下部分
其实线速决定了没得选,已经变成灰色了
然后是比较重要的,选择用哪个收发器这当然不是拍脑袋决定的,跟设計有关可以查找原理图。
这样就知道用的是X0Y8输入时钟在上面的原理图可以找到,是同一组的clk0

之前一直用的是8b10b,这次尝试一下64b66b后者夲来就是高带宽下的一个编码协议,效率更高为什么要用8b10b,64b66b包括后面的扰码一句话概括就是增加频率分量有利于CDR(时钟数据恢复)和减尐直流两个是不同的原因。具体的可以百度最下面的可选端口为了简单,全部去掉


由于没有选择8b10b,这一页也没什么可选的依然把丅面的可选端口全部去掉。


好了pcie留着下次研究,太复杂了可选端口其实有的挺有用的,增加了可控性比如说环回控制,LOOPBACK顺便说一丅内部环回有四种,
1.“000”:正常模式不环回

接下来是通道绑定和时钟校正
通道绑定的作用是把多个物理通道对齐绑定成一个的逻辑通道。其实就是用FIFO消除通道间的延时不确定性由于只有一个通道,没有绑定可言

最后看一下确定对不对,注意收发时钟是250M可以算一下,M

把刚刚配置的IP右键,如图选择
生成好后稍微改一下约束文件XDC,把DRC时钟的输入时钟约束一下其他的不用管。


 
可以发现矗接在这儿可以改具体使用的哪个收发器注意:在这里改的效果和上面第2步里面设置的效果一样。


要改的话当然同时GTX的时钟也得改


再修改一个地方,原来的ILA核抓的是解扰码前的数据替换成解扰码后的数据可以更清楚的看到接收到的数据。

 
好了生成bit下进詓,可以用连接线接上连个serdes的一收一发换回或者设置内部环回,或者在两片FPGA上做实验

可以看到error_count一直是0,说明收发正确很稳定。
收到嘚数据依次是00000fb3020100,7060504…依次递增打开发送文件如下,和发送的一样
实验成功证明了GTX可以跑到最高8.0Gbps。
生成的example工程可以好好研究学习一下裏面有加扰码和解扰码的过程,自己修改一下把解扰码后的数据抓出来对比一下可以很清楚的看到收到了什么数据。包括校验模块是怎麼校验的还是值得一学的。
从Vivado开始配置GTX的时候,多了一个SATA協议支持但有些小地方还需要自己另外设置。整理了一下分享给大家。首先打开Transceivers wizard:打开页签线速率和参考时钟选择,在协议里面选擇SATA2或者SATA3设置参考时钟。选择编码和时钟设置设置外部数据宽度为32位,内部40bit8B/10B编码,使能收发缓存全部使用发送时钟。打开设置K码对齊和均衡设置K码为...
本工程基于以下条件使用 一IP核配置进行流程 第一页配置线速率和编码 第二页配置参考时钟位置选择 第三页配置同步和對齐 第四页配置预加重终端均衡 第五页配置失同步状态机 第六页配置通道绑定 第七页配置时钟校准 工程使用说明 基本使用方法 gtx重点信号线說明 实际开发工程的使用 删除程测试部分 修改UCF文件
xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH以及GTZ四种串行高速收发器四种收发器主要区別是支持的线速率不同,图一可以说明在7系列里面器件类型和支持的收发器类型以及最大的收发器数量
这里首先说下什么是重配,其次闡述为什么要进行重配 解答: 在fpga的高速收发器的使用过程在最开始的配置页面常常需要确定此收发器的接收或发送速率,收发器的参考時钟往往当参数固定后,在后续的应用过程中会在此设定的速率下工作但是当外部输入的速率发生变化时,此时已经配置好的收发器嘚速率就不能正常的接收或发送数据了此时就需要人为的改变收发器的速率或参考时钟,达到重新配置transceiver的
高速差分IO信号的基础知识: 1、初步认识GTX 当你接触到FPGA的高速串行通信时比如GTX收发器,一条TX发送线一条RX接收线,这时候你肯定会联想到UART串口UART串口通信多么简单方便,呮要两个通信的设备或者说器件按照一个协议进行传输就OK咯数据是一位一位的传送的,类似的GTX收发器也是一位一位的传输数据那么问題来了,UART就问GTX:“凭啥你的传输速率能飙
Sublayer物理编码子层)组成,其中PMA子层包含高速串并转换(Serdes)、预/后加重、接收均衡、时钟发生器及时钟恢复等电路PCS子层包含8B/10B编解码、缓冲区、通道绑定和时钟修正等电路。对于GTX的发送端来说结构如图1所示
本人是一名学生,最近在学习FPGA的開发想完成FC通信,其中要用Virtex7板子的GTH IP核但我之前对它没有接触,而且V7系列的GTH没有FC单独的程,我照着V6板子配后依旧有问题想请教那位夶神接触过GTX/GTH,可以指导我配置并编写相关程序完成FC协议。
上一篇博文介绍了GTX的发送端这一篇将介绍GTX的RX接收端,GTX RX接收端的结构和TX发送端類似数据流方向相反,不过和发送端也有一些区别GTX的RX接收端结构图如图1所示: 图1     下面将根据数据流方向介绍一下RX接收端各个电路部分嘚功能。   RX Equalizer (DFE and LPM):RX信号从AFE(模拟前端)进来之后首先经过RX

我要回帖

更多关于 例程 的文章

 

随机推荐