FPGA高速串行收发器,GTP,GTX 下载本文

内容发布更新时间 : 2024/12/23 2:19:48星期一 下面是文章的全部内容请认真阅读。

扰码器消除了长连0和长连1序列以及其它会对接收器接收能力有负面影响的序列,但并不能取代8b/10b编码。在实际中,由于存在不允许的数值,所以需要设计数据流中不能出现连0或连1的长度。长的连0、连1会被扰码器打乱,并在解扰时进行恢复。接收数据流的解扰逻辑在数据流中搜寻这些符号并对齐数据。

4.接收和发送缓冲器

接收和发送缓冲器,是吉比特级收发器的主要数字接口,通常是高速FIFO。发送端通常有一个小型的FIFO,它要求读取和写入的时钟是等时同步的(频率匹配但相位不一定匹配)。如果接收和发送的选通信号不是工作在精确相同的频率,则通常需要使用一个较大的FIFO,并持续检测FIFO的当前状态。如果FIFO被不断地填充,将最终导致溢出。在这种情况下,必须在输入数据流中检测idle符号。如果检测到idle符号,则不把idle符号写入FIFO;反过来,如果FIFO运行较慢则在输出数据流会出现idle符号,数据被传送给用户。此时写指针保持不动,不断重复idle符号。相对于发送缓冲器而言,MGT内建的接收FIFO通常需要有更深层次的考虑。它的主要目的是为了实现时钟修正和通道绑定。

5.线路均衡

线路均衡主要用于补偿由频率不同而引起的阻抗/衰减差异。均衡器有很多种形式,但总体上可以分为有源和无源两种。均衡器通常包含在SERDES的模拟前端,或者作为系统的一个独立部分。

1)均衡技术简介

无源均衡器是无源电路,其频率响应可以补偿传输衰减。它也可以看作一个滤波器,将传输线所使用的各个频率通过,而将传输线没有使用的其他频率滤除,那么整体的频率响应就会变得平坦许多。有源均衡器可以认为是依赖频率的放大器/衰减器。

有源均衡器主要有两种:固定形式有源均衡器和自适应有源均衡器。对于任意的输入数据流,固定形式有源均衡器的频率响应都是一样的。固定形式均衡器比较适合于不变系统中,例如:芯片到芯片,平衡化的背板系统以及固定长度电缆的系统;自适应均衡器要复杂的多,自适应均衡器需要分析输入信号并检测哪些频率在传输通道中被削弱。在该均衡器中,测量和调节是以闭环形式实现的。自适应均衡器的频率响应取决于输入的比特流,它通常和特殊形式的线路编码机制协同工作。自适应均衡器对于可变通道的链路来说是最合适的,可变通道可以是可变的电缆长度,或是显著的位置依赖的背板系统。

2)预加重/取加重技术

预加重是一种非常普遍的均衡技术。在发送端,通过增加一串相同符号中首位符号的输出级,降低随后符号的输出级,来预先抬高输出信号频谱中的高频分量,补偿传输通道的低通滤波效应。这样,在接收端就可以得到相对均衡的眼图,使接收器能够准确地接收和恢复信号。这种技术对于高数据速率的设计而言,简单而有效。发送预加重技术主要是通过采用FIR多抽头的有限冲激响应均衡滤波器来实现的。输入到滤波器中的是当前、过去和将来要发送的数据位。滤波的系数取决于通道特性,最佳

的滤波长度取决于影响当前正在发送数据的比特数量。在具体实现中,一般采用二抽头FIR,进行双电流控制。在电路转换时,为了克服传输通道的滤波效应,发送器分发额外的动态电流。在转换后,则提供一个更低的驱动电流。不同的通道损耗补偿需要不同程度的信号预加重;因此,在发送器设计中,预加重功能一般是编程可控的。为了和发送端预加重相匹配,则在接收端必须有去加重。

6.数据包的概念

通过吉比特串行链路传输的数据大都是嵌入在某种类型的数据包中的。包是一种确切定义的字节集合,包括头部、数据和尾部。如果系统通过包来完成时钟修正,发送特殊的比特序列或者comma字符。时钟修正序列常常是比较理想的字符,comma字符是指示帧的开始和结束的天然标识。在数据中加入有序集合用于指示包的开始、结束以及包的特殊类型之后,就构成了简单而高速的传输通道。其中,空闲符号(Idle)或序列是包的概念的另一要点。如果没有信息需要发送,则发送idle符号,从而保证数据的连续传输并使其保持对齐, 10.2.3 吉比特串行I/O的设计要点

