收藏 分享(赏)

9 设计方法.doc

上传人:杨桃文库 文档编号:1561092 上传时间:2018-08-05 格式:DOC 页数:27 大小:295KB
下载 相关 举报
9 设计方法.doc_第1页
第1页 / 共27页
9 设计方法.doc_第2页
第2页 / 共27页
9 设计方法.doc_第3页
第3页 / 共27页
9 设计方法.doc_第4页
第4页 / 共27页
9 设计方法.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、第八章 设计方法网络上研所硬件部 何广敏数字电路设计正进入一个新的领域。总线速度对系统性能的影响已由原先的第二或第三位因素变成了第一位的因素。许多在目前的高速数字电路设计中需要给以关注的问题,在过去往往是根本不予考虑的。因此现代高速设计不仅要求工程师不断的充实自己以达到新的技术高度,也要求工程师重视各种变量对设计的影响。由于设计的复杂程度随着变量数量的增大而急剧增高,迫切需要新的设计思想,以指导高速数字电路的设计。本章介绍的设计方法可以帮助我们系统地简化一个包含许多难以解决的变量的问题,使之易于实现。许多以前的设计方法采用的是布线仿真布线的设计思路。这种旧的方法要求 PCB工程师在任何仿真工作

2、开展之前完成电路板的布局和布线,接着从板子上提取有关参数进行仿真。当发现时序或信号完整性错误时,要求设计工程师作某些的改正,布局也要跟着作相应的修改。这种循环的工作贯穿于整个设计过程。旧的设计方法的缺点是它花费的时间很多,却不能最终提供一个行之有效的“求解空间空间”(solution space),即使最后找到了解决办法,也可能不知道它是如何产生作用的。一个更为有效的设计方法是采用结构化的步骤,以确保所有变量在前布局设计阶段被考虑进去。这样,只要正确执行每个步骤,布局将会一次通过,而接下的板子参数提取和仿真仅仅是设计的复核了。本章介绍的设计方法着眼于解决大批量生产的高速总线的设计问题;另外它也

3、概括了已被证明行之有效的用于处理大量变量的设计策略。目前市场中的一些高性能的数字设计已经采用这种设计方法或其变种。最后,本章介绍了从最初的规范制定到只需最少布局反复的工作总线设计的设计流程的细节。本章介绍的设计方法可以帮助我们获得高性能的数字电路设计,缩短研发周期,提高工程师的效率。9.1 时序在数字设计中唯一真正要关心的是时序。一些工程师以为成本是要考虑的第一位因素,大多数设计要考虑设计的成本开销。如果设计不符合预定的成本模型,它将不会带来利润。如果第 8 章中的时序等式不能得到一个正的时序余量(margin) ,那么系统将不会正常工作。本书中的每一个概念在某些程度上都与时序有关。即使有些章

4、节讨论的是诸如电压回铃、信号完整性等问题,这仍然与时序有关,因为信号完整性只当它们影响时序(或电路毁坏,导致时序等式不能满足)时才会引起人们的关注。这章的内容将帮助读者把第 8 章中给出的等式与本书中所有讨论过的高速设计论题联系起来。数字系统设计的第一步是粗略的确定最初的系统时序。要做到这一点,首先需要从芯片设计者获得系统中用到的所有器件输出信号的偏移(skew ) 、T co、建立时间(setup time)和保持时间(hold time)的最大值和最小值。对于市场上已有的器件,上述这些参数可以在其数据手册(datasheet)中查到。应该制作一个电子表格来实现第 8 章中的时序等式或相应的

5、满足特殊设计要求的等式。在时序等式中要假定一个时序余量值(假定为 0或一个较小的正余量) ,以便求解。这样等式中剩下的变量就只与传输线设计有关了。如果传输线的设计不能满足时序余量的要求,那么要么重新确定芯片的数量,要么降低系统的速度。对于时钟同步信号设计,传输线延迟的最大值和最小值应该首先要接近估算的初步的PCB 走线的最大值和最小值范围,以确保 PCB 布线可以实现。比如说,如果走线的最大长度是 0.15 in.,那么可以肯定的说,这个板子是布不出来的。为了做到布线的可实现性,可以简单的先设定 setup time 和 hold time 的余量来求得传输线延迟时间,通过信号平均传播速度将信

6、号延迟时间转换成走线长度。在 FR4 为基材的扳中,微带线( microstrip)上的信号传播速度是 150ps/in.,带状线( stripline)的为 170ps/in.。非 FR4 基材的板子的传播速度可以用一个有效介电常数平均值通过式(2.3)或式(2.4)来求得。对于源同步设计,setup time 和 hold time 的余量应该预设为 0,并应该预估 PCB 的偏移时间。同时要检查偏移值,保证设计是可以实现的。值得注意的是,表格上的每个值都有可能改变(除非芯片是手头现成的) 。这个初始的时序简单的提供一个设计工作的开始点,并为传输线设计确定了一个初始设计目标。它们也提供了一

