一些复杂的数字系统,比如高性能计算机(HPC),在处理单元之间或在处理单元与内存之间路由信号时经常广泛使用高速电气互连。尽管串行器/解串器(SerDes)和内存接口速度在不断提高,但仍要求在受限的物理空间中提供更高带宽的总线,同时降低并发开关噪声(SSN)。零和信号概念是在数据总线上使用编码机制,允许使用单端缓冲器同时仍能降低并发开关噪声,因此与传统差分信号相比,可以将物理通道(例如电路板走线)数量减少近2倍。通过仿真和分析实际的(非理想的)数据总线和供电网络架构,我们展示了零和信号的可行性,并与传统(单端和差分)方法进行了性能比较。
引言
许多数字系统(如高性能计算机HPC)都广泛使用差分和单端通道及总线。例如,经常将高速差分串行通道用于处理器至处理器的通信,而密集单端总线通常用于处理器到内存接口。差分信号有许多优势(比如共模噪声抑制,降低并发开关噪声(SSN)等),但所用互连走线的数量是单端信号的两倍。我们建议中间解决方案可能是最优的。考虑用一组缓冲器驱动2N条互连走线,在任何给定的时间点,这些走线中有N条处于逻辑高状态(拉电流),其它N条处于逻辑低状态(灌电流),但不存在差分系统所具有的限制(即高低状态对必须相邻)。
我们称之为“零和信号”,因为它保留了差分缓冲系统的一个最重要特性——独立于输出状态的恒定供电电流输出。这种恒流特性可以极大地减少与系统电感交互的开关电流瞬变,因而能降低供电电压瞬变,减少相关的数据塌陷。通过在任何时间点使用单端走线和合适的编码机制在总线上创建数量平衡(或接近平衡)的逻辑高低状态,我们可以沿着2N条走线传送比差分信号协议更多的数据,并且随着总线数量(N)的增加而接近单端极限。
本文将首先简要介绍零和信号方法的理论,然后详细讨论编码方法以及产生成组的平衡和接近平衡的代码字。接下来使用时域仿真方法评估零和信号应用于包括真实有源与无源单元的概念性HPC环境的可行性。
在仿真部分,我们将研究工作条件的许多变化并观察对高速链路性能的影响。性能评估是通过在并行总线上使用标称和更苛刻的位图案激励条件展开的,同时在链路末端监视垂直眼图开度等指标。最后,文章提供了总结性的评论,并对今后的工作提出了一些建议。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
零和信号方法的基本工作原理
在这篇文章中总共讨论了三种不同的并行总线数据传输方法,即单端(SE)、差分(DIFF)和零和(ZS)。在印刷线路板(PWB)走线数量固定的情况下,使用三种信号机制可以传送的数据比特数量见下表1。需要注意的是,表中所示的零和比特数量公式来自计算总比特数为2N时可用的代码数量,其中N个比特是1,N个比特是0。随着N增长,零和数据比特数量将接近单端数据比特数极限。
表1:单端、差分和(最佳的)零和信号机制比较。
c9Hednc
很显然,对于二元传输而言,表1中非整数的零和数据比特是不现实的。不过换个思路,我们可以有效地反过来利用这些公式计算使用这些信号机制传送固定数量比特所需的走线数量。这些公式的结果见下面的表2。针对零和情况,我们自我限制为偶数的走线数量(否则1和0的数量就不可能相等),然后计算可以支持给定数据比特数的最小偶数走线数。
表2:各种信号机制为了支持固定的数据比特数而需要的走线数量。
c9Hednc
图1是针对32位数据总线的概念化单端、差分及零和链路的比较框图。
图1:传统信号机制(单端和差分)与零和信号机制的比较。(23489v3)
c9Hednc
值得注意的是,这个概念可以延伸到采用“接近零和”的编码机制。在这种情况下,1和0的数量不必相等,而是可以有一定程度的“差值”d(比如d = ±2、±4等)。这时可能导致有限电流开关,进而增加并发开关噪声(SSN),但由于具有代码字扩展集的优势,因此给定走线数量理论上可以支持更多的比特数。即使我们将零和信号概念扩展到包含接近零和编码,我们因此也会继续使用术语“零和信号”来表示两种情况下的通用概念,并使用术语“差值”反映在零和总线上任一时间瞬间允许的1和0数量间的差别。
表1中用于计算可以通过给定数量走线传送的(编码后的)比特数的公式可以扩展适应如下所示的有限差值。2N比特(实际上有N-k个1和N+k个0)上可用的代码字数量(也就是差值等于2k的代码字)可以根据以下公式计算:
c9Hednc
同样这个公式可以用来计算具有N+k个1和N-k个0的代码字数。通过累加差值为d、小于等于给定值的代码字总数并对这个数字求底为2的对数可以计算得到所有代码字的有效比特数量。例如,
c9Hednc
在下表3中,我们用这些公式计算在一组假设为物理互联走线上获得支持的数据比特数量,这些走线使用具有多种可允许差值(简写为“ZS±d”)的零和信号机制。注意在括号中,我们给出的是这个计算值的整数部分,因为一般人只对使用总线传送每个字的整数比特数感兴趣。为了便于比较,同时给出了单端(SE)和差分(DIFF)数据比特的数量。
表3:各种信号机制在固定数量的走线上支持的数据比特。
c9Hednc
同样,我们可以反过来用这些公式计算使用任一种信号机制传送固定数量比特所需的走线数量。这些公式的结果见下面表4。跟前面一样,我们计算可以支持至少给定数据比特数量的最小偶数整数。注意,允许有限差值会开启代码空间,以便可以传送额外比特,但由于限制为偶数根走线,因此ZS±4允许的增量代码空间不允许相对于ZS±2的走线数量减少(至少对于表格中考虑的情况是这样)。
表4:各种信号机制(包括具有有限差值的零和)为了支持固定数量的数据比特而要求的走线数量。
c9Hednc
在进行仿真之前,有必要研究零和编码的数据的产生方法,这将是下一节讨论的内容。随后再介绍仿真细节和结论。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
零和编码
为了用仿真或硬件方法实现零和信号概念,有必要将任意数据字编码成一组平衡的代码字,或反过来将平衡的代码字解码成任意数据字,其中代码字包含相同数量的1和0比特。许多应用已经对平衡的编码和解码[1]、[2]、[3]、[4]、[5]进行了充分的研究,包括数据传输和存储。用于数据传输的平衡编码一般支持转换密度目标和无直流特性,这是电子和光学链路所需要的。一些编码技术还能满足数据完整性以及误码检测和纠错。
诸如8b10b等流行的传输编码技术能够满足经过单个串行通道传送的比特流需要。8b10b编码并不是完美的平衡码,但可以确保20个比特的流中的差值不超过2个,而且不会出现连续5个以上的1或0。另一方面,零和编码必须满足并行数据“字”,确保在数据总线上同时传送相同数量的1和0比特。因此,对零和编码来说需要另外的编码/解码机制和另外的硬件实现。
为了达到本文的目的,主要要求是开发出可以为仿真提供数据编码的方法。这个任务相对简单,因为对可用于这个目的的计算资源没有特殊的限制。针对仿真目的的编码支持将在下一节讨论。当然,零和信号的实际实现要求用硬件高效地实现有效编码机制。这个问题的解决要难得多,超过了本文要讨论的范围。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
用于仿真的编码方法
在随后的分析章节中描述的电路仿真要求为“典型”案例提供基本的随机数据集。“最坏”情况图案可以由深入了解系统弱点的工程师提供。针对单个链路或不相关的单端链路的随机数据可以由仿真环境中可用的伪随机比特流(PRBS)提供。然而,平衡的代码字的随机流要求特殊的处理。
简单的编码方法可以采用代码字的查找表,其中每个数据值代表进入查找表的索引。随机代码字可以通过从查找表随机选择条目来产生。
在编码小的数据集时这是很容易实现的,但随着数据比特数的增加,这种做法将越来越难,而且解码也需要搜索表格。然而,出于这些仿真的目的,查找表是合适和有效的。对小的代码字集来说,可以产生整个表。而对大的代码字集来说,查找表可以用随机选择的平衡(或接近平衡)代码字填入。由于仿真(至少)要求数百个代码字,因此有1万个条目数量级的查找表在大小上足够了,并且容易产生或存储。
不管用于查找表的代码字值是枚举产生的还是随机选择的,候选代码字都要转换成二进制,并对1和0比特进行计数。平衡的代码字有相同数量的1和0比特。如上所述,“接近平衡的”代码字具有受限的差值,由0和1比特数量的差值d确定。举例来说,针对2*N = 4(线)的情况,代码字是4比特,因此共有2
4 = 16个。针对4比特的代码字及它们的差值列举在表5中。(注意,每列中的代码数量可以从Pascal的三角函数得到)
表5:4位代码字的差值。
c9Hednc
我们开发了Matlab软件代码用于产生具有特定代码大小和差值的代码字集,然后随机产生代码字用作仿真的输入。例如,考虑N = 8的情况,此时零和编码要求12根线(相比之下差分信号要16根,单端信号要8根)。对40个12比特代码字执行Matlab软件产生的结果如图2所示。结果中的每一列代表一个平衡的代码字,其中有6个0和6个1。每一行代表仿真的输出缓冲器发送的比特流。
图2:Matlab产生的12比特平衡代码字例子。
c9Hednc
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
仿真环境和关联的HPC系统假设
在这一节中,我们讨论用于评估比拼传统差分和单端机制的零和信号概念的详细模型。为了方便讨论,假设读者对并发开关噪声及其对传统HPC系统中的信号完整性的影响、还有差分与单端信号的基本原理有基本的理解。对并发开关噪声、基本建模和仿真原理的一般性讨论可参考[10]、[11]、[12]、[13]。
如前所述,零和信号概念背后的理论相对简单,不过实际使用中仍定义了有限的一些例子[14]、[15]。简单地说,这个概念建议使用编码后的字来实现发送电路中的电流抵消,从而通过抑制电流瞬态(di/dt)降低并发开关噪声。在理想条件下,根据基本的L*di/dt关系,电流抵消可以明显地减少并发开关噪声。但典型的HPC应用远非理想情况。反射、损耗、封装寄生、电源/地引脚比例以及电源/地引脚分布都是潜在的实际HPC系统属性,可能减弱零和信号实现的效果,具体取决于缓冲器电流实际是如何传播的。
图3显示了仿真的系统单元和仿真实体的一些描述。出于这些仿真的目的,包含仿真环境的模型和假设可同等地应用于处理器到处理器或处理器到存储器链路。任意设计目标是在每对处理节点之间提供32比特宽的链路。这条链路可以使用差分信号(需要64条线)、单端信号(需要32条线)或零和信号(要求34至40条线,取决于允许的差值水平,并取决于组合在一起形成单根零和总线的走线数量)提供。I/O缓冲器被组合成部件(“片”),如图3所示,每个片能够支持多达40个单端或20个差分缓冲器。这种分割方法得到了Altera Stratix IV FPGA芯片和封装架构的松散采纳,采纳的主要目的是用于PDN建模。下面将进一步讨论这种架构的含义。
图3:用于在处理器到处理器互连环境中评估零和信号概念的象征性系统概念。
c9Hednc
这一节在仿真环境中通过理论研究来进一步理解在更加“实际”应用中的零和信号的概念和潜在限制。仿真环境的创建目的是比较单端(SE)、零和(ZS)和差分(DIFF)这三种信号链路架构的性能。后文将详细讨论针对这些架构的仿真环境,并介绍仿真结果和结论。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
链路架构
为了模拟更加真实的应用环境,我们为三种信号架构分别创建了图4所示的仿真结构(代表与处理器节点的一个“片”相关的整个系统元件集,如上图3所示)。出于这些仿真的目的,我们假设与零和信号评估相关的突出系统功能对每个片来说应基本独立,因此只仿真了一个片。完整仿真的片如图4所示。这张详细的图描述了调整链路仿真架构的许多方面,今后还会经常被引用。基本环境由3个主构建模块组成:传送缓冲器,裸片上的电源分布网络(PDN)和无源印刷线路板(PWB)通道。随后的小节将介绍图4勾画出的整个链路结构的每个部分。
点击查看大图
图4:用于评估零和、差分和单端缓冲器配置及对并发开关噪声影响的仿真架构的一个“片”。(41122v2)
c9Hednc
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
链路架构:发送缓冲器
链路开始于一个用作推挽式串联源端接式(SST)输出缓冲器的晶体管模型,就跟许多串行器/解串器(SerDes)实现中使用的那样。这种发送器设计有一个50Ω的串联输出电阻,当无终端工作时具有0至1VDC的满摆幅,当端接一个匹配的50Ω阻抗时摆幅大约为0.25V至0.75VDC。选择这种缓冲器主要受以前经验的影响[16],还因为需要高速能力来突出与频率有关的通道和PDN。
在大多数差分模式应用中,一般使用真正电流导引的差分缓冲器实现并发开关噪声(SSN)免疫。然而,为了就这次的比较研究提高三种架构下的一致性,使用了两个单端SST缓冲器拷贝来近似一个差分发送器。使用两个这样的缓冲器并不能保证获得用电流导引所能实现的传统SSN免疫性能,而且在差分情况下可能导致过度悲观的仿真结果。因此需要注意的是,这里描述的差分条件只是准差分性质,并不是所有从实用差分信号中获得的传统好处都得到了建模。然而,出于这些仿真研究目的,我们相邻这个缺点不是很重要。正如下面的仿真结果要表明的那样,仿真模式能够清晰地反映电流开关中的差异以及单端与差分信号最终SSN之间的差异,因此我们相信这里描述的零和结果是有效的。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
链路架构:片载无源电源分布
裸片上的I/O电源分布被建模为RLC网络,如图4左下方所示,旨在模拟FPGA或ASIC设计中的金属和电介质材料引起的寄生参数。用于这个仿真操作的无源RLC参数是用一系列简化有关片上几何与结构的假设进行估计的。例如,假设用于片上电源和地的金属带可以用传统传输线近似方法建模,因而得到:
c9Hednc
c9Hednc
其中Zo代表单位为Ω的特征阻抗,.r是介电常数,c是光在真空中的速度,L和C分别是电源/地网络中单位长度的电感和电容。进一步假设电源/地的特征阻抗为100Ω(粗略选择的值,代表无意耦合的、物理上分开的电源与地走线),介电常数为4(CMOS线尾电介质的典型值),缓冲器到缓冲器间距为190um(典型的裸片块间距),然后使用公式3和公式4计算集总模型的L和C值,并归档于表6中。片上电阻用来自IBM 45nm芯片技术的金属几何与材料假设进行近似。(表6中的参考标志符与图4中的值有关联)。
表6:片上的PDN RLC参数定义。
c9Hednc
与现代芯片设计相比,有些几何假设似乎有点悲观。例如,当前的ASIC设计师已经认识到SSN问题,因此经常会增加大量片载电容以减轻电压轨问题。然而,在本次研究中,有必要创建一个性能不如预期的PDN,以便使信号劣化更加明显,在可以建立的信号类型之间便于比较。因此性能稍差的PDN网络是需要的,也就没有包含大量片载电容。事实上,我们可以利用这样几个参数作为可调整的手段来提高或降低PDN性能。
图3所示的概念化系统例子在元件之间使用了32位宽的总线,并被实现为SE、DIFF和ZS信号之间比较的基准。借助图4左下方定义的标准I/O单元,一部分单元被组合在一起,如图4左上方为三种架构化测试案例中的每一种提供的通用MxN矩阵中显示的那样,其中包括了32个SE单元、64个DIFF单元(32个差分对)和36个ZS单元。每个部分中I/O单元的物理安排以及电源/地引脚的分布都是PWB过孔引脚片分布的镜像,下面还将更详细的讨论。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
链路架构:印刷线路板
仿真架构中最有影响的元件也许是PWB过孔引脚片,因为它是造成信号环路电感的主要因素。引脚间距、长度和直径以及相互间的比例、信号和参考引脚的位置都会影响总的环路电感,并直接引起并发开关噪声(SSN)。图5显示了针对每种测试案例建模的过孔引脚片I/O和电源/地分布。虽然是在PWB过孔引脚片的背景下讨论的,但片上I/O和电源/地单元的MxN矩阵采用相同的组织版图。这种安排,特别是电源/地到信号的比例,基本上以Altera为Stratix IV FPGA提供的参考设计为依据。Altera设计中的复杂安排被更对称的方法进行了简化,因此引脚片很容易在三种架构间缩放,同时维护某种几何一致性。引脚间距假设为1mm,过孔长度被建模为100mil,每一种都是相对典型的现代ASIC或FPGA封装和PWB实现。每个信号、电源和地引脚通过过孔引脚片布线到I/O片,图4中的表格显示了每个的数量,图5则有进一步的说明。
需要注意的是,这些引脚输出没有必要针对最小可能SSN进行优化,特别是对差分实现而言。其它引脚输出可能会有更好的性能,但这种方法考虑了所有三种架构之间的一致性,以便得到可比的观察结果。
点击查看大图
图5:过孔引脚片分配描述了三种架构配置下的电源、地和信号分布。(41291)
c9Hednc
仿真链路结构由一个长度为Len1的有损传输线w元件模型、终端电阻R7和小负载电容C2组成,如图4的右上方所示。为了模拟这些PWB参数的变化,传输线长度和R7与C2的值是从每个I/O通信指定的典型值(表7)范围内随机选取的.传输线长度是受约束的,因此差分对内的真正补码斜率(与DIFF案例有关)保持在±20mil以下。
表7:PWB链路参数范围值。
c9Hednc
传输线介质中的线到线串扰有意没有建模,因为每个I/O单元使用独立无耦合的w元件模型。这样做可以通过去除其它独立的噪声源而专注于主要由SSN引起的信号劣化。然而,使用这种方法后,本来在紧耦合对中通常可以抑制掉的共模噪声反而可能影响到差分测量中的眼图关闭。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
链路架构:仿真激励和图案
并发开关噪声(SSN)也与图案有关,因为跨越片上的开关缓冲器图案影响局部di/dt。试图最大化di/dt的“最差情况”开关图案可以通过强制片内所有缓冲器同时改变到相同的高或低状态来实现。标称或“典型”的SE或DIFF图案是通过交叉27-1伪随机比特流(PRBS)种子创建的,这样信号边沿仍然是对齐的,但总线上任意时刻的1和0分布本质上更随机。
零和信号概念确保了总线上有相同数量的1和0,因此全局di/dt为0,但通过将总共36个缓冲器分布的每一半中的相同状态变化组成起来,可以在“最坏情况下”实现PDN上的局部应力。最后,使用随机选择的有效ZS代码字产生“典型的”ZS图案,如上面的编码技术章节介绍的那样。所有三种概念性架构下的每种“最坏情况”和“典型”图案在图6中有进一步描述。在仿真环境中,这些图案特征定义的理想源被用来激励图4所示节点‘i’的I/O单元。注意,在所有情况下,很多缓冲器上的各种图案时钟被设定是同步的(即所有缓冲器同时改变节点“i”的状态)。
点击查看大图
图6:用于SE、DIFF和ZS SSN仿真的图案激励描述和术语。
c9Hednc
如上所述,任意选择的目标节点带宽对每个处理单元来说约4Tbps,见图3。这个带宽是假设在8个32比特通道、每个链路(包含每种案例中所需的尽可能多的走线来代表一个32比特字)工作在16Gbps的情况下实现的。因此,在时域仿真中,标称SST缓冲器输入激励数据速率被设定为每个发送器16Gbps(除了下面提到的某些激励之外)。这个速度与为这些仿真选择的特定SST缓冲器一致,因为它们(虽然是过去的想法)设计支持20Gbps以上的速度[16]。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
仿真结果
这一节将总结用上述模型环境实现的零和、差分与单端信号的众多仿真研究结果。新思公司针对Linux开发的HSPICE版本C.2009.03.SP1用于所有时域仿真。由Mayo SPPDG公司开发的Matlab脚本用于捕获和测量相关的眼图统计数据。
标称仿真:眼图与电压纹波
评估三种架构的主要指标是在接收器输入端仿真/采样的垂直眼图开度。因此在这些仿真结果中没有全部考虑其它经典的眼图特性,如通常用眼图模板评估的抖动。在典型的高密度、单端并行总线应用中,SSN会很大,在信号眼图中的效果是看得见的。为了描述这些SSN和其它效果,图7给出了样本眼图仿真结果。本例中针对SE的缓冲器位置14、ZS矩阵与针对DIFF的缓冲器14/15是任意选择的。
如前所述,SST缓冲器的轨到轨电压摆幅标称值是0至1VDC。然而,在实际使用中缓冲器端接到VDD/2或0.5VDC。采用这种端接方法后,在端接电阻上测量到的每条单端链路的最大理想满电压摆幅是500mV。DIFF配置结果以差分测量形式报告,其中补码信号要从对内的真正信号中减去。在这种情况下,标称满摆幅眼图是单端标称值的两倍,或1VDC。注意图7的差分眼图开度中采用了2倍的垂直刻度。
点击查看大图
图7:16Gbps仿真中6个配置的每个配置的样本眼图。
c9Hednc
垂直轴的标签为“RX端电压”,代表在接收器输入端的眼图电压(图4显示了仿真中测量的这些眼图确切位置)。另外值得一提的是ZS和SE测量时的零共模电压,它完全是用于这次研究的眼图绘制工具的典型产物(有助于方便三种信号方法之间的比较)。实际上,SE和ZS缓冲器电压摆幅具有大约500mV的共模电压。
从图7中的图形可以明显看出,与“典型”情况相比“最坏情况”结果的相对眼图关闭(最上排)。这清楚地表明了图案相关行为和一组高速I/O内相同状态的同时信号转换造成的最终影响。然而,片内的单次采样并不是整个总线上的完整性能照片。每对SE、ZS缓冲器或DIFF对在各自的I/O片内的眼图开度见图8。在这张图中,每根细小的水平线代表片内某个位置的垂直眼图测量结果。另外,每种配置的最小、平均和最大眼图开度也有标签表明。
点击查看大图
图8:在16Gbps仿真中三种缓冲器配置和两种开关图案的垂直眼图开度总结。(41292)
c9Hednc
正如期望的那样,单端“最坏情况”安排的眼图是完全关闭的。SSN太大,电压轨塌陷阻止了缓冲器达到满工作摆幅。差分眼图张得比较开,很可能通过使用标准差分接收器的最小比特误差解决。ZS结果落在中间位置,基于两个主要原因使人很感兴趣。首先,ZS配置性能明显超过传统的单端信号,这表明控制宽的单端高速总线内的0和1平衡确实会改善实际完整链路环境中的接收器眼图开度。
第二个值得观察的地方需要深入一点讨论。对于“最坏情况”和“典型”操作,ZS眼图开度几乎正好是DIFF结果的一半。因为理想差分眼图开度理论上2倍于单端眼图,因此ZS和DIFF之间观察到的这个关系看起来是可信的。然而,不能马上让人明白的是,为何差分仿真结果显示依赖于对-对图案对齐(“最差情况”比拼“典型情况”)。另外,传统差分信号应该更加免疫(和创建更少)共模噪声(如SSN)。因此,期望值是差分垂直眼图开度应该超过ZS结果的2倍。为了进一步研究这个问题,图9给出了对每种架构的电源噪声测量的结果(探针位于节点‘c’,如图4所示)。
这些测量结果表明,差分的“最坏情况”配置可以观察到相对较高的纹波。理论上,真正差分的信号天生是零和(或零电流),因此尽管有对-对图案关系但电源纹波应该较低。然而,由于使用了两个独立的具有最小片上电容的推挽式SST缓冲器,每个缓冲器都端接到共模电压,因此形成了准差分的缓冲器制。与传统差分信号的这些偏差可能在用“最坏情况”图案工作时导致局部轨塌陷和更高的纹波。如果要进一步研究,有必要模拟更加传统的差分网络,其眼图开度可能更加乐观。
图9:16Gbps仿真中三种缓冲器配置和两种开关图案下的VDD片上电源噪声。(41296)
c9Hednc
裸片上的仿真VDD电压纹波以局部非理想VSS为基准进行了采样(图4中的节点‘d’)。即使VDD只有1VDC,也可以观察到超过1V的峰峰交流纹波,实际上这是SE“最坏情况”条件下的情形。缓冲单元看到的电压是1VDC±700mV。需要重申的是,考虑到每个缓冲器的可用输入电压,SE“最坏情况”垂直眼图开度这么小就不足为奇了。
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
仿真变化:差值和总线大小
将可用的代码字限制为纯平衡(零和)代码在实际应用中可能太受限了。差值概念允许总线上的0和1数量之间存在一定程度的不平衡,详见工作原理部分。这使得从可能的2N完整清单可以得到更多的代码字,代价是不逐渐增加了SSN。当代码空间以这种方式变宽时,只需更少的线就能获得32个逻辑比特。例如,当差值为±2时,32个逻辑比特只需34根线,而在纯平衡编码中需要32个比特。零和I/O片和比特图案经过修改包含不同水平的差值,可显示用不平衡代码字增加代码空间与影响由于增加SSN引起的眼图开度之间的平衡。如图10左面板所示,增加差值会逐渐关闭眼图。如果代码字限制可以放松,低水平值是可以容忍的。值得注意的是,打开代码空间以允许±16的差值只要求32根线,进而导致未编码的字。然而,为了一致性,我们选择保持具有±16差值的34线例子。
同样,其它总线大小被认为是基线应用的另外变化。不像由36线组成的单条零和总线获得32个逻辑比特,2x20和4x12配置也进行了评估。每个同样获得32比特。当考虑这两种额外架构时似乎对眼图开度影响很小。
点击查看大图
图10:差值和总线大小对眼图开度的影响。(41293)
c9Hednc
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
仿真变化:数据速率
由于SSN是一个与频率有关的电源完整性问题,因此一般认为主要由于过孔引脚片和裸片上的PDN中的电感原因,单端信号性能将在接近1Gbps时开始下降。为了验证这个断言,发送数据速率从233Mbps逐步提高到16Gbps。这种扫描的结果见图11。对单端、“最差情况”配置来说,眼图在1Gbps和2Gbps之间约关闭了50%,而零和眼图的开度在整个频率扫描范围内与差分眼图保持一样(注意,出于比较测绘的目的,差分眼图测量砍了一半)。即使对数据速率低至1Gbps的应用来说,零和编码方法对SSN的负面影响相对传统单端信号也更加免疫。
点击查看大图
图11:数据速率对垂直眼图的影响。(41290)
c9Hednc
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载
{pagination}
零和信号总结
这份报告中介绍的仿真结果建议,当使用零和信号配置时,SSN免疫性在实际系统环境中是可以实现的。正如期望的那样,对称平衡宽数据总线上的1和0数量可以实现电流抵消,进而减少电压轨塌陷,改善接收器的垂直眼图开度。这种性能改善使用差分信号一般也能取得,但要付出2倍于单端方法的封装密度代价。零和信号能够实现良好的信号性能,而且引脚数量和布线方面的代价显著更小。
值得重提的是,上面执行的DIFF仿真是准差分的,其中没有使用真正电流导引的差分发送器。这样一种差分缓冲器可以产生更加乐观的垂直眼图开度。同样,用于局部电荷存储的显著更高的片上电容可以用来改善所有信号类型的结果。
虽然仿真结果表明,使用零和信号减少高速并行总线HPC应用中的SSN有很好的前途,但仍有几个问题需要考虑。例如,有效编码/解码机制的设计与实现对于将零和信号概念推进到物理现实来说非常重要。我们计划在未来出版物上报道这一主题。与传统系统架构的兼容(经常要求无直流和/或ECC编码)也很重要。
另外,我们提醒大家,图3所示的处理器到处理器象征性应用框图是概念性的,当然会有架构上的复杂性需要考虑。例如,在处理器到内存架构情况中,将定制编码的数据总线与商用存储器(如DDR2/3)集成在一起将遇到逻辑上的挑战。另外,由于零和信号默认在零和总线中的所有数据比特具有同步时钟,而最近的SerDes技术趋势恰恰相反(分开的SerDes通道经常同步于不同的PLL,因此不是同步的),因此与未来高速I/O解决方案的兼容性还需要解决。
参考文献
[1] Tallini, L. G., and Bose, B.: "Balanced Codes With Parallel Encoding and Decoding." IEEE Transactions on Computers, 48(8):794-814 (August) 1999.
[2] Tallini, L. G., and Bose, B.: “Design of Balanced and Constant Weight Codes for VLSI Systems.” IEEE Transactions on Computers, 47(5):556-572 (May) 1998.
[3] Knuth, D.: “Efficient Balanced Codes.” IEEE Transactions on Information Theory, 32(1):51-53 (January) 1986.
[4] Weber, J.H., and Immink, K.S.: “Knuth.s Balanced Codes Revisited.” IEEE Transactions on Information Theory, 56(4):1673-1679 (April) 2010.
[5] Youn, J.Y., and Bose, B.: “Some Improved Encoding and Decoding Schemes for Balanced Codes.” Proceedings of 2000 Pacific Rim International Symposium on Dependable Computing, pp. 103-109, 2002.
[6] Immink, K. S., and Weber, J.H.: "Very Efficient Balanced Codes." IEEE Journal on Selected Areas in Communications, 28(2):188-192 (February) 2010.
[7] Al-Bassam, S., and Bose, B.: "Design of Efficient Error-correcting Balanced Codes." IEEE Transactions on Computers, 42(10):1261-1266 (October) 1993.
[8] Hughes, A., and Fair, I .J.: "An Integrated Error Control and Constrained Sequence Code Based on Multimode Coding." Proceedings of the 3rd Annual Communication Networks and Services Research Conference, 2005, pp. 203- 208, Halifax, N.S., Canada, May 16-18, 2005.
[9] van Tilborg, H., and Blaum, M.: "On Error-correcting Balanced Codes." IEEE Transactions on Information Theory, 35(5):1091-1095 (September) 1989. doi: 10.1109/18.42227
[10] Shi, H., Liu, G., and Liu, A.: “Analysis of FPGA Simultaneous Switching Noise in Three Domains: Time, Frequency, and Spectrum.” DesignCon 2006, Santa Clara, CA, February 2006.
[11] Chen, C., Zhao, J., and Chen, Q.: “A Simulation Study of Simultaneous Switching Noise.” Proceedings of Electronic Components and Technology Conference, pp. 1102-1106, 2001.
[12] Schmitt, R., Kim, J., Yuan, C., Feng, C., Kim, W., and Oh, D.: “Power Integrity Analysis of DDR2 Memory Systems During Simultaneous Switching Events.” DesignCon 2006, Santa Clara, CA, February 2006.
[13] Smith, L.: “Simultaneous Switch Noise and Power Plane Bounce for CMOS Technology.” Proceedings of Electrical Performance and Electronic Packaging, pp. 163-166, 1999.
[14] Huh, S., Swaminathan, M., and Keezer, D.: “Pseudo-balanced Signaling Using Power Transmission Lines for Parallel Links.” IEEE International Symposium on Electromagnetic Compatibility, pp. 871-876, 2011.
[15] Lee, S., Jee, D., Suh, Y., Park, H., and Sim, J.: “A 8 GByte/s Transceiver with Current-balanced Pseudo-differential Signaling for Memory Interface.” IEEE Solid-State Circuits Conference, pp. 237-240, 2008.
[16] Philpott, R., Humble, J., Kertis, R., Fritz, K., Gilbert, B., and Daniel, E.: “A 20 Gb/s SerDes Transmitter with Adjustable Source Impedance and 4-tap Feed-Forward Equalization in 65nm Bulk CMOS.” IEEE Custom Integrated Circuits Conference, pp. 623-626, 2008.
原文作者:Chad M. Smutzer、Robert W. Techentin、Michael J. Degerstrom、Barry K. Gilbert博士、Erik S. Daniel博士、Mayo Clinic
【分页导航】c9Hednc
c9Hednc
《电子技术设计》网站版权所有,谢绝转载