如果你发现,以前低速时代积累的设计经验现在似乎都不灵了,同样的设计,以前没问题,可是现在却无法工作,那么恭喜你,你碰到了硬件设计中最核心的问题:信号完整性。早一天遇到,对你来说是好事。
在过去的低速时代,电平跳变时信号上升时间较长,通常几个ns。器件间的互连线不至于影响电路的功能,没必要关心信号完整性问题。但在今天的高速时代,随着IC输出开关速度的提高,很多都在皮秒级,不管信号周期如何,几乎所有设计都遇到了信号完整性问题。另外,对低功耗追求使得内核电压越来越低,1.2v内核电压已经很常见了。因此系统能容忍的噪声余量越来越小,这也使得信号完整性问题更加突出。
广义上讲,信号完整性是指在电路设计中互连线引起的所有问题,它主要研究互连线的电气特性参数与数字信号的电压电流波形相互作用后,如何影响到产品性能的问题。主要表现在对时序的影响、信号振铃、信号反射、近端串扰、远端串扰、开关噪声、非单调性、地弹、电源反弹、衰减、容性负载、电磁辐射、电磁干扰等。
信号完整性问题的根源在于信号上升时间的减小。即使布线拓扑结构没有变化,如果采用了信号上升时间很小的IC芯片,现有设计也将处于临界状态或者停止工作。
下面谈谈几种常见的信号完整性问题。
反射:
图1显示了信号反射引起的波形畸变。看起来就像振铃,拿出你制作的电路板,测一测各种信号,比如时钟输出或是高速数据线输出,看看是不是存在这种波形。如果有,那么你该对信号完整性问题有个感性的认识了,对,这就是一种信号完整性问题。
很多硬件工程师都会在时钟输出信号上串接一个小电阻,至于为什么,他们中很多人都说不清楚,他们会说,很多成熟设计上都有,照着做的。或许你知道,可是确实很多人说不清这个小小电阻的作用,包括很多有了三四年经验的硬件工程师,很惊讶么?可这确实是事实,我碰到过很多。其实这个小电阻的作用就是为了解决信号反射问题。而且随着电阻的加大,振铃会消失,但你会发现信号上升沿不再那么陡峭了。这个解决方法叫阻抗匹配,奥,对了,一定要注意阻抗匹配,阻抗在信号完整性问题中占据着极其重要的地位。
串扰:
如果足够细心你会发现,有时对于某根信号线,从功能上来说并没有输出信号,但测量时,会有幅度很小的规则波形,就像有信号输出。这时你测量一下与它邻近的信号线,看看是不是有某种相似的规律!对,如果两根信号线靠的很近的话,通常会的。这就是串扰。当然,被串扰影响的信号线上的波形不一定和邻近信号波形相似,也不一定有明显的规律,更多的是表现为噪声形式。串扰在当今的高密度电路板中一直是个让人头疼的问题,由于布线空间小,信号必然靠得很近,因此你比须面对它,只能控制但无法消除。对于受到串扰的信号线,邻近信号的干扰对他来说就相当于噪声。
串扰大小和电路板上的很多因素有关,并不是仅仅因为两根信号线间的距离。当然,距离最容易控制,也是最常用的解决串扰的方法,但不是唯一方法。这也是很多工程师容易误解的地方。更深入的讨论,我会在后续文章中陆续推出。
轨道塌陷:
噪声不仅存在于信号网络中,电源分配系统也存在。我们知道,电源和地之间电流流经路径上不可避免存在阻抗,除非你能让电路板上的所有东西都变成超导体。那么,当电流变化时,不可避免产生压降,因此,真正送到芯片电源管脚上的电压会减小,有时减小得很厉害,就像电压突然产生了塌陷,这就是轨道塌陷。轨道塌陷有时会产生致命的问题,很可能影响你的电路板的功能。高性能处理器集成的门数越来越多,开关速度也越来越快,在更短的时间内消耗更多的开关电流,可以容忍的噪声变得越来越小。但同时控制噪声越来越难,因为高性能处理器对电源系统的苛刻要求,构建更低阻抗的电源分配系统变得越来越困难。你可能注意到了,又是阻抗,理解阻抗是理解信号完整性问题的关键。
信号完整性问题涉及面比较广,这里只是简单介绍几种现象,希望这篇文章能让你对信号完整性有个初步的认识。信号完整性,将是每个硬件工程师的必修课。早一天接触,早一天受益。