ALTERA FPGA 2GXB模块的使用说明

1.png

器件生成界面第一页

1)2GX支持的协议及相关说明手册24页Table2-2和454页。
2)subprotocol:几种回馈模式,测试用。Basic模式常选为No Loopback。详细说明490页。
3)操作模式:收发或者发送。
4)通道数设置。
5)deserializer width:1。single:,数据率:622Mbps~3.125Gbps;2。Double,数据率:3.125~6.375Gbps。
6)channel width:1。deserializer width设置为single,channel width选8或10旁路掉byte serializer/deserializer,选16或20用到byte serializer/deserializer;2。deserializer width设置为double,channel width选16或20旁路掉byte serializer/deserializer,选其它用到byte serializer/deserializer。(Byte Deserializer 用来把16或20比特数据转化成8或10比特数据)。选10,20,40等时会bypass掉8B/10B模块(需要自己加扰码了,不推荐使用)。
7)数据率和输入时钟的设置。
8)rx_digitalreset,rx_analogreset,tx_digitalreset,gxb_powerdown参考手册501页Table2-33。
介绍了各复位引脚复位的电路。
下面介绍个复位的时序关系以及在不同模式下需要的复位。

器件生成界面第一页.png

对于transmitter only模式,只有Pll_locked、gxb_powerdown和tx_digitalreset使用。对于receiver only模式,只有rx_analogreset、rx_digitalreset和rx_freqlocked需要使用。

器件生成界面第二页

1) GXB发射PLL的宽度,设置为高可以滤除来自VCO内部噪声;设置为低时,如果输入参考时钟的噪声大于VCO的内部噪声,PLL会滤除>-3dB频率的噪声。参考367页。
2) GXB接收PLL的宽度,设置为高可以防止噪声进入VCO和电源,设置为低可以滤除更多的高频数据输入抖动。参考407页。
3) 接收PLL VCO和CRU clock之间频率差门限的设置。参考216页表6-7和407页。
4) 引脚说明可以参考354页。
Gxb_powerdown: 在收发模块不用时,可以通过它来掉电,降低功耗。参考501页
Gxb_enable:专用收发块使能引脚。参考359页
Pll_locked:用来显示是否锁定参考输入时钟。
Rx_locktorefclk/rx_locktodata
1/0 :lock-to-reference clock
x/1 :lock-to-data
0/0 :Automatic
Rx_pll_locked: 显示接收PLL是否锁定CRU参考时钟。
Rx_freqlocked: 为0表示接收CRU在锁定到参考时钟模式;为1表示接收CRU锁定到数据模式。
Rx_signaldetect: 在PIPE模式,用来显示是否一个信号在特定范围内,其它模式被拉高。

器件生成界面第三页

1) 是否用手动均衡器控制。
2) 均衡器DC增益。参考403页
3) RxVcm一般设置为0.85V,支持1.2V,1.5V,3.3V PCML和3.3VLVPECL和LVDS标准。参考403页。
4) Force signal detection 只在PIPE模式下有效。
5) 是否用到外部终端电阻。
6) 校验块用来保证PVT(process,voltage,temperature)不影响OCT。

器件生成界面第四页

1) VCCH选择1.2 V时Vcm只能选择0.6V,VCCH选择1.5V,Vcm可以选择0.7V。
2) 不同的Vcm支持的I/O标准和数据率。参考手册400页,表2-9。
器件生成界面第四页.png

3) 是否用外部的终端电阻匹配电阻。
4) VOD(输出差分电压)的设置,不同的设置对应不同的走线长度、底板和接收要求。参考398页,表2-8。
器件生成界面第四页2.png

5) 可编程的预加重:用它可以使信号在远程传输中眼图最大,减小了高频信号在传输介质中的衰减。最高500%。参考399页。

器件生成界面第五页

(动态重新设置,参考42页)
可以动态配置PMA的预加重、均衡器和输出差分电压设置。输入时钟范围2.5M~50M。
1) VOD,预加重和手动均衡。
2) 使能自适应均衡器。(均衡器用于接收端补偿高速信号在通道中的衰减)。最大17dB。
3) Starting channel number:4的倍数是因为动态配置接口是对每个收发块(每个Block四个收发通道)。0-156是逻辑通道地址。

器件生成界面第六页

4) byte ordering block:对基本模式,只在double-width模式下有效。参考59页。
(1)专用电路,与byte deserializer一起使用。
(2) byte deserializer将输入数据变成两倍宽度输出。参考449页。
(3)不能和rate matcher同时用。因为后者会通过插入或删除字节来打乱字节顺序。参考451页。
对于32bits,添加了byte order后,K码只会在高16bits和低16bits的低字节出现。
器件生成界面第六页.png

在word边界对齐后。发射端的低9bit需要和byte ordering pattern 一致。这样可以保证字节直接对好。在发射K码和此pattern码时,tx_ctrlenable拉高。
5) 8b/10b编码解码。
6) Rate match:在选择8b/10b编码解码后,这块功能才会激活。用来补偿发射和本地接收的频率差,支持五种工作模式。参考436页。
Skip pattern 插入或删除来实现数据率匹配。Control pattern用来确定哪一个Skip
pattern用来做数据率匹配。如果只需要一级用来做数据率匹配,可以把两组设定一样。参考538页。
7) 发射输入数据翻转(一个字节),默认顺序是低位到高位。

器件生成界面第七页

word aligner:参考49页,413页和541页。
因为deserializer在串并转换得时候会忽略边界,需要word aligner来完成字对齐。
49页表2-10介绍了不同模式下对应word aligner的宽度,pattern类型等。
1)bad data words: 从同步状态到异步状态,坏字的个数。
2)consecutive valid words: 达到同步状态前连续有效字数。
3) valid patterns: 达到同步状态前的pattern数。
4) rx_syncstatus: 当word aligner排列一个新的边界后,显示需要重新同步,或者显示同步是否完成。1,rx_syncstatus拉高一个并行时钟,来显示Pattern码找到,字边界对齐。(使用rx_enapatternalign)2,rx_syncstatus拉高来显示Pattern码找到,但是没对齐。(不用rx_enapatternalign)

5) rx_patterndetect: 当word aligner在当前字边界检测到pattern后显示。比如检测到一个K码就拉高一个周期。
6) rx_ctrldetect: 当检测到rx_dataout上输出控制或数据字后分别显示’1’和’0’。
7)rx_errdetect: 用来显示rx_dataout端口上有一个code violation或disparity error。
器件生成界面第七页.png

8)rx_disperr: 显示8b/10b解码块检测到一个disparity错误。

器件生成界面第七页2.png

和4GX的一个差别(有可能是Quartus暂时的一个bug):对于2GX器件,需要在double width下才可以使用Byte Ordering Block, 但是对4GX,目前只在Signal width可以使用。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2019-04-29 21:05:26 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它