7、个最初的分析手段,以确定总线速度的选择是否可以实现。一般来说,随着设计的进行,芯片和传输线数量会基于实验室测试或更为详细的仿真而改变。9.1.1 最差的时序表 (最差状况时序表)设计中,时序表格并不总是需要的。如果所有的器件都是现成的,就没有必要制作一个表格来帮助设计了,因为这时芯片的最差时序是固定的。然而,如果芯片,比如,处理器,芯片组或存贮器与系统是同时开始研发的,那么时序表格是一个非常有用的工具。它可以帮助芯片设计小组(等,比如芯片工程师)和系统工程师互相协作制定系统方案。时序表定期更新,可以用来记录工作进展,设定设计目标,以及用于权衡时序要求。最差状况(worst case)时序表,是

8、假定系统工作在最差的情况下,比如生产变量和环境条件都处于最可能导致最差的系统工作性能的情况,来计算时序的。就统计学的观点来看,具有上述这些特点的系统在实际中也许不会出现,然而,按照“最差状况”设计的产品可以确保在任何工作变量和环境条件下都能可靠的工作。图 9.1 和图 9.2 分别是源同步和时钟同步总线设计的最差状况时序表。在图中可以看到,额外的一项 Tguard 被加到等式中,它表示测试保证带(test guarg band) ,即大批量生产中芯片的测试精度。测试保证带为芯片大批量生产中经常出现的时序测量误差提供额外的时序余量。时序表的制作要做到每个时序器件的要能被追踪到驱动器和接收器。图示

9、的表格只描述了当器件 1 驱动器件 2 的时序部分。完整的表格要描述每个器件的驱动情况。目标行代表仿真前每个时序等式的估算值。目标的数量是基于过去的设计经验和“封背速算法”(back of the envelope caculations)得来的。预知行(predicted row)代表后仿真(postsimulation)的值,这个值是基于后文阐述的敏感度分析阶段所作的大量仿真而来的。预知的 Tva,T vb,Jitter,T co,输出偏移(skew) ,以及 setup/hold 的值是基于芯片(I/O )设计者的仿真,并且应该包含所有非“板类” (board centric)的影响。这

10、意味着芯片(I/O)设计者的仿真不应该包含任何一个只有系统设计者才能控制的变量,诸如,插座、PCB 、封装以及板级的电源分配的影响。这些影响包括所有系统级的影响,如 ISI,电源分配,损信号建立源同步 器件 1 驱动器件 2信号保持图 9.1 一个源同步时序表的例子耗,串扰以及任何其他高速影响。也要注意时序是在驱动器的芯片焊盘(pad)到接收器的芯片焊盘(pad)之间产生的。另外,也不要把术语 PCB 偏移搞混了,这个术语还包括了封装,连接器或插座的影响。也应注意,时钟和 PCB 偏移的符号要在等式中反映出来。比如,在时钟同步等式中,我们可以看出,偏移对 hold time 有利,因为其前面的

11、符号是正的。然而读者应该知道,符号仅仅是偏移定义的结果,详细参见式(8.5)和(8.6) 。例如,如果芯片仿真或测量表明CLKB 和 CLKA 之间的输出偏移(按 CLKBCLKA 测量)的变化范围为100ps 100ps,则同步时钟信号的 hold 等式的偏移最小值为100ps;相应的,在setup 等式中的偏移最大值为100ps。明白偏移是怎样测量的对于决定 setup 和 hold 的余量是非常重要的。关于偏移的计算将在 9.2 节中进一步详细描述。9.1.2 统计表 (统计时序表)假定在生产过程中所有器件都处于最差状况,那么基于最差状况的时序表设计带来的问题是,由于系统的速度是如此之快

