基于Rocket I/O模块的高速工I/O设计
通过FPGA配置文件设定)或动态(通过RocketI/O的配置端口进行局部重新配置)的方式进行。
2ROCketI/O的设计要素
要达到RocketI/O模块的最佳性能,需要考虑到诸多设计因素,本文就其最重要的部分展开讨论。
2.1参考时钟
高性能的通信质量要求有高稳定性和高精度的时钟源。抖动和频偏是衡量时钟源的两个重要指标。抖动一般是指一个实际情况下的周期信号每个周期的图样相对于该信号理想情况下一个周期图样的偏差[4]。抖动产生原因包括时钟晶体本身的机械振动、器件的热噪声和电源串人噪声等。抖动可以分为确定性抖动和随机抖动。确定性抖动是线性可加的,它包括信号在传输中媒质损耗、码间串扰(ISI)等周期性因素导致的抖动;随机抖动是均方可加的,它是由半导体器件热噪声、电源波动等共模随机噪声源导致的。频偏是指时钟标称频率与实际频率的偏差,主要受晶体加工精度的影响。由于RocketI/O模块内部将输人参考时钟20倍频,而RocketI/O模块可容忍的输人参考时钟抖动公差为40ps,可见参考时钟的抖动对其性能有直接影响。在VirtexⅡPRO系列FPGA中,RocketI/O模块集中分布在上、下四个通道中。当RocketI/O工作在2.5Gbaud以上时,参考时钟应采用差分输入方式(如LVDS、LVPECL),由上、四个通道的专用差分时钟引脚输入,至相同或相邻通道中RocketI/O的BREFCLK输入端,以避免时钟信号引入不必要的抖动。在2.5Gbaud速率以下应用时,不要用FP-GA内的DCM来生成RocketI/O的输入时钟,因为经DCM倍频的时钟会引入较大的抖动,使RocketI/0的接收锁相环无法稳定地锁定发送时钟。图2所示的连接方案中,RocketI/O模块的输入时钟由差分或单端引脚馈入后,应只经过一级全局缓冲(BUFG)布设到时钟树上,再连接到RocketI/O模块的参考时钟输入端,这样可最大限度地降低抖动的引入。
2.2复位
RocketI/O模块的复位引脚分为发送(TX_RESET)和接收(RX_RESET)两部分。由于DCM在输出时钟锁定在设定值前,输出时钟处于不稳定状态,不能用作内部逻辑电路时钟,所以要在DCM时钟输出锁定有效,并经过适当延迟后才可将片内逻辑复位。RocketI/O模块要求复位输入至少保持两个USRCLK时钟周期来完成FIFO的初始化[1]。如图2所示,图中RESET_MGT模块实现的即是上述功能。
2.38B/10B线路码
线路码具有平衡码流中“0”、“1”概率的能力,并且可以减小码流中长连“0”和长连“1”串。8B/10B编码是属于基于块编码的mBnB线路码中的一种。经过mBnB编码的码流具有“0”和“1”等概率、连“0”和连“1”数小、直流基线漂移小、低频分量小、功率谱带宽较窄、时钟成分丰富、定时提取方便且抖动小以及能进行运行误码监测等许多优点,因此在RocketI/O模块内部集成了8B/10B编码器和解码器。
应用RocketI/0模块进行互连时,根据互连双方接口的电气标准的不同,分为直流耦合和交流耦合方式。在直流耦合方式下,并不一定要求采用8B/10B编码,可以选择其它的线路码型或不用线路编码。但在较高的传输速率条件下(如2.5Gbaud以上),为了达到良好的抗干扰性能 《基于Rocket I/O模块的高速工I/O设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/169478.html
2ROCketI/O的设计要素
要达到RocketI/O模块的最佳性能,需要考虑到诸多设计因素,本文就其最重要的部分展开讨论。
2.1参考时钟
高性能的通信质量要求有高稳定性和高精度的时钟源。抖动和频偏是衡量时钟源的两个重要指标。抖动一般是指一个实际情况下的周期信号每个周期的图样相对于该信号理想情况下一个周期图样的偏差[4]。抖动产生原因包括时钟晶体本身的机械振动、器件的热噪声和电源串人噪声等。抖动可以分为确定性抖动和随机抖动。确定性抖动是线性可加的,它包括信号在传输中媒质损耗、码间串扰(ISI)等周期性因素导致的抖动;随机抖动是均方可加的,它是由半导体器件热噪声、电源波动等共模随机噪声源导致的。频偏是指时钟标称频率与实际频率的偏差,主要受晶体加工精度的影响。由于RocketI/O模块内部将输人参考时钟20倍频,而RocketI/O模块可容忍的输人参考时钟抖动公差为40ps,可见参考时钟的抖动对其性能有直接影响。在VirtexⅡPRO系列FPGA中,RocketI/O模块集中分布在上、下四个通道中。当RocketI/O工作在2.5Gbaud以上时,参考时钟应采用差分输入方式(如LVDS、LVPECL),由上、四个通道的专用差分时钟引脚输入,至相同或相邻通道中RocketI/O的BREFCLK输入端,以避免时钟信号引入不必要的抖动。在2.5Gbaud速率以下应用时,不要用FP-GA内的DCM来生成RocketI/O的输入时钟,因为经DCM倍频的时钟会引入较大的抖动,使RocketI/0的接收锁相环无法稳定地锁定发送时钟。图2所示的连接方案中,RocketI/O模块的输入时钟由差分或单端引脚馈入后,应只经过一级全局缓冲(BUFG)布设到时钟树上,再连接到RocketI/O模块的参考时钟输入端,这样可最大限度地降低抖动的引入。
2.2复位
RocketI/O模块的复位引脚分为发送(TX_RESET)和接收(RX_RESET)两部分。由于DCM在输出时钟锁定在设定值前,输出时钟处于不稳定状态,不能用作内部逻辑电路时钟,所以要在DCM时钟输出锁定有效,并经过适当延迟后才可将片内逻辑复位。RocketI/O模块要求复位输入至少保持两个USRCLK时钟周期来完成FIFO的初始化[1]。如图2所示,图中RESET_MGT模块实现的即是上述功能。
2.38B/10B线路码
线路码具有平衡码流中“0”、“1”概率的能力,并且可以减小码流中长连“0”和长连“1”串。8B/10B编码是属于基于块编码的mBnB线路码中的一种。经过mBnB编码的码流具有“0”和“1”等概率、连“0”和连“1”数小、直流基线漂移小、低频分量小、功率谱带宽较窄、时钟成分丰富、定时提取方便且抖动小以及能进行运行误码监测等许多优点,因此在RocketI/O模块内部集成了8B/10B编码器和解码器。
应用RocketI/0模块进行互连时,根据互连双方接口的电气标准的不同,分为直流耦合和交流耦合方式。在直流耦合方式下,并不一定要求采用8B/10B编码,可以选择其它的线路码型或不用线路编码。但在较高的传输速率条件下(如2.5Gbaud以上),为了达到良好的抗干扰性能 《基于Rocket I/O模块的高速工I/O设计(第2页)》