7多样高速收发器使用总结 GTP IP核配置篇。7多元高速收发器总结 GTP IP核使用篇。

  FPGA内嵌收发器相当给为太网中之PHY芯片,但还活又迅捷,线速率也当乘胜FPGA芯片的迈入升级。本文对7多级FPGA内部高速收发器GTP
IP核的部署与下做来简单的总,以备后续回顾重用。本文是自己以宣读ug482 pg168 法定文档和有些大网资源后的有些个人见解,希望对发出得之对象有所助。我们来逐页分析下IP核配置先导中情节:

  上亦然篇7层层收发器博文教授了GTP
IP核的中心配置,本文继续分析哪些用她应用起来。生成IP核后打开example
design,先看看工程被包含的公文结构。

1 GT Selection:

葡京会 1

葡京会 2

   顶层文件下富含了gtp
ip核系统顶层文件、frame_gen以及frame_check三类模块。frame_gen和frame_check用于测试过程中之数量包发生及接检测(由于自身于配置IP核时使能了点儿独通道,因此工程被发出三三两两组frame_gen和frame_check模块),gen模块读发送样式,check模块则拿收取及数码及地方存储样式对比,从而判断数传是否正确。下面截取一段gen模块内代码:

  我于是之凡Atrix-7系列FPGA芯片,只能使速率较逊色之GTP
收发器,所以种无法选择。GTP收发器在自家这芯片中危线速率可达成6.6Gbps,具体最可怜数值会冲器件速度等和打包有所不同,读者可自动查阅Data
Sheet。很多Xilinx IP核都发出Shared
Logic,我懂是片用的局部,当多独地方得用到这些资源时,将那个放置在example
design中可以节约硬件资源。

葡京会 3

2 Line Rate,RefClk Selection

  发现gen模块是经系统函数$readmem读取gt_rom_init_tx.dat文件来初始化rom,发送数据则直接从rom中读取。虽$readmem和initial是不足综合语句,但彼力量与.mif文件初始化ROM
IP核是接近的。
check模块和gen模块类似,但出少数较值得借鉴。

葡京会 4

葡京会 5

  这无异于页比较重要。高速收发器支持多标准协议,可以选择一个标准协议,这样持续之精选项都一度配备好了,然后因自己之求变动。此处选择Aurora
8b10b single lane
4byte。收发器发送和接收通道相互独立,可以选择不同的线速率和编码格式,此处都选择一个大面积的于逊色速率3.125Gbps用于功能验证,参考时钟也125M。注意参考时钟也收发器输入时钟,频率必须与开发板上也GTP提供时钟的晶振一致。官方文档中关于外部参考时钟使用示意图如下:

  根据头的诠释可以观看,这个IP核在使32bit用户数量位宽时,会出错位现象。因此发送数据时享有comma码要在32bit数码四只字节的一模一样字节中,最普遍的凡咸在最低字节,这样接收端可以因控制字指示信号也1底职位找有错位情况,进而读数据开展更对一起。比如当rxctrl
== 4’b1000,则错误情况跟重对齐方式如下:

葡京会 6

葡京会 7

  GTP有星星点点个参考时钟输入端口,经差分-单端转换后通过个别单PLL产生收发器发送和接到时钟。若TX以及RX线速率一致采取及一个PLL产生时钟,否则要运用简单个例外之PLL。开发板中差分晶振连接GTPREFCLK0,且收发速率相同,故PLL
Selection TX和RX均选择PLL0,TX Clock
Source选择REFCLK0。这里自己动用到一定量独收发器,根据开发板原理图和数量手册选择GTP_X0Y4和GTP_X0Y5.最后只要能收发器内部的PRBS生成器和检测器,便于测试了链路性能。

  d0’代表及一个数量的最低字节部分。其他错位情况的重对齐方式同理,现在看下check模块中冲sel信号对接收数据重对同的逻辑。

3 Encoding and Clocking 

葡京会 8

葡京会 9

  可以看到重对齐方式与方谈话的艺术一致。因此当测试了后,去除frame_gen和frame_check模块并以gt数据端口开放到顶层后,接收端用户侧也如起相近的逻辑防止数据错位。

  GTP收发器内部处理带来富仅发生2byte,而GTX等速率更强之收发器是4byte,此处外部数据接口位富有选择32bit包后期收发器使用有的更也适用于GTX等收发器。编码方式采样8B/10B编码,这是只比较重要之概念。这无异编码方式最要的目的是“直流平衡”,即因特定的编码表实现数量传过程中比特“0”和比特“1”的数目基本一致,且减少连0和连1的情景。编码后底数码流具有于多的跳变,有助于接收端时钟数据恢复(CDR)。DRP/System