12、,系统可能不会正常工作。在统计学上,产生最差状况时序的条件的几率也许只有百万分之一或十亿分之一。因此在极高速的设计中,当最差状况时序表显示的是负余量时,结合(而不是代替)统计表来进行设计是非常有用的。举例说,当最差状况时序表上的余量是负的话,如果这时统计表显示的数据表明失效的可能性只有 0.00001%,那么这种设计风险是可以接受的。但是如果失效的可能性达到 2,则这个风险是不能接受的。统计表需要有每个时序器件的均值和标准差。可以按如下几个公式计算时序。(9.122_2_2_2_arg_ setupdatfldatcoskewcloskewPCBcyle tsttfltlslinmsetupk

13、 TT )信号建立时钟同步 器件 1 驱动器件 2信号保持图 9.2 一个时钟同步时序表的例子22_2_2_2_arg_ holdskewPCBskewclodatfldatco llslktfltinmholdk TT (9.2)2_2_arg skewPCBsetupvbguardskewPCBsetupvbsetupinm T(9.3)(9.4)2_2_arg skewPCBholdvaguardskewPCBholdvaholdinm kT 式中: 时序均值; 标准差;k标准差的数量,例如, k3 代表 3 分布 。式(9.1)和式(9.2)适用于时钟同步总线,而式(9.3)和式(9.

14、4)适用于源同步总线。值得注意的是,上述式子成立的前提条件是假设分布接近正态(高斯分布) ,并且各个时序器件之间是互相独立的。在技术上,这两个条件在数字设计中没有一个能够刚好满足,但只要大致接近就可以了。如果工程师理解这些限制条件,在设计中把最差状况时序表作为基本的设计工具,那么统计表的作用就更大了。需要说明的是,上面的公式仅仅是实现统计表的一个途径,对于经验丰富的工程师来说,也许还有更好的办法。可以将式(9.1)式(9.1)与第 8 章的式子比较,可以发现(9.1)式(9.1)中没有 Jitter 一项,这是因为 Jitter 已经在信号周期的统计变量中考虑进去了;还可以发现测试保证带(T

15、guard)也没有在式中出现,是由于测试的统计精度一般是不可知的。使用统计表的最大的障碍是要确定每个器件的均值和分布是否正确。如果组成系统的各个部分有多个来源,那么这又会带来新的问题。例如,每个 PCB 供应商都有不同的生产工艺,他们提供的 PCB 具有不同的平均速率和不同的分布形状的阻抗。再进一步说,每个PCB 供应商提供的统计数据也有可能改变。有时这种统计变化是可以估计的。假设 PCB 厂商给出的阻抗为 50,变化区间为15。那么有理由假定,这个分布是正态的,15的点就处在 3 上。这样这个分布就可以近似的用于 Monte Carlo 仿真,以便求得飞行时间和偏移的统计值。作为选择之一,当

16、相同的分布结合传输线进行大型 Monte Carlo 分析,得出的结果通常很像正态分布。随后,传输线设计者也可以通过大型的 Monte Carlo 分析,估算飞行时间和飞行时间偏移的统计值,所有 Monte Carlo 分析的输入变量在同一分布的范围内是随机变化的。由于分析得出的结果类似正态分布,因此均值和标准差可以通过这些结果得以检查。许多工具,诸如 Microsoft Excel、Mathematica 和 Mathcad 都适合大数据量的统计计算。在此描述的统计技术也许有些缺陷,但是如果最差状况时序表出现负余量,那么用它作为估算失效风险腐的近似手段,还是可取的。在理论上,设计者可以得到所

17、有或者大部分用于仿真的变量(如 PCB Zo,输出阻抗,输入电容等)的准确值,使 Monte Carlo 分析能够反复进行,得到的仿真结果就可填入时序表中。为了获得芯片的有关均值和标准差(如,T vb, Tva, Tsetup, Thold 和 Tjitter) ,这种的分析也要在芯片研发小组中使用。为了确定因最差状况时序表出现负余量带来的设计风险,k 的值要从 1 逐渐增加直至时序余量变为 0。这就可以确定时序均值中有多少标准差会使设计失效,便于考量失效的可能性。举例说,当 k 的值为 1 时,时序余量达到 0,那么设计中出现,时序余量出现正余量的几率仅为 68.26。换句话说,出现失效的机

18、会将达到 31.74。然而如果时序余量达到 0 时,k 值为 3.09,那么时序余量出现正余量的几率将大于或等于 99.8其出现失效的机会减低到 0.2。实际上,一个 3.09 的设计,其最后的合格率往往为 99.9而不是99.8,因为出项失效的场合往往偏向“钟形”曲线的某一侧。当考虑了所有的分布时,这个分析技术假设出现在由 限定的范围外的可能性等于设计出现失效的百分数。显然,这不一定与实际相符,但是它适于失效风险分析,特别是适于比较保守的设计。一般来说,在大批量生产中,一个 3 (实际式 3.09 )的设计是可以接受的,因为其合格率往往达到 99.9。图 9.3 表明了在一个正态分布中 k

19、值与事件发生几率之间的关系。表 9.1 给出了 k 值与未覆盖面积,即失效百分数的关系。时序指标,信号质量指标和测试负载全部面积99.8全部面积68.26图 9.3 在一个正态分布中 与面积之间的关系(a ) k=1 标准偏差(1 设计) ;(b)k3.09 标准偏差(3 设计)表 9.1 k 与落于求解范围之外的关系数据来源:data from Zwillinger19969.2 时序测量,信号质量的测量和测试负载 (时序指标,信号质量指标和测试负载)在制作了包含目标值的初始表单后,需要确定具体的时序和信号完整性的指标。这些指标值将用于计算表单中的时序,以便确定信号完整性是否合适。9.2.1