解决工程问题的关键在于充分的理解。在设计吉比特级收发器时,面临的挑战包括:理解收发器协议、信号完整性、阻抗和功率要求、屏蔽性要求、印刷电路板(PCB)设计要求以及连接器和电缆的选择要求。

1.电源

电源传送也是使用吉比特级收发器时需要考虑的重要因素。多数的MGT都需要多个电源供电。典型的电源包括:RX模拟电源、TX模拟电源、模拟地、RX终端电压、TX终端电压、数字电源以及数字地。所有的模拟发送和接收电源以及相关的模拟地必须是极其干净的,这一点是十分重要的。所以,MGT制造商通常都会使用特定电路。因此至少要求每个电压值都有各自的模拟电压校准器(如果不是每个MGT都有各自独立的校准器),并且要求使用无源的电源滤波器(由一个电容和一个铁氧体磁珠组成)。典型的电源滤波电路如图10-2所示。

图10-2 MGT电源滤波电路

某些MGT将电容包含在封装的内部,此时通常只需要铁氧体磁珠。如果制造商建议使用特定电路,则通常最好遵从其建议。原因之一是,在公共部分配置了多个MGT的情况下,通常只需要一个单独的线性调整器即可。滤波器电路可以防止电源噪声进入MGT,同时它还可以防止来自某个MGT的噪

声滤进其它MGT。此滤波器既是输入滤波器也是输出滤波器。有时制造商会基于自己所需的输出滤波性能,在输入滤波器和输出滤波器性能间做出折衷。

2.匹配电阻

实现信号完整性的第一步就是在差分传输线上传送这些信号。根据通常的定义,传输线都有一定的固定阻抗。实际上,阻抗值并不是恒定的,而是变化的。这个问题在下面的几种情况下尤其突出:信号由一层转移到另一层时,信号遇到元件的焊盘时,或信号通过连接器或电缆时。当运行在吉比特级速率范围内,些许的阻抗增加都会是潜在的问题。吉比特级链路需要使用阻抗无限制通道,否则其无法工作。

我们需要对传输通道进行模拟,并在布线之前使用CAD的信号完整性工具来最终确定连接器和电缆。我们在获取初始原型时,需要用时域反射测量法(TDR)来检验通道的阻抗。100欧姆和50欧姆的传输线是最常用的传输线。部分收发器可以适配两种传输线,而部分收发器可能只能支持其中的一种。对于10Gb/s范围的应用,50欧姆显然是最通常的选择。如果收发器同时支持100欧姆和50欧姆,那么连接器和电缆的选择问题应当慎重考虑。

3.印制电路板的设计

对于优秀的PCB设计者来说,设计用于吉比特级操作的PCB也会是一个挑战。设计者需要注意:差分线路必须匹配,阻抗受限的差分线路的几何形状必须随着层数的增加而相应变化,电源分配也必须严格分析。因为可能存在成千上万的独立的设计折衷和决定,所以全面列出所面临的问题可能会有所帮助。主要包括如下的几个方面:

? 材料选择 ? 叠层结构/板厚度 ? 电源层和地层 ? 差分线路对

? 差分线路的宽度和间隔 ? 过孔

? 线路对之间的间隔 ? 电源布局

在实际设计中,必须参考不同FPGA厂家对PCB设计的详细说明文档,否则系统很可能不能正常工作。

4.数字设计部分

吉比特级链路的模拟仿真需求让我们进入了一个崭新的EDA工具世界,而其数字部分的影响则要小得多。尽管如此,数字仿真时还是有几个事项需要考虑的。

1)MGT行为模型都是以特殊的加密形式出现的。这些模型都是复杂的内核,而且都是非常有价值的知识产权(intellectual property,IP)核。所以,厂商为了保护他们的知识产权,通常只会以IP-safe

的格式发布这些模型。最流行的格式称作smart模型或者swift。通常,模型经过加密后,仿真器可以读取模型但是用户不能。模型内部的节点和层次对于用户来说是不可见的;用户只能看见模型的输入和输出。

2)数字仿真