Clock
Frequency是动态重配置或者体系工作时钟,通过DRP可以于设计者根据所选线速率和概念之合计实时调整收发器参数,本人从未以,新手就毫无接触了。系统时钟选择100MHz,可透过外部PLL
IP核产生。

  再来拘禁下顶层文件被关于原语的运用:

  第二独第一的一些就是Synchronization
and Clocking。查看ug482相关部分:

葡京会 10

葡京会 11

  IBUFDS是殊分信号输入缓冲器,用来将差分信号变成单端信号。而BUFG是全局缓冲,其出口到FPGA内部CLB
IOB RAM的钟延迟和震动是无限小的,从而使系统工作平稳。

  发送通道来点儿独相时钟域:XCLK和TXUSRCLK。根据文档说明要保证数据正确传输,必须使TX
Buffer或者TX Phase Alignment。缺省景象下采取TX
Buffer较为平稳且简单,但相比之下后者延迟较高。简单利用被采取Buffer即可,因此本例中TX
Buffer和RX Buffer均选中。

  最后,为保险最好中心的通信功能,还欲开三桩事:

  TXUSERCLK的时钟源只能是由于参考时钟驱动的TXOUTCLK,而RXUSERCLK的时钟源选择因具体情况而定:

1.
勾gen和check逻辑块,并以用户数量端口开放到工程顶层;

葡京会 12

2.
接收端用户侧例化数据更对齐模块保证接收正确;

  总之就是是,当使用与一个晶振作为发送器和接收器参考时钟源时,TXOUTCLK可以驱动RXUSRCLK;当以不同晶振时,若要能clock
correction才可以用TXOUTCLK驱动RXUSRCLK,否则要利用RXOUTCLK驱动。这里保持默认均运用TXOUTCLK驱动TXUSRCLK和RXUSRCLK。

3.
例化PLL产生100MHz时钟信号作为GTP子系统工作时钟;

 4 Comma Alignment and
Equalization 

     

葡京会 13

  这里而引入comma码的定义。8B/10B编码表中来12个控制字符,以很写字母K开头,用于一些操效果。K码中的comma码用于接收端时钟校准和数据对齐,K28.5(对应用户数量也16’hbc)最为广泛。因为数量以链路中以串行方式传输,所以接收端必须对那个进展串并转换。在当下同经过被,由于无法直接找到串行比特流中之每个数据的参天位或矮位比特,即使已经掌握并行数据各类富有为无克尽如人意转移成为跟发送端一致的交互数据。看下user
guide中示意图你就是了解了:

葡京会 14

 

  下边的RX
Equalization是收发器自带的收纳均衡器,用来补偿由于大体信道中的累累衰减引起的信号损伤,可以通过DRP动态调整,保持默认。

5 PCIE,SATA,PRBS

葡京会 15

  这等同页的职能就较高级了,说实话我弗会见。有亟待运用PCIE的情侣可以关心下,这个虽然比较复杂,但搜索工作或蛮有优势的,很多招聘要求吃都发生描绘!此处就把极下的PRBS相关端口选择上,便于测试用。

6 CB and CC Sequence

葡京会 16

  Xilinx收发器IP核支持通道绑定,将多单收发器通道“绑定”成一个速率更胜似之传通道,利用FIFO消除中的延时休明明。Clock
correction是终极一个要的点葡京会。先来探望RX通道的构造与弹性缓存概念。

葡京会 17

  接收通道中平等发生一定量独时钟域:从CDR恢复出之XCLK和接收通道工作经常钟RXUSRCLK。RX通道使RX
Elastic
Buffer来桥接少经常钟域,但鉴于彼此细微之出入会要缓存变空或溢出。为夫引入时钟矫正,在发送端周期性发送一些特殊字符,接收端在弹性缓存快满时去这些字符,快空时复制这些字符从而保证缓存内数据维持动态平衡的状态。

葡京会 18

  本例只下一个数据通道,此页保持默认配置,不举行修改。

7 Summary

葡京会 19

  只想说一样词:终于结束了!这是自我见了极端辛苦的IP核,没有有!看下总结页,USRCLK的时钟频率是USRCLK2的2倍,这是因收发器内部通道数据位宽仅是标接口位宽的二分之一,因此频率必须附加一倍才会保证数据来得及处理。可以点OK了。正文对GTP
IP核的布局做了简要分析与总结,仅适用于新手。本人为当上中,有不妥之远在请求以评头论足被指教。

相关文章

admin

网站地图xml地图