20、 电压坐标的不定性 (参考电压的不确定性)数字系统中的接收缓冲器被设计成在阈值电压处开关。然而由于一些变量,如工艺变量和系统噪声等的缘故,阈值电压的改变可能与信号有关。阈值电压的变化就是所谓的Vref 的不确定性。这个不确定性是阈值电压与信号之间相对变化的指标,图 9.4 描述了影响阈值电压的变化,即阈值范围(threshold region ) 。信号质量、飞行时间以及时序偏移的指标均与阈值电压有关,因而在很大程度上依赖于阈值范围。阈值范围综合反应了参考电压和信号的影响因素。影响 Vref 不确定性的典型因素为: 电源供电的影响(如,开关噪声,地电平反弹等) ; 芯片内核的噪声; 接收端阻抗

21、失配; 回流通路不连续; 参考电压电路的耦合。阈值范围一般在阈值电压上下 100Mv200mV 之间变化,其上限和下限的电平值分别代表 Vih 和 Vil。在设计中尽早准确的量化 Vref 的不确定性是非常重要的,因为它涉及大量在仿真环境中很难或不可能准确建模的影响因素,它们通常是通过测试板或测试芯片来获得的。9.2.2 仿真参考负载9.1.1 节介绍了时序表的概念,所有填入表格(或时序等式)的数据均按这这种方法计算而来,它们真实地代表了整个系统的时序。标准仿真测试负载(指标准或参考负载)对于这个工作的完成起到了重要的作用。芯片设计者利用参考负载来计算 Tco、setup/hold 时阈值Vi

22、lVih Vref不确定量Vref不确定量阈值范围图 9.4 阈值电压的变化间和输出偏移。而系统设计者用它计算飞行时间和传输线偏移。参考负载仅仅是一个系统设计者与芯片设计者之间用来正确计算时序的简单的人为接口,但是它很重要,因为芯片的设计往往独立于系统的设计。如果芯片时序的数值是通过对一个与系统实际输出负载相差很大的负载的仿真得来的,那么芯片级时序和板级时序的和将不会代表真实的系统时序。图 9.5 表示用一个与实际系统不同的负载仿真 Tco,其时序会大于或小于系统实际的时序。该图的上部描述仿真 Tco 用的输出驱动器驱动一个与系统输入不同的负载;该图的下部表示系统中一个信号的总的延迟(图中驱动

23、器驱动一根传输线) 。信号在驱动器和接收器之间的实际延迟时间等于 Tco_sysT PCB_delay。如果用于芯片 Tco 计算的负载不等于系统负载,那么其总的延迟为 Tco testT PCB_delay 就不等于 Tco_sysT PCB_delay。为了避免上述计算系统余量时出现的偏差,芯片时序的仿真应该用一个标准参考负载。这个负载也用于系统级飞行时间和偏移的计算。这样芯片时序计算和系统级时序计算就有了一个共同的参考点。这就避免了在时序表中用板级时序加上芯片级时序时发生的错误。如果这个方法没有被正确实现,那么预定的时序余量就不会在表中真实的反映出来。由于时序表是设计的基础,这样一个错误

24、会导致设计功能难以实现。在关于飞行时间和飞行时间偏移部分,我们将详细解释如何使用标准参考负载。选择参考负载 在理想的情况下,参考负载的选择应该非常接近系统的实际输入。然而,让参考负载在电气上与系统的输入一样是没有必要的,只要足以反映系统输入缓冲器的特性就可以了,因为标准参考负载在板级时序和芯片时序之间仅起桥梁的作用,细小的误差可以忽略不计。图 9.6 阐述了这个观点。图中。参考负载与系统输入不等,然而由于这个负载被用作参考点,当在时序表中合计时序时,得出的总延迟是正确的。图中上半部分曲线描述用一个标准参考负载测量 Tco;中间部分描述实际接收器的曲线。底下部分描述驱动器驱动系统负载的曲线以及其

25、与接收器之间的时序关系。注意到,如果标准参考负载用于飞行时间和的 Tco 计算,当在时序表上合计总延迟时,得出的结果将是正确的。这会给我们带来一点混淆。首先,飞行时间(在 9.2.3 节中详细解释)与传播延迟时间是相等的,而用标准参考负载测量的 Tco 与其在系统中对应的值也是不相等的。然而总的用与实际系统不相似的负载估算 Tco图 9.5 没用标准参考负载引起的时序问题传输线延迟是一样的。值得注意的是,如果标准参考负载选择得合理得的话,飞行时间和传输延迟会非常接近,而 Tco 也会与其在系统中对应的值非常接近。CMOS 缓冲器通常仅用电容作为参考负载。这个参考电容代表输入电容,同时它也包括了

