|
FPGA使XAUI 和 InfiniBand设计更容易
|
Xaul and InfiniBand Made Easy
|
■Tellabs Operations公司高级设计工程师 Chris Esser
|
InfiniBand接口是旨在满足新兴的微处理器通信要求新协议中的一种。尽管目前最流行的互连结构仍是做为现业界标准的外围设备互连(PCI)总线标准,但PCI无法满足不断增长的设备I/O需要。根据目前标准,其66MHz的最大速度(对PCI-X则为133MHz)是相当慢的。而其共享总线架构也带来了瓶颈限制。虽然可以通过桥接额外的段来隔离活动连接,但其回报也是非常有限的。现在,语音和数据业务的爆炸性增长以及诸如集群服务器、对称式多处理和远程存储等专用拓扑技术的出现需要更先进的互连方法。
InfiniBand建立在现有交换式网络拓扑中所采用的概念之上,并将这些概念应用于处理器互连,从而创造出一种系统区域网络(system
area network,SAN)。它采用了一种交换构造拓扑结构,利用通道适配器、交换器(switch)和路由器在系统中的结点间提供大带宽的点到点连接。InfiniBand在设计开始就考虑到了可扩展性。尽管InfiniBand标准1.0版本规定的信号速率为2.5
Gbps,但在连接初始化和训练过程中仍然需要进行连接速度协商。连接初始化过程的另一部分功能是进行连接带宽协商。InfiniBand接口可通过2、8或24个信号对的全双工、自定时差分接口工作于1X、4X和12X(2.5、10或30
Gbps)速度下。采用的连接编码方案是8B/10B编码,这种编码方法提供了有限的游程长度,支持时钟恢复和综合、字节同步、控制字符传输和DC平衡等特性。
InfiniBand定义
10G以太网联盟促进网络发展到一个新的水平。10G以太网联盟解决方案提供了一种新的接口,这一接口是以太网模式的自然演化。它利用了先进的但对一些新兴协议来说通用的互连技术。虽然10
G以太网标准抛弃了半双工操作模式,并需要采用光纤进行传输,但它在其它所有方面仍然与最初的以太网模式保持了一致。10 G以太网工作组的一个创新是对10
G媒体无关接口(XGMII)进行了扩展,扩展后的接口称为XAUI(发音为"Zowie")接口。XGMII是一种74位信号宽度的接口,发送与接收用的数据路径各占32位,还有4位控制线以及时钟。XAUI在具有自定时的接口中将其减为仅8个差分信号,4个发送4个接收。XAUI采用8B/10B编码方案来实现数据对齐和保证数据完整性,最终的接口波特率为3.125
Gbps。(如表1所示)。
由于XAUI和InfiniBand间的相似性,对两种接口可采用类似的设计实施策略。对于PCB设计来说,负责布局的工程师应当遵守高速接口设计的最佳实践。请参考有关高速设计的建议。在Xilinx公司的Virtex-II
Pro平台FPGA中,接口设计工作被极大地简化了。过去,创建一个高速接口(如 <1GHz LVDS)的工作需要用户完成。要完全描述和构造与收发器I/O通信的SerDes模块需要相当的努力。Virtex-II
Pro FPGA中的Rocket I/O接口不仅完全处理了必需的SerDes功能(8x, 16x, 或 32x),还可完成许多其它任务。
Virtex-II Pro FPGA还包含编码器/解码器、时钟管理功能、数据训练和对齐功能、CRC功能以及弹性缓冲器块。通常使用4种预加重设置(0-35%)和5种差分摆幅控制设置(800
- 1600 mV峰峰值),收发器可以最大波特率驱动长达20英寸的FR4线路。Rocket I/O收发器还可进行通道绑定,即将几个串行通道捆绑在一起提供一个大带宽通道。通道绑定对于XAUI是必需的,也是InfiniBand中提高带宽的一种可选方法,同时还可用于Virtex-II
Pro所支持的许多其它标准和专用接口。控制信号通过主通道传递给从通道,以保证串并转换后输出数据总线的完全对齐。所有这些上面提到的模块都可通过设计中的属性进行配置。利用预定义的XAUI
或 InfiniBand 基本单元(Primitives) (所有属性设置都已经有正确的缺省值)之一可以进一步简化高速串行接口的设计。
Xilinx提供的基本单元是完全可仿真的VHDL或Verilog模型,在设计中只需要通过实例直接采用即可。通过将适当的预定义基本单元与FPGA核心设计结合到一起,在短短数分钟内完成数Gbps收发器设计是完全可能的。提供到FPGA构造的信号包括时钟、数据和一组控制和状态信号线
。基本单元的简单性保证了设计可一次成功,相反收发器核心的可配置能力保证了其可用于几乎任何专用或半定制接口应用。
VHDL实施
在设计中集成高速Rocket I/O收发器是非常简单的。我们以VHDL代码示出了四个XAUI接口通道中第一个的实例,这四个XAUI接口每个都在FPGA
I/O引脚提供 3.125 GHz的速率,从而总的接口波特率可达到12.5 Gbps。其中Rocket I/O GT_XAUI_2核心完成10b/8b译码和数据流串并转换工作,并将结果通过一个64位总线提供到FPGA构造。
为想替换任何缺省属性,只需要在通用分配块(generic assignment)中为该属性指定新的值就可以了。
高速信号最佳实践经验
以下是在PCB设计中需要牢记的几个基本原则和建议:
●布线长度尽可能短。
●尽量将高速信号布在外面的层。除非使用盲过孔或埋入式过孔,在每层交接处都会产生短线头。在GHz频率时,30毫英寸的短线头和过孔端点会产生非常严重的信号干扰。
●在高速信号上不要有任何形式的短线头,即使是测试点也不行。与使用测试盘和过孔相比,更好的方法是将信号线通过过孔走到电路板的焊接层,并走一段短线,然后再到电路板正面。
●走线尽可能宽(7.5或10 mil,而不是采用5 mil)以将信号损失和抖动降到最低。
●进行仔细的布线,使一对高速差分信号对的所有布线弯曲总和等于0,同时走线长度相等。
●永远不要在靠近高速信号线的地方布逻辑信号线。始终利用地线网络或每半英寸通过一个过孔连接到地线层的铜块将它们隔离开。
XAUI和InfiniBand是为满足系统内和系统间通信需求而出现的新标准。通过为处理器提供充足的通信带宽,InfiniBand旨在满足系统区域网络的需求。XAUI最初是做为连接以太网媒体访问控制器(MAC)到物理层(PHY)的方法提出的。在其提出后不长的时间里,XAUI已经逐渐成为光学收发器的通用接口,以及SerDes器件间的高速背板通信接口。虽然高速接口由于其极小的周期宽度而面临很大的设计挑战,但它们可大大降低EMI。这是由于其内在所具有的平衡性、自带时钟、内置错误检测以及低功耗等特点,XAUI同时还可对总线间不同倍的持续多个时钟周期的畸变进行补偿,并节约PCB空间,从而潜在地节约了背板布线复杂性和连接器组装成本。利用FPGA的可配置特性,实施这些接口的成本和风险被大大降低,从而可保证设计的成功。
|
|