首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 7系列GTX的TX复位设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
7系列GTX的TX复位设计
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-6-16 19:36
|
只看该作者
7系列GTX的TX复位设计
半导体
,
吞吐量
,
单片
,
技术
,
接口
Xilinx IO Specialist Antony Gu
前言
随着半导体技术,特别是FPGA的发展,单片芯片的处理能力越来越强。现在单片的处理能力都在1Tbit以上。而要处理这么多的数据,单靠原来的LVDS, LVPECL已经无法满足芯片接口吞吐量的要求。所以,如今越来越多的应用都用到高速SERDES。
XILINX的SERDES作为业界翘楚,越来越多地被客户接受并广泛应用。而随之而来设计、调试问题,也是让客户感到害怕的问题。特别是客户容易对高速SERDES犯怵,碰到问题又无从着手,导致进度受阻,压力倍增。
这是我着手总结SERDES设计调试的初衷。
这次主要讲SERDES复位设计。
复位的作用
众所周知,现在主流的FPGA上实现的都是时序逻辑。时序逻辑有一个特点就是前面的状态会影响到后面的状态。所以在这种应用里,初始状态的确定是整个设计里非常重要的一个环节。复位就是用来初始化逻辑状态用的。
对于SERDES,根据不同的应用,其时钟方案是不同的。对此,SERDES的状态,特别是BUFFER的状态会受到很大的影响。由于BUFFER的读写时钟有效稳定的时间不同,大致会引起以下2种情况:
1. BUFFER 上下溢出,使得输入输出误码;
2. 多通道应用里,通道间引入偏移,使得各路通道绑定失败。
所以复位设计必须小心,特别需要和时钟方案相匹配,才能给可靠的设计打下良好的基础。
7系列GTX的时钟结构
上面说到,复位应该和时钟方案相匹配,所以在这里简单介绍一下7系列GTX/GTH 的时钟结构。
7系列SERDES是以QUAD为单位的。在一个QUAD里,有
a) GTX/GTH: 一个QUAD里有4个SERDES;
b) 2个参考钟:它们可以连到任意一个PLL上。而且可以给上下相邻的QUAD提供参考钟;
c) CPLL:这是每路GTX/GTH都有的PLL。这个C是指Channel;
d) QPLL:每个QUAD内的SERDES共享的PLL。这个Q是指QUAD。
QPLL和CPLL可以供到每个SERDES的发(TX)和收(RX)。在SERDES里有TX/RXSYSCLKSEL[1:0]端口选择使用哪个时钟源。
复位设计的案例
下面,根据不同的时钟方案,会列出一些复位的方法。
首先需要提醒的一点是:对于7系列的SERDES, bit文件下载完(CONFIGDONE拉高)后的500ns时间内的复位是无效的。SERDES需要的复位是脉冲。所以FPGA配置完成后500ns后复位信号才能拉高。
如果在500ns之前就拉高,那是无效的。需要在后面在有一个正脉冲才行。
关于这个问题,在XINLIX官网上有AR43482作说明。
另外相对于以前的SERDES, 在7系列SERDES里多了2个信号:TXUSERRDY和RXUSERRDY。
这2个信号是用来控制何时进行PCS复位的。
SERDES的顺序复位是指GTXTXRESET或GTXRXRESET有复位脉冲时,SERDES会进行从PMA一直到PCS的复位,最后把TXRESETDONE或RXRESETDONE拉高。
PMA和PCS复位涵盖的范围见下表
整个复位顺序都是从PMA到PCS的。具体流程可以参考UG476。
在完成PMA复位后进入PCS复位是,TXUSERRDY和RXUSERRDY就是开关。只有当它们为高时才能进入PCS复位,继而完成整个SERDES的复位。TXUSERRDY和RXUSERRDY的含义是用户钟TXUSRCLK/TXUSRCLK2RXUSRCLK/RXUSRCLK2都稳定了。这个时候可以进行PCS复位了。
TX复位案例
一、 TXOUTCLKSEL = TXOUTCLKPMA
这种情形下,TXOUTCLK的频率是(LINE RATE)/(INTERNAL DATAWIDHT),它会随着线速度的变化而变化。
对于7系列SERDES,内部位宽可以有16/20 bit (即2字节)和32/40bit(即4字节)2中选择。跟逻辑接口的外部位宽有2、4、8字节3种选择。由于逻辑可以跑到368MHz以上。所以对于大多数的应用,TXUSRCLK/TXUSRCLK2是可以同频的。此时,其时钟框图就会如下:
这种复位方案里,有一些要求:
SERDES工作在顺序复位模式下(工具产生的代码默认模式)
. RESETOVRD = 1’b0
. GTRESETSEL = 1’b0
QPLLRESET或CPLLRESET需要脉冲复位
.至少一个参考钟周期
QPLLLKDET或CPLLLKDET的上升沿上产生GTXTXRESET脉冲,启动SERDES进入顺序复位
同时,把QPLLLKDET/CPLLLKDET连到TXUSERRDY
. 最好能延时2~3us以保证TXOUTCLK稳定。
在TXRESETDONE的第一个上升沿做TXPCSRESET的复位
.对单路应用不需要这个复位。
. 对于多路需要对齐输出的应用,需要把所有TXRESETDONE都拉高后做TXPCSRESET复位以减少各路的输出偏移
二、 TXOUTCLKSEL = TXOUTCLKPMA,用到MMCM
这个和上面一个的差别就是需要用到MMCM。由于MMCM的输入是TXOUTCLK,必须等到TXOUTCLK稳定后才能释放复位;而MMCM给SERDES提供TXUSRCLK和TXUSRCLK2,所以TXUSERRDY必须在MMCM稳定后才能拉高。
同样,对于多通道应用,需要在所有TXRESETDONE拉高后给一个TXPCSRESET脉冲,这样可以减少发送数据通道间的偏移。
三、 TXOUTCLKSEL = TXPLLREFCLK_DIV1/2
这种应用和第一种不同之处在于TXOUTCLK的时钟来源不同,这里是来自于参考钟。所以它会在QPLL锁定之前就稳定下来。当然我们还是可以借用第一种复位方法。只是QPLLLKDET/CPLLLKDET送到TXUSERRDY时不需要延时去等待内部时钟稳定。
四、 TXOUTCLKSEL = TXPLLREFCLK_DIV1/2,用到MMCM
同样,这种应用可以参考第二种。
当然由于MMCM的输入时钟是参考钟,所以它的复位释放也不需要等待PLL锁定。所以我们也可以用下面的复位方法
当然由于MMCM复位要求,QPLLRESET/CPLLRESET的脉宽需要大于3个参考钟周期。
五、 TXBUFFER BYPASS情形
对于CPRI等有延时精度要求的应用,需要把TXBUFFER旁路。这时需要在上面的复位之外还要有相位对齐电路的复位。
要能进行相位对齐,对时钟有一定要求:
1. 同源同频。这里只是做相位对齐,频率必须相同;
2. 时钟稳定。只有时钟稳定后才能进行相位对齐操作。
所以相对于前面使能TXBUFFER的应用的复位,在TXRESETDONE拉高后,做一次相位对齐操作就可以了。
这里需要注意的一点是,TXDLYSRESET的脉宽必须小于50ns。
整个复位的波形图如下
和前面不同的是,这里用TXPHALIGNDONE作为后续逻辑的复位信号。这是因为这个信号拉高了,表示SERDES的初始化已经完成,可以工作了。而前面的几种应用,TXRESETDONE的拉高是SERDES能够正常发送数据的标志。
后语
由于篇幅所限,现在只把TX部分复位的一些方案简单说明一下。
对于RX部分的复位,由于涉及到CDR,时钟也会受到对端影响。所以情形要复杂些。
这会在另一篇里专述。
希望能对大家有帮助。
谢谢。
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
嵌入式技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议