26、分布电容的影响。GTL 总线的参考负载通常看起来更像系统输入。图 9.7 描述了 GTL和 CMOS 输出缓冲器的参考负载。图中 CMOS 的参考负载仅是一个电容,这与系统的实际输入相近似,足以反映系统的信号完整性;GTL 总线的参考负载类似系统的输入,为了仿真能正常进行,上拉电阻是必须的。在设计参考负载时,没有必要考虑工艺因素,但是要确保参考负载上的信号没有尖锋并且只有极小的振荡。图 9.7 好的参考负载举例GTL 参考负载CMOS 参考负载参考波形在此处产生(使用名义阻抗值)(输入信号沿)封装引线(Z o1)PCB 走线(Z o2)图 9.6 恰当运用参考负载计算总的延迟标准参考负载传输线

27、参考波形飞行时间总延迟Tco飞行时间总延迟应该注意,当系统最后完成研发并通过了实验室测试时,在将大批量生产测试时获得的时序数据填入到设计确认表时要采用与研发阶段同样的时序计算技术。两者区别在于这时使用的是标准测试负载,而不是标准仿真负载。然而,由于系统级测试所用的负载不可能与芯片级测试所用的负载一样,可以用仿真来沟通两者之间的关系,以便在设计确认表中得到正确的结果。9.2.3 飞行时间飞行时间与传播延迟时间非常相似,传播延迟在第 2 章中已经定义,指信号通过传输线传播时所用的时间。然而,两者不是一回事。传输线延迟表示的是信号在传输线上的绝对延迟,而飞行时间表示参考波形与接收器实际波形之差(参考

28、 9.22 节) 。这个差别是微弱的,但它们是计算方法截然不同,因为飞向时间需要仿真参考负载来计算,以便插入到时序表中。飞行时间是指驱动器分别驱动一个参考负载和驱动一个实际系统接收器时,在接收端信号幅度上升到阈值电压时所用的时间之差。图 9.8 描述了飞行时间的定义。飞行时间是在 Vil,V threshold 和 Vih 处估算的。在这三点处测量在最差状况下的飞行时间,并将计算结果和此最差状况填入时序表中。须注意的是,飞行时间的最差状况值,有时是最大值,有时是最小值。例如,在同步时钟信号的 setup 余量计算式中用的最差状况飞行时间是其最大值,而在 hold 余量计算式中用的是最小值。关于

29、飞行时间的一个通常易犯的错误是:在驱动器的 Vil 和接收器的 Vih 之间测量飞行时间(或反之测量 Vih 与 Vil 之间的飞行时间) 。其原因是它把信号通过阈值范围的时间都当图 9.8 标准飞行时间计算接收器上的信号参考负载上的信号飞行时间 最差值阈值系统传输线参考负载作延迟时间了。其实这个延迟时间已经在时序等式的 Tco 中考虑进去了。9.2.4 飞行时间失真 (飞行时间偏移)简单地说,飞行时间偏移是指两个网络之间飞行时间的差别。在源同步设计中,飞行时间偏移由下式定义:(9.5)即数据飞行时间减去门限飞行时间(strobe flight time) 。图 9.9 是描述 GTL 总线飞

30、行时间偏移的一个通用例子。由第 8 章的时序等式可以看出,hold 余量的最差状况时序发生在数据到达早,而门限信号到达迟的时候。下面的等式用于计算源同步 hold 时的最小飞行时间偏移:(9.6)注意到,这个式子不足以充分考虑实际系统中的偏移。虽然在前述章节中,我们被提醒不要跨过阈值范围来计算飞行时间,但是对于常规的源同步设计,跨过阈值范围来计算数据信号与门限信号之间的偏移还是必要的。正如第 8 章所述,在常规的源同步设计中,数据和门限信号能被分开几个纳秒。在这期间,系统可能产生噪声(如,由芯片内核工作,多个输出同时开关等引起) 。因此,有必要在不同的阈值处来计算飞行时间偏移,以获得最差工作状

31、况下的结果。因此,这时的偏移是在阈值范围的上下限处计算的。下面的式子用于计算最小偏移,它考虑了噪声对信号阈值电压的影响。注意到,尽管飞行时间偏移是跨过阈值范围计算的,但飞行时间却不是这样计算的。(9.7)式中:门限参考负载 数据参考负载门限网络封装和插座模型数据网络数据和门限网络的飞行时间计算 数据和门限间飞行时间偏移计算若门限和数据缓冲器类型相同,则:图 9.9 一个飞行时间偏移计算的简单例子Th,rev信号在接收端达到 Vih 时所用的时间;Th,drv 信号在参考负载处达到 Vih 时所用的时间;Tl,drv 信号在参考负载处达到 Vil 时所用的时间。源同步 setup 余量的最差工作

