高密度ASIC和百万门级FPGA的使用带来了一个新的问题,即信号完整性问题,它在芯片内外都可能存在。如果IC设计人员没有使用良好的接地技术,挨得很近的连线之间产生的片上寄生效应和互联耦合很快会导致通信延迟,此外片外I/O缓冲器同步开关噪声、封装寄生效应、芯片和线路板连接部分产生的串扰及回声信号等也会使得表面上行得通的系统设计根本无法工作。本文将介绍信号完整性工具的选用问题。
现代线路设计的密度不断增加,要求必须对信号完整性进行验证,因为当信号在线路板间传输或靠近邻近的信号时,信号会处于各种阻抗不匹配的情形中。此外,很多这类设计问题都是在不知不觉中产生的,大多数情况下的信号完整性问题如信号过强及回声信号等,主要是由驱动IC的驱动能力和转换时间造成。虽然拓扑结构没有改变,但一些未公开的变更,如芯片尺寸缩小或技术改变等,都很容易使一个已证明是合格的设计变得勉强合乎要求,这种影响有时候是灾难性的。回声信号会引起器件产生多重时钟,信号过强则会导致时序错误并损坏元件。
手工解决已经过时
日趋复杂的任务大大改变了通信线路板的构成方式。以前的线路板设计人员开发产品时,可以用一个成熟并经过证实的IC系列,采用IC供应商提供的设计规则,但现在这种情形已基本消失了。定制ASIC能极大增加产品性能和集成度,但同时也迫使线路板设计人员要用大量时间执行特殊测量,并手动解决信号完整性问题,不断改变设计的布局与布线。在如今面市时间将决定产品是否成功的竞争环境下,几乎没有设计人员有那么多充裕的时间。最近10年里,由于设计的复杂程度急剧增加,西门子的设计工程师愈来愈清楚地认识到,为了确保设计质量,信号完整性分析必须成为设计流程的一个组成部分。
上世纪90年代中期,西门子设计部门的设计环境最初建立在Cadence前端工具上,它与公司内部开发的布线工具相连。不过后来,开发人员将前端工具改为Mentor Graphics的Design Architect,印刷线路板设计仍采用自己公司的Board Station产品,另外还使用多种验证和分析工具进行软/硬件协同模拟、热分析和时序验证。这样通过用手工再改进一些可能出问题的地方,信号完整性问题很大程度上可以得到解决。
但由于线路板的复杂程度迅速增加,有些板中的信号数量已经达到5,000种,采用的ASIC管脚也在1,000个以上,因此手工建立设计限制以确保信号完整性这一作法很快就行不通了。Spice模型并不是很容易就能得到,而且就算有,其性能和功能也有很大的局限性,并缺乏与CAD主机系统联系的接口,所以我们的工程师们考虑自己开发一种信号分析工具,简化信号完整性设计过程,并提供最好的准确性和速度。所需要的工具要能够对整个线路板进行分析,并迅速判断信号过强和不足的问题,对特殊类型信号的单调性进行测定,确认多阈值交叉,以及进行综合串扰分析。设计小组的最终目标是保证每个设计的每块线路板电气性能在测试时能一次通过。
优先考虑串扰
串扰是需要首先考虑的问题。由于线路板密度增加以及数据传输率随之急剧上升,因干扰而引发故障的潜在危险也在逐渐增加。设计人员苦于应付各种信号的微小变化、蚀刻线宽线距以及接收器灵敏度等问题,所以找出潜在的问题也愈来愈成为一个挑战。我们的工程师得出的结论是:解决这个问题需要一种工具,能在整个线路板对整个设计计算串扰,并提供精确的线路损耗算法。
该工具还必须要模拟各种不同类型印刷线路板上的数字信号,预测系统级噪声及连线之间的相互影响。它也要对参数进行完整提取,包括电感电容网络对串扰的影响、绝缘介质损耗、线阻抗与趋肤效应损耗等,并提供报告以判定信号延时、信号过度与不足、非单调信号边缘情况、负载不正确以及逻辑阈值不匹配等不利情形。此外,它必须支持各种不同类型的驱动器模型,包括I/O缓冲器接口规范(IBIS)、Spice以及客户定制的行为模型。
没有全能工具
对任何一家同时有多个开发项目的大型公司而言,没有一套“全能”工具能够满足所有设计小组的需求,西门子ICN当然也是这种情况。为满足线路分析和布线要求,我们公司大约80%的设计组都转向XTK,这是Innoveda公司(以前的Viewlogic Systems)的一套和Specctra自动布线器合在一起的信号完整性工具,Specctra最初由Coopers & Chyan技术公司开发,现在由Cadence Design Systems销售。我们的设计人员普遍认为这两种工具的结合可提供迄今为止最全面的线路板分析解决方案(图1)。另一部分设计人员选择用Interconnect Synthesis,它是一套由Mentor Graphics公司开发的线路板布线和分析工具。
尽管XTK具有非常突出的性能,但将它引入西门子的产品开发中也不是没有一点阻力。我们的设计人员本能地都喜欢那些他们用惯了的手工方法解决信号完整性问题,并且从一开始大家就很清楚使用XTK不会加快布线过程。实际上,因为该工具在设计过程中新增加了一级分析,所以完成设计第一次布线还要花更多的时间。此时,我们面临的最大问题是说服设计小组相信,在开始布线时多花一点时间使用信号完整性工具,在设计后部可以避免耗时的反复验证,最终会更省时。
通过将信号完整性功能在设计过程中逐渐提前,这种担心开始部分有所缓和。起初XTK仅仅作为布线后的一种分析手段,但我们逐渐发现避免错误的最好方法是在布线前就使用这个工具。实际上,一项早期研究发现:将信号完整性分析放在布线后进行时,通常设计小组每块线路板要花一个月的时间才能发现设计中的问题;当我们把信号完整性分析提到布线前进行时,排除缺陷的时间降到了两周以下。
如今,我们的设计人员在布线前使用信号完整性分析为硬件开发人员提供设计指导,设计组的目的是在布线前进行分析。这样,在元器件布局件时,就可将前面所得数据用于确保不会产生潜在的信号完整性问题。其次,通过将串扰算法集成到布线过程中,我们最终希望用信号完整性数据生成设计规则,这样可以彻底去除潜在的串扰问题。
确保模型准确性
西门子的工程师在执行信号完整性策略时,最大的问题是能否得到精确的元器件模型。布线前进行信号完整性分析的关键是在设计流程早期就要得到模型,但由于西门子在设计线路板时使用了越来越多的高密度ASIC,使得这项工作变得十分困难;加上只有少数芯片供应商能提供IBIS模型,即使有模型质量也是勉勉强强。所以现在很多工程师说他们要花一半的时间用于模型的获取、调试和验证模拟上。
为了解决这个问题,我们设立了自己的模型小组作为元件工程中心的一部分。他们是元器件方面的专家,从供应商那里获得Spice模型后可以在其基础上建立起行为级IBIS模型。如果是从供应商那里直接得到的IBIS模型,则对其准确性和语法进行检查。大约有20%的元件不能立即得到Spice或IBIS模型,工程师们就直接从测量数据或产品规格中生成默认的模型,通常会将该模型与Spice模拟或测量的数据相比较以确保其准确性。这样,西门子ICN的工程师们逐渐建立起自己一个规模巨大的IBIS模型数据库。从长期来看,西门子希望能向芯片供应商提供自己在建模方面的经验,以便将来设计时可以尽早获得准确的模型(图2)。
在多层板设置上,使用信号完整性分析已被证明作用巨大。我们选择信号完整性工具时,最初没有考虑其多层板处理能力,我们的小组开发了大量多层板解决方案。例如最近的一个设计项目中,设计人员用两个正在开发的线路板、两块以前开发的线路板和4条DIMM(来自于三个不同供应商,并全部装在其中较新的一块板上)模拟一个背板。为了保证设计的性能符合要求,设计小组要从三个DIMM供应商那里拿到产品资料并模拟整个配置。
复杂性提高
如今印刷线路板设计遇到的一个现实是元件信号上升/下降沿速度更快、系统时钟频率越来越高,这样给每个线路板设计人员都带来了各种各样的问题,同时将多层板系统设计的复杂程度提高到一个新的高度。次纳秒级上升/下降沿速度也许在单独一块板上可以很好地工作,但当它要和系统中其它板连接时很难预料会发生什么问题;此外,多层板不同的构造对系统EMI和互连延时等也有不同的影响。
为解决类似这样的问题,我们发现工具还需要能应付许多其它要求,例如支持印刷线路板数据库以及执行系统级分析等,同时它还必须进行布线前的分析,帮助在样机制作过程中分析关键时钟频率和数据网络布线策略。到目前为止,我们依靠最小/最大模型帮助识别元件及环境的变化怎样影响电性能和可制造性,不过将来还需要有扫描和蒙特卡洛分析能力。
另外速度也是一个问题。大型多层板结构通常处理起来相当费力,所以为了使模拟的时间保持在一个合理的水平上需要使用高性能工具。XTK的模拟速度比Spice至少要快100倍,证明其处理能力还是非常有吸引力的。
可观的回报
西门子在设计过程中将信号完整性分析前移取得了可观的回报。最近公司内部分析发现,将信号完整性分析提到布线前实施平均可减少约两周的设计时间,并且线路板的性能也得到改善。研究还表明,仅使用自动信号完整性工具即可提高10%的性能。
但给人印象最深的也许还在线路板质量的改进上。通过使用信号完整性分析和公司内部开发的设计规则检测器,西门子的工程师们发现他们排除了一项曾长期存在的线路板失效现象,这种失效大约每5,000块板就会产生一块。同时,重复设计的数量也大幅度减少。研究表明,每设计两块板就可以减少一次重复。实际上自从采用了信号完整性分析以来,西门子工程师们就没有出现过一块第一次测试就有信号完整性问题的线路板。最终的结论是,在设计周期早期投资于信号完整性分析确实物有所值,设计上一点点变动就能带来更高质量、更低成本的线路板。