互连设计师正从同步并行总线转移到点对点高速串行链接(带嵌入式时钟和数据)。这种转移使很多通信系统设计人员想知道在串行和并行互连之间进行选择时如何折衷考虑。本文通过详细分析新一代高速互连串行总线和其目标应用给出了答案。
尽管串行I/O似乎能解决高速设计面对的互连难题,但并行接口仍然有它的位置。
尽管更高的集成度解决了器件功能和成本问题,但同时将设计瓶颈转向了互连。这时,架构设计师期望在一个能提高整个系统级性能和提供更大伸缩性的补充架构里链接多数器件。
为实现这个目标,系统总线的效率必须提高到可进行更多的交易处理和增加带宽。很多方法已被用于达到这个目标,先是从多支路转向点到点的总线架构,使系统设计人员能实现更宽和更快的总线。此外,诸如流水线和突发处理等技术可通过从异步到同步并行总线的转变而实现。它们也使设计人员可实现更快和更宽的总线。
不过,加宽总线、提高总线频率和使总线与外接时钟同步却会引入一些新挑战。这些技术加上物理上的限制,迫使互连设计师从同步并行总线转移到点对点高速串行链接(带嵌入式时钟和数据)。这种转移使很多通信系统设计人员想知道在串行和并行互连之间作出选择时如何折衷考虑,并想知道并行总线最终是否会过时。这些问题的答案可从详细分析新一代高速互连串行总线和其目标应用中找到。
并行方法
一个并行总线会被多路复用或解复用,并有一个点对点或多支路式架构。尽管多路复用的总线具有对每个器件引脚和走线的要求更少的优势,但一个解复用的总线还是具有更高的性能和吞吐量。
一个多支路并行总线是两个或两个以上器件之间共享的总线,一个例子就是PC主板或嵌入式微处理器应用中的SDRAM接口总线。PCI总线是一种用途广泛的多支路式架构(见图1)。有了这个方法,设计人员就能通过加宽总线、提高时钟频率和流水线式处理来满足对更高带宽的需求。但是,这些解决方案每个都有其缺陷。增加总线带宽限制了总线最大可用的频率,因为同一总线上的信号之间存在偏斜。总线更宽意味着器件上要有更多的引脚,电路板上有更多的走线,连接器上有更多的引脚,所有这些都转化为更高的成本。
提高多支路式总线频率则限制了能在一个单一分段上所连接器件的数量。为解决这个问题,设计人员通常用桥路来把一个大的分段分解成多个更小的分段。尽管桥路有助于提高信号完整性,但它们迫使设计人员采用更多的电路,直接增加了成本。表1给出了一些多支路式总线及其应用的例子。
随着多支路式并行架构中总线频率和宽度的增加,诸如扇出和电容负载的问题使点对点并行总线显得更加适用。点对点并行总线通常是一个源同步总线,由数据信号、时钟和几个控制信号组成。数据信号与源生成时钟同步。随着数据总线频率与宽度的增加,电路板上的布线变得更具挑战性,因为很小的偏斜就会引起接收器在时钟边缘上读出错误的数据。所以,设计人员必须更精确地将数据信号走线长度与源生成时钟走线匹配。不幸的是,随着总线宽度的增加,匹配所有信号的长度变得愈加困难。所有这些走线都在争夺两个芯片之间有限的空间,这样最终限制了可以实现的最大时钟频率。
总线加宽带来的另一个问题是器件需要更多的引脚(更多的功率),在必须直接采用点到点总线进行连接的两个以上器件时,这就变成一个大问题了。这需要在其中一个电路上复制一个完整总线。一个解决方案是应用开关来互连多个器件。基本上,每个器件连接到一个开关电路,通过此开关与其它器件通信。点对点并连总线采用的开关是受焊盘限制的,因为开关需要给每个器件配备一个专用的总线。
简言之,设计基于高速并行总线的系统的缺点是:高引脚数;导致更高的功耗;困难的电路板布线;更多的电路板层数和同一端口走线之间的偏斜失配。此外,在并行总线下大量单端信号摆动会产生噪声和EMI问题。
串行接口
地址、数据和控制信息都是在单个链路上运载的串行接口已被提议为解决高引脚数、位偏斜和同步化问题的方案。这个信号可以同步到一个外接的时钟或可以携带内嵌时序信息的数据。串行总线像平行总线一样,可以有一个点对点或多支路式架构。
在提到增加源同步总线中的数据率的时候有两个主要限制因素:数据和时钟偏斜、通道抖动。数据内嵌时钟的串行链路解决了时钟数据偏斜问题,使串行链路工作比源同步总线快4-10倍。但是,由于接收器必须从接收串行链路中恢复时钟和数据,时钟和数据的恢复需要应用智能电子,因而在高数据率链路上更具挑战性。
随着两个端点之间数据率和距离在串行链路上的增加,调制和均衡占优先权。关于调制,有些设计人员选择二进制信令,其中每个脉冲对应的只有一个比特,而另一些人采用的是多层信令方法,其中每个脉冲对应的是有2个或2个以上比特的符号。
每种信令方法各有利弊。多层信令的主要优势是能在更低频下运行一个链路,同时可运载与二进制信令同样数量的数据。主要的缺点是其复杂的时钟和数据恢复电路或造成更高功耗、更大的芯片尺寸。
串行I/O应用
高速串行I/O用于芯片到芯片、板到板、机架到机架的连接。在芯片到芯片连接中,两个芯片都在同一块电路板上,两者之间的距离通常小于10英寸。在这种情况下,所有高速I/O单元集成在芯片内部,而这个芯片又提出新的要求,诸如I/O单元必须是低功率和小裸片尺寸。
如果在一个设计中需要两个以上芯片来互相直接连接,开关是最受欢迎的方案。在这种情况下,每个器件由单个串行端口组成,所有器件连接到一个多端口开关器件。需着重指出的是,一个端口可以由一个或多个串行I/O链路组成。侧重于低功率、小芯片尺寸和高速串行I/O单元在设计开关中变得越来越重要,因为每个开关都是一个多端口电路,每个端口可以由几个串行I/O组成(见图2)。
在板到板连接中,两块板是通过一个背板连接的。在这种情况下,高速串行连接在三个分段上路由。第一分段是在称为入口板的源上,第二分段是在背板上,第三分段是在目的地或出口板上。连接入口板和出口板到背板的两个背板连接器,是这个多分段走线的一部分。板与板互连的典型走线长度在20-40英寸之间,在每个入口和出口板上有5-6英寸的走线,背板走线有10-28英寸。Xaui是最流行的背板串行接口标准,而PCI Express、SPI-5和串行RapidIO是面向芯片到与芯片及板到板应用的三种前景看好的高速串行接口。
在机架到机架连接中,在几米和几公里之间的两个或两个以上机架通过光纤或铜轴线缆系在一起。以太网和Infiniband是针对机架到机架连接的最流行标准。
不过,一个串行标准也可同时用于几个应用中。例如,Xaui可用于企业解决方案中的芯片到芯片及板到板应用中,即使它在存储区域网络应用中受到关注。另一个例子是串行RapidIO,它主要针对内嵌和DSP应用,但也可用于芯片到芯片和板到板的应用。
互操作性
每种标准指定了一个多层(通常为2-3层)的互连架构。第1层,一般为物理层,定义了信息包如何在两个物理点(芯片到芯片)之间移动。电气接口和流控制规范是物理层定义的一部分。第2层通常被称为传输层。传输层规范提供端点(用户到用户)之间信息包路由所需的信息。第3层一般被称为逻辑层,提供了端点能处理交易的必要信息。例如,逻辑层负责定义帧格式、寻址机制和交易类型。
每种标准可以给每层取不同的名字,或者甚至把两层的职责并入到一层上,反过来也一样,把单层的功能分解成两层或两层以上。不管层数和名称如何,每个标准应有物理的规格来处理两个物理点之间的连接。它应说明如何在两个系统端点之间进行信息包路由,并指出有关帧格式的信息,这样所有端点都能发起和识别交易处理。对多层上的互连架构进行分割可有机会为某一层增加一些特性,而无须改变其它层的技术规格(见图3)。
并行与串行的对比
系统工程师在串行和并行总线之间应小心选择。如上所述,高速并行总线有信道偏斜、板面积、高引脚数和更多I/O功率的缺陷。但简单地用一个高速串行总线代替高速并行总线并不象“扣篮”那样简单。因为高速串行信号在同一链路上同时承载了数据和时钟,接收器电路需要从串行信号上恢复时钟和数据,然后把进入的串行高速数据转换成低速的并行数据。这个所谓的SerPar功能导致典型芯片中的内部逻辑通常比串行数据速率慢10-20倍。
在输出侧,内部的更低速并行总线需要串联到单个高速串行流(ParSer功能)。时钟和数据恢复(CDR)以及数据解串和串行会引入额外的时延。所以谨慎地说,对于要求低时延的应用,诸如存储器电路,并行总线是较好的选择。对于能忍受时延的应用,串行接口是个更好的选择。
接口桥接
很多系统需要串行和并行接口。由于互连架构是个具有自身帧格式化和寻址结构的多层协议,在同一系统上使用平行和串行协议必定需要来回转换议定书的桥路,除非两种协议之间的唯一区别是物理层。在这种情况下,串行和平行互连协议在第2层和以上是一致的,两者之间的唯一区别是第1层上的物理规格。
例如,需要一个桥路连接带有PCI接口的器件到带有串行或甚至并行RapidIO接口的器件上。这种桥路叫做PCI到RapidIO,它会把PCI交易处理转化成RapidIO交易处理,反之亦然。另一方面,不需要协议转化来把串行RapidIO交易处理转化成并行RapidIO交易处理。而且,RapidIO开关会有多个串行端口和几个并行端口,只在物理层上有区别。这就是为什么多数新的串行标准只是以往和现有并行接口的延伸,如在PCI Express和串行RapidIO情况下。串行RapidIO的第2层和第3层规范与RapidIO相同。RapidIO物理层是基于源同步、点到点并行总线,带有4个或8个数据位端口;串行RapidIO物理层是基于高速串行链路,带有1通道(或1x)和4通道(或4x)端口。
随着数据速率和走线长度的增加,设计高速串行I/O单元变得更具挑战性。二进制信令中的高数据速率串行链路转化成更小的位周期,设计CDR电路以更短的时间恢复时钟和数据变得更加困难。同时不断增加的走线长度加剧了信号失真和衰减。输入均衡、输出预强调和输出级编程被广泛应用于提高在更高数据率和走线长度情况下的信号完整性。
1楼
0
0
回复
尽管串行I/O似乎能解决高速设计面对的互连难题,但并行接口仍然有它的位置。
尽管更高的集成度解决了器件功能和成本问题,但同时将设计瓶颈转向了互连。这时,架构设计师期望在一个能提高整个系统级性能和提供更大伸缩性的补充架构里链接多数器件。
为实现这个目标,系统总线的效率必须提高到可进行更多的交易处理和增加带宽。很多方法已被用于达到这个目标,先是从多支路转向点到点的总线架构,使系统设计人员能实现更宽和更快的总线。此外,诸如流水线和突发处理等技术可通过从异步到同步并行总线的转变而实现。它们也使设计人员可实现更快和更宽的总线。
不过,加宽总线、提高总线频率和使总线与外接时钟同步却会引入一些新挑战。这些技术加上物理上的限制,迫使互连设计师从同步并行总线转移到点对点高速串行链接(带嵌入式时钟和数据)。这种转移使很多通信系统设计人员想知道在串行和并行互连之间作出选择时如何折衷考虑,并想知道并行总线最终是否会过时。这些问题的答案可从详细分析新一代高速互连串行总线和其目标应用中找到。
并行方法
一个并行总线会被多路复用或解复用,并有一个点对点或多支路式架构。尽管多路复用的总线具有对每个器件引脚和走线的要求更少的优势,但一个解复用的总线还是具有更高的性能和吞吐量。
一个多支路并行总线是两个或两个以上器件之间共享的总线,一个例子就是PC主板或嵌入式微处理器应用中的SDRAM接口总线。PCI总线是一种用途广泛的多支路式架构(见图1)。有了这个方法,设计人员就能通过加宽总线、提高时钟频率和流水线式处理来满足对更高带宽的需求。但是,这些解决方案每个都有其缺陷。增加总线带宽限制了总线最大可用的频率,因为同一总线上的信号之间存在偏斜。总线更宽意味着器件上要有更多的引脚,电路板上有更多的走线,连接器上有更多的引脚,所有这些都转化为更高的成本。
提高多支路式总线频率则限制了能在一个单一分段上所连接器件的数量。为解决这个问题,设计人员通常用桥路来把一个大的分段分解成多个更小的分段。尽管桥路有助于提高信号完整性,但它们迫使设计人员采用更多的电路,直接增加了成本。表1给出了一些多支路式总线及其应用的例子。
随着多支路式并行架构中总线频率和宽度的增加,诸如扇出和电容负载的问题使点对点并行总线显得更加适用。点对点并行总线通常是一个源同步总线,由数据信号、时钟和几个控制信号组成。数据信号与源生成时钟同步。随着数据总线频率与宽度的增加,电路板上的布线变得更具挑战性,因为很小的偏斜就会引起接收器在时钟边缘上读出错误的数据。所以,设计人员必须更精确地将数据信号走线长度与源生成时钟走线匹配。不幸的是,随着总线宽度的增加,匹配所有信号的长度变得愈加困难。所有这些走线都在争夺两个芯片之间有限的空间,这样最终限制了可以实现的最大时钟频率。
总线加宽带来的另一个问题是器件需要更多的引脚(更多的功率),在必须直接采用点到点总线进行连接的两个以上器件时,这就变成一个大问题了。这需要在其中一个电路上复制一个完整总线。一个解决方案是应用开关来互连多个器件。基本上,每个器件连接到一个开关电路,通过此开关与其它器件通信。点对点并连总线采用的开关是受焊盘限制的,因为开关需要给每个器件配备一个专用的总线。
简言之,设计基于高速并行总线的系统的缺点是:高引脚数;导致更高的功耗;困难的电路板布线;更多的电路板层数和同一端口走线之间的偏斜失配。此外,在并行总线下大量单端信号摆动会产生噪声和EMI问题。
串行接口
地址、数据和控制信息都是在单个链路上运载的串行接口已被提议为解决高引脚数、位偏斜和同步化问题的方案。这个信号可以同步到一个外接的时钟或可以携带内嵌时序信息的数据。串行总线像平行总线一样,可以有一个点对点或多支路式架构。
在提到增加源同步总线中的数据率的时候有两个主要限制因素:数据和时钟偏斜、通道抖动。数据内嵌时钟的串行链路解决了时钟数据偏斜问题,使串行链路工作比源同步总线快4-10倍。但是,由于接收器必须从接收串行链路中恢复时钟和数据,时钟和数据的恢复需要应用智能电子,因而在高数据率链路上更具挑战性。
随着两个端点之间数据率和距离在串行链路上的增加,调制和均衡占优先权。关于调制,有些设计人员选择二进制信令,其中每个脉冲对应的只有一个比特,而另一些人采用的是多层信令方法,其中每个脉冲对应的是有2个或2个以上比特的符号。
每种信令方法各有利弊。多层信令的主要优势是能在更低频下运行一个链路,同时可运载与二进制信令同样数量的数据。主要的缺点是其复杂的时钟和数据恢复电路或造成更高功耗、更大的芯片尺寸。
串行I/O应用
高速串行I/O用于芯片到芯片、板到板、机架到机架的连接。在芯片到芯片连接中,两个芯片都在同一块电路板上,两者之间的距离通常小于10英寸。在这种情况下,所有高速I/O单元集成在芯片内部,而这个芯片又提出新的要求,诸如I/O单元必须是低功率和小裸片尺寸。
如果在一个设计中需要两个以上芯片来互相直接连接,开关是最受欢迎的方案。在这种情况下,每个器件由单个串行端口组成,所有器件连接到一个多端口开关器件。需着重指出的是,一个端口可以由一个或多个串行I/O链路组成。侧重于低功率、小芯片尺寸和高速串行I/O单元在设计开关中变得越来越重要,因为每个开关都是一个多端口电路,每个端口可以由几个串行I/O组成(见图2)。
在板到板连接中,两块板是通过一个背板连接的。在这种情况下,高速串行连接在三个分段上路由。第一分段是在称为入口板的源上,第二分段是在背板上,第三分段是在目的地或出口板上。连接入口板和出口板到背板的两个背板连接器,是这个多分段走线的一部分。板与板互连的典型走线长度在20-40英寸之间,在每个入口和出口板上有5-6英寸的走线,背板走线有10-28英寸。Xaui是最流行的背板串行接口标准,而PCI Express、SPI-5和串行RapidIO是面向芯片到与芯片及板到板应用的三种前景看好的高速串行接口。
在机架到机架连接中,在几米和几公里之间的两个或两个以上机架通过光纤或铜轴线缆系在一起。以太网和Infiniband是针对机架到机架连接的最流行标准。
不过,一个串行标准也可同时用于几个应用中。例如,Xaui可用于企业解决方案中的芯片到芯片及板到板应用中,即使它在存储区域网络应用中受到关注。另一个例子是串行RapidIO,它主要针对内嵌和DSP应用,但也可用于芯片到芯片和板到板的应用。
互操作性
每种标准指定了一个多层(通常为2-3层)的互连架构。第1层,一般为物理层,定义了信息包如何在两个物理点(芯片到芯片)之间移动。电气接口和流控制规范是物理层定义的一部分。第2层通常被称为传输层。传输层规范提供端点(用户到用户)之间信息包路由所需的信息。第3层一般被称为逻辑层,提供了端点能处理交易的必要信息。例如,逻辑层负责定义帧格式、寻址机制和交易类型。
每种标准可以给每层取不同的名字,或者甚至把两层的职责并入到一层上,反过来也一样,把单层的功能分解成两层或两层以上。不管层数和名称如何,每个标准应有物理的规格来处理两个物理点之间的连接。它应说明如何在两个系统端点之间进行信息包路由,并指出有关帧格式的信息,这样所有端点都能发起和识别交易处理。对多层上的互连架构进行分割可有机会为某一层增加一些特性,而无须改变其它层的技术规格(见图3)。
并行与串行的对比
系统工程师在串行和并行总线之间应小心选择。如上所述,高速并行总线有信道偏斜、板面积、高引脚数和更多I/O功率的缺陷。但简单地用一个高速串行总线代替高速并行总线并不象“扣篮”那样简单。因为高速串行信号在同一链路上同时承载了数据和时钟,接收器电路需要从串行信号上恢复时钟和数据,然后把进入的串行高速数据转换成低速的并行数据。这个所谓的SerPar功能导致典型芯片中的内部逻辑通常比串行数据速率慢10-20倍。
在输出侧,内部的更低速并行总线需要串联到单个高速串行流(ParSer功能)。时钟和数据恢复(CDR)以及数据解串和串行会引入额外的时延。所以谨慎地说,对于要求低时延的应用,诸如存储器电路,并行总线是较好的选择。对于能忍受时延的应用,串行接口是个更好的选择。
接口桥接
很多系统需要串行和并行接口。由于互连架构是个具有自身帧格式化和寻址结构的多层协议,在同一系统上使用平行和串行协议必定需要来回转换议定书的桥路,除非两种协议之间的唯一区别是物理层。在这种情况下,串行和平行互连协议在第2层和以上是一致的,两者之间的唯一区别是第1层上的物理规格。
例如,需要一个桥路连接带有PCI接口的器件到带有串行或甚至并行RapidIO接口的器件上。这种桥路叫做PCI到RapidIO,它会把PCI交易处理转化成RapidIO交易处理,反之亦然。另一方面,不需要协议转化来把串行RapidIO交易处理转化成并行RapidIO交易处理。而且,RapidIO开关会有多个串行端口和几个并行端口,只在物理层上有区别。这就是为什么多数新的串行标准只是以往和现有并行接口的延伸,如在PCI Express和串行RapidIO情况下。串行RapidIO的第2层和第3层规范与RapidIO相同。RapidIO物理层是基于源同步、点到点并行总线,带有4个或8个数据位端口;串行RapidIO物理层是基于高速串行链路,带有1通道(或1x)和4通道(或4x)端口。
随着数据速率和走线长度的增加,设计高速串行I/O单元变得更具挑战性。二进制信令中的高数据速率串行链路转化成更小的位周期,设计CDR电路以更短的时间恢复时钟和数据变得更加困难。同时不断增加的走线长度加剧了信号失真和衰减。输入均衡、输出预强调和输出级编程被广泛应用于提高在更高数据率和走线长度情况下的信号完整性。