32、状况发生在数据到达晚而门限到达早的时候,源同步在setup 时的最大偏移可由下式求得:(9.8)(9.9)9.2.5 信号完整性信号完整性是指波形形状的指标,有时也指信号质量。在数字系统中,具有理想信号完整性的信号象一个干净的梯形。信号完整性缺陷指的是波形严重损坏,以致不能达到系统时序要求或击穿缓冲器的门极氧化物。回铃(ringback) 回铃是指输入电压在阈值电压附近来回振荡。回铃会使飞行时间增大,因为如果信号回铃时,其在阈值电压范围内的状态是不定的,这时飞行时间是按其最后一次离开阈值电压范围那一点来计算的,如图 9.10 所示。另外,当一个信号回铃,而另一个信号没有回铃时,回铃也会使信号的

33、偏移增大。保证门限信号或时钟信号不产生回铃是非常重要的,因为一旦它们因回铃而进入或离开阈值电压范围,会造成误触发。例如,如果源同步的门线电压发生误触发,错误的数据就会被接收端电路锁存;如果一个状态机的门限信号误触发,那么就会导致系统无法正常工作。非单调性(或非线性) (nonmonotonic or nolineat)边沿 非单调沿发生在信号进入阈值范围时,其边沿出现严重的非线性化的时候,如波形出现短暂的台阶。引起非单调性的因素是多方面的,如,多分枝总线中间器件上的短线(stub) (参见图 5.16) ,回流通路不连续(参见图 6.3) ,或电源分布方面的问题(参见图 6.12)等都会导致信

34、号沿的非单调性。非单调性的最主要的影响是当如果两个信号一个有台阶而另一个没有时,会增加飞行时间或飞行时间偏移。从图 9.11 可以看出非单调性引起了飞行时间的增加。(参考负载上的波形)(接收端上的波形)最大飞行时间在最后一次与 Vih 或Vil 相交点处测量阈值电压VihVil图 9.10 信号回铃入阈值电压范围时的飞行时间计算时间参考负载上的波形 接收器上的波形阈值最大飞行时间时间图 11 信号沿非线性通过阈值范围时飞行时间的计算过冲/下冲(overshoot/undershoot ) 系统中的专用电路有一个最大允许的过冲和下冲。过大的过冲和下冲会击穿接收器或驱动器的门极氧化物,从而使产品出

35、现严重的可靠性问题。通常情况下,输入缓冲器都有有箝位二极管,以保护器件免受过冲和下冲的影响。但是随着系统速度的提高,要设计足够高反应速度的箝位二极管是很困难的。避免因过冲或下冲导致的产品可靠性问题的最好办法是优化传输线设计。过冲或下冲不会直接使飞行时间或偏移增加,但是过大的过冲或下冲可能会因恶化 ISI 而严重影响时序。过冲/下冲的定义可参考图 9.12。9.3 设计优化到此为止,我们已经明确了有关最初的时序,以及信号质量/时序的指标等问题,现在该是设计实际系统的时候了。首先,我们讨论一下旧的总线设计方法。图 9.13 是一个错误的高速总线设计流程图。该方法要求工程师先布好电路板上的部分走线,

36、然后抽取板子上每个网络的参数进行仿真,接着修改存在的每个问题,最后重新布线。随着总线速度的增过冲阈值时间下冲图 9.12 过冲和下冲的定义VCCVil Vih修改问题布线提取参数仿真图 9.13 优化总线设计的错误流程(可能不收敛)高以及变量的增多,这种旧的设计方法的工作效率是很低的。对于多处理器系统,如果靠这种方法,是不可能实现设计目标的。一个更为有效的设计方法要求划分设计步骤,以确保所有的变量在预布局阶段就被考虑进去。这样,正式的布局就会一次通过,而抽取布局参数以及仿真就变成了设计的复核以及确保布局规范得以执行的一个过程。图 9.14 是这种设计方法的流程图。9.3.1 文件分析在明确了初

37、始时序和指标以后,接下来要对设计中涉及的所有信号进行分类。这时,工程师应该清楚哪些信号是源同步信号,哪些是时钟同步信号,哪些是控制信号,哪些是时钟信号,哪些是其他特定的信号。文件分析的下一个内容是确定系统变量的最佳预估值。这个预估值应该包括平均值和最大值。特别需要注意的是,所有这些变量值仅仅是一个粗略的初始估算值,在以后的设计中有可能改变。由于提供了分析的起点,因此这一步的工作是非常重要的。下面列举了部分图 9.14 有效的总线设计方法表格和指标信号分类拓扑选择敏感度分析参考设计仿真设计复核缓冲器指南布线规则输出设计系统变量: I/O 电容; 走线长度,信号速度和阻抗; 各层之间阻抗的差别;

38、缓冲器的驱动能力和信号边沿的斜率; 终端匹配值; 接收器的建立和保持时间; 传输线偏移; 封装,子卡,以及插座参数。9.3.2 布线考虑一旦信号已经完成分类,并且初始时序也已经明确下来,就需要确定每个信号组可能的拓扑结构。这需要与布局工程师通力协作,对整个系统的布局作通盘的考虑。布局工程师和设计工程师要一起决定最优的器件排放位置,管脚的出线,以及所有可能的传输线解决办法。布局考虑会给我们提供一个布局“求解空间” (solution space) ,它列出了所有可能的传输线拓扑选择,包括线长,线宽以及线间距。在敏感度分析期间所作的大范围的仿真用于约束布局的“求解空间“,从而得出最后的满足所有时序

39、和信号完整性要求的布局布线约束条件。在敏感度分析时,所有的拓扑都要进行仿真和比较,最好的结果将用于最后的设计。从设计的最初阶段开始,布局工程师就应当与器件和封装设计工程师合作,这种合作要贯穿于整个设计过程,以确保器件具有合适的管脚分布和封装设计。因为不合适的管脚分布也是有可能导致系统无法正常工作的。拓扑选择(topology option) 在布局考虑期间,让布局工程师参与进来,一起决定哪个拓扑是合理的对于系统的设计来说是非常有作用的。图 9.15 所示是通常设计中遇到的几个不同的拓扑结构。值得注意的是, “对称“是各个可接受的布线拓扑的关键(参见第 4 章) 。1 点对点结构(point t

40、o point) 这是最简单的布局。布线中主要关注最大线长和最短线长,以及信号组中各信号线之间的长度匹配(line match) 。2 点对多点(heavy point to point) 这种拓扑结构与上面的拓扑有相同的约束。不同之处是,器件与主传输线之间相连的断线(stub)要非常小,否则该拓扑会变得象星形拓扑或 T 形拓扑。3 T 形拓扑(Ttopology ) T 型拓扑通常是单项性的,即拓扑中只有一个驱动源(如图 9.15d) 。正如上面提到的,对称性对于获得良好的信号完整性是十分必要的。在 T 形拓扑中,只要各接收器与 T 点之间的走线长度是相等的,那么对于驱动器来说,这个拓扑是平

41、衡的。假设各接收器与 T 点之间的线长是相等的,在驱动器这一端只看到一个数值等于二分之一传输线特性阻抗的阻抗。如果 T 形拓扑不是平衡的,比如,器件 2 或器件 3 是驱动器,那么信号就会产生振荡,信号完整性严重变差。如果所有的器件到 T 点的线长做成相等,那么这个总线就成为单向性的了,因为不管哪个器件作为驱动源,这个拓扑都是对称的,这时拓扑就变成三器件星形拓扑,而非 T 形拓扑。有一个技巧常常用来减轻在 T 点处阻抗不连续的影响,即,使 T 点到接收器之间的传输线阻抗值等于基本传输线阻抗值的两倍。4 星形拓扑(star topology) 在对星形拓扑进行布线时,要使每个器件到公共点之间的无

42、力延迟是相等,否则信号完整性会很差;星形拓扑天生就是不稳定的,保证使每个负载相等,以避免信号完整性问题也是很重要的。5 菊花琏(daisy chain) 这是一种比较通用的拓扑,常用于多分支总线,如,PC机的前侧总线和内存总线。其主要缺点是,中间器件必须要用短线与总线的主干相连,这就引起了信号完整性问题。即使短线极短,中间器件的输入电容将加载在总线上,使其特性阻抗降低,参见 5.3.3 节。热问题的早期考虑(early consideration of thermal problem) 在确定了布局方案以后,需要考虑板子的热问题,或与负责热设计的工程师商讨。计算机系统中的传输线设计常受到温度的

43、严重制约。由于处理器会产生大量热量,因此热沉孔和隔热盘将限制了最短线长和器件间隔。在系统设计中较早地考虑到了温度问题,就可以避免在将来出现严重的问题。图 9.15 通用总线拓扑:(a)点对点; (b)点对多点; (c)菊花琏;(d)T 形拓扑; (e)星形拓扑9.4 敏感度分析敏感度分析是整个设计工作的重要组成部分。布局考虑用于确定布局“求解空间“,而敏感度分析用于确定电气“求解空间” ,它们交迭而成了设计“求解空间” (design solution space) 。在敏感度分析中,将要理清诸如此类的问题,即:各变量对系统影响的强度,哪些变量对问题的解决影响最大,以及它们是如何影响系统的。这

44、样,就使设计者能够把握包含大量变量的问题。在敏感度分析时,系统总线中的每个变量在仿真中都要改变。在扫描每个变量时,要观察系统的性能指标,如飞行时间,飞行时间偏移,信号完整性等,并将其与时序和信号完整性规范相比较。其结果就是一个“求解空间” ,其中各变量被赋予了一定的约束,如线长,间距,阻抗等。这个求解空间将成为 PCB,封装,接插件,端接以及 I/O 的设计指南。9.4.1 初步趋势和有效分析 (初步趋势和重要性分析)设计开始阶段的 Monte Carlo(IMC)分析能够用于确定系统中变量的重要性及其变化趋势。这个工作非常重要:首先,变化趋势可以用来指出最差工作条件和最好工作条件。这就允许工

45、程师在由最差工作条件和最好工作条件之间的范围内进行仿真。在具有大量变量的系统设计中,单靠逻辑推理来找出最差工作条件几乎是不可能的,而 IMC 分析可以直接为我们指出所关注的条件。第二,IMC 分析可以用来确定哪些变量对性能的影响最大。因此,我们可以通过 IMC 分析和将主要精力集中在最重要变量上而节省大量的时间。在已经完成了初步的拓扑和系统变量的评估后,就该进行 Monte Carlo 分析了。在分析中,每个变量要按正态分布在接近实际生产所能保证的范围内变化。分析的重复次数没有必要超过 1000 次,因为这种分析不是采用“穷尽法” 。经过 IMC 分析以后,每个变量与性能指标,如飞行时间,偏移

46、或回铃的关系,就可以被打印出来。接着用线性曲线来拟合这些数据,以便观察变化趋势和相关性。因为这一阶段的所有输入变量都是线性变化的,所以采用线性曲线来拟合应该是合适的。另外,由于这些变量在其变化范围内被扫描了一遍,系统最适合于采用线性缓冲器。因为大量的变量被允许随机变化,这样,几组确定时序和信号完整性的参数就被记录下来了(通常自动由原始数据或经仿真软件自带的应用程序转化而来) 。绘制观测到的数据与系统变量之间关系的曲线。如果某个指标数值与系统变量的依赖程度很强,那么它就会在曲线中凸现出来。图 9.16 阐述了 IMC 输出的基本概念。该图描述的是由包含多变量的 IMC 分析得出的飞行时间与接收器

47、的输入电容之间的关系。对图中的数据进行了最佳线性拟合,并利用Microsoft Excel 计算出了相关因子。相关因子是拟合直线与数据符合程度的度量。相关因子为 1 表示线性拟合非常符合所针对的数据,而值为 0 的相关因子则说明所拟直线与数据之间没有关连。在 IMC 分析中,相关因子可以用来确定测量指标对某个变量的依赖程度(在本例反应的是飞行时间与电容之间的依赖关系) 。相关因子越高,则测量指标对该变量的依赖程度越高。如果绘制的测量参数与变量之间的曲线没有线性趋势,则相关因子将会很小。在图 9.16 所示的例子中,由于相关因子为 0.96,这表明在所有 IMC 分析的可变参数中,飞行时间基本上

48、只与 I/O 电容有关。所拟直线的斜率反应了测量指标随电容变化的趋势。敏感度和趋势(斜率)电容(飞行时间与电容的相关因子)飞行时间图 9.16 接收器电容与飞行时间的关系斜率为正说明最差飞行时间在较大电容值时出现。再进一步说,如果获得相关因子有困难,斜率的大小也能一定程度上反应了变量的重要性。如果拟合曲线是水平的,说明该变量对测量指标的影响极小;如果斜率很大,那么表明这个变量的影响很大。在大型复杂系统中,如果没有 IMC 分析,相关因子是没有多大价值的,因为几乎没有可能确定各种变量的最差组合对时序和信号完整性的影响。应该注意到,有时候少数变量会对性能指标起到决定性的作用。例如,走线长度和介电常

49、熟决定飞行时间,当这两个变量与其它变量一起进行 IMC 分析时,此两变量的相关因子会很大,而其它变量的相关因子会很小。结果,与其它变量有关的趋势和重要性都会被归入到仿真噪声之中。通常,经过初步的 IMC 分析以后,有必要对关键变量作适当的修改,以便对后续工作用到的变量进行约束。这要把非关键变量的趋势和重要性数据从噪声中提取出来。图 9.16 的情况比较理想。更为实际的例子参见图 9.17,它是一个三负载系统,运用Monte Carlo 分析,每个变量都在合理的生产误差之内安正态分布作随机变化(此例中,总共 17 个变量) 。该图是经重复 1000 次 Monte Carlo 分析得到的延迟相对于母板、子卡走线以及2 号处理器1 号处理器子卡接插件 芯片组封装引线PCB 走线处理器插座封装引线图 9.17 利用 IMC 分析确定阻抗的重要性和趋势封装引线阻抗的分布图。对每组数据都作了最佳线性拟合,根据线性近似的结果得出了趋势和重要性数据。由于延迟与母板 PCB 阻抗的关系曲线的斜率是正的,因此随着阻抗的增大,网络的延迟将增大;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 规章制度

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报