MGT数字仿真的另一个问题是仿真速度。通常的数字电路大多数工作在100-300MHz的范围,因此。需要把仿真的时标调整到几个纳秒。但是如果添加一个MGT的线速度模型,则信号速度就会比之前最快的信号还要快20倍以上。MGT模型都有一个并行的输入和输出端口,因此如果在大多数的测试台中使用这些措施,并创建一个实际运行在全数据速率的小型测试组件,则MGT对全局验证时间的影响将会大大减小。

第2节 基于Rocket I/O高速串行技术

10.3.1 Rocket I/O技术简介

Rocket I/O是一种高速的串行收发器,采用两对差分对来进行数据的发送和接收,可以实现两个单工或一对全双工的数据传输。Rocket I/O支持从622 Mbps至3.75Gbps的全双工传输速率,还具有8B/10B编解码(平衡编码)、时钟生成及恢复等功能,可以理想地适用于芯片之间或背板的高速串行数据传输。Aurora协议是为专有上层协议或行业标准的上层协议提供透明接口的第一款串行互连协议,可用于高速线性通路之间的点到点串行数据传输,同时其可扩展的带宽,为系统设计人员提供了所需要的灵活性。

Rocket IO收发器发送和接收串行差分信号,工作于2.5V的直流电压下,采用CML(Current Mode Logic)模式,内部带有50Ω或75Ω的匹配电阻。此外,Rocket IO采用了预加重技术,可以补偿传播媒质中的高频损耗,极大地降低了共模信噪比和线路衰减。由香农公式:

可以得到,当信道容量一定时,信道带宽W的增加会造成信噪比下降。由于Rocket IO单路传输速率最高可达3.75 Gbps,因此可允许很低的信噪比。总体来讲,Rocket IO的显著特点包括:

? 速率范围介于100Mbp到3.75Gbp之间;

? 业内最低的功耗:在3.2Gbps下每个通道的功率均低于100mW; ? 可在单个FPGA中实现多个协议(标准的和定制的);

? 设计用来与Virtex-5 LXT和SXT平台FPGA内的PCI Express?端点与三态以太网 MAC模

块一起使用;

? 符合芯片到芯片、背板与光学器件接口的常见标准和协议; ? 先进的Tx/Rx均衡技术,可以驱动背板和其它困难通道; ? 内置式PRBS发生器/检验器可以加速调试; ? 在Virtex-5 LXT平台器件中的收发器多达24个;

10.3.2 Aurora协议

1.Aurora协议简介

Aurora是一个相对简单的协议,只控制链路层和物理层。Aurora的设计理念是使其它高层协议,例如TCP/IP和以太网,可以很容易的运行在Aurora之上。Aurora协议使用1个或多个高速的串行通道构成更高速的通路,如图10-3所示。

图10-3 Aurora链路结构示意图

Aurora不仅定义了物理接口,而且定义了包结构、嵌入其它协议包的推荐程序、数据提取和流量控制。协议中定义了有效链路的初始化程序,同时还描述了禁止使用发生过量错误的链路的相关程序。由于协议中没有寻址时序,所以不支持交换。协议中也没有定义错误检测、重传或有效载荷的纠错。此协议是由Xilinx开发的,并且无限制地开放给公众自由使用,也可以将Aurora数据包加载到其他协议。

2.定制协议

在某些情况下,用户可能希望制定自己的协议。特别是当标准协议不能满足要求,或者标准协议对于用户的应用来说太过宽泛时,制订用户自己的协议是个很好的选择。当然,有时用户可能也需要一个新的复杂协议,但是这种情况通常留给制定标准的专业协会。这里我们给出一个简单的例子,来了解在制定自己的协议时应当考虑的各种事项。在这个简单的应用中,需要将恒定的1.8 GHz信号流从一块板传送到另一块板。系统的输入输出使用12位的总线,工作在150MHz。针对这个简单的应用需求,协议中需要定义的内容包括:数据帧结构、对齐和idle(空闲)字符。此例中,我们使用8b/10b作为线路编码机制,并从其它8b/10b标准中借用标记及comma字符的定义。链路的基本结构如图10-4所示。

图10-4 基本帧结构

首先需要为SF(帧开始)、EF(帧结束)和idle(空闲)指定字符或者有序的字符集,之后再确定线路速率和数据帧大小。适当设置数据帧的大小,以保证对齐时有充足的SF符号,并且进行时钟修正能够有足够的idle符号。如果要传送1.8 GHz的载荷,那么传输线速率为2.5Gb/s,其有效载荷速率