串扰和噪声
Posted KuoGavin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了串扰和噪声相关的知识,希望对你有一定的参考价值。
文章目录
本章描述了纳米工艺中ASIC(Application Specific Integrated Chip)的信号完整性(SI, Signal Integrity)问题。在深亚微米(submicron)技术中,串扰(crosstalk)在设计的信号完整性中起着重要作用,串扰噪声是指两个或多个信号之间无意间的耦合。相关的噪声和串扰分析技术,即毛刺(glitch)分析和串扰分析,可用于静态时序分析中,这将在本章中进行介绍。这些技术可用于使ASIC稳定运行。
6.1 概述(Overview)
噪声被认为是影响芯片正常运作的不良或无意的现象。在纳米技术中,噪声可以影响到功能或设备的时序。
为什么会有噪声和信号完整性?
噪声在深亚微米技术中起重要作用的原因有以下几个:
- 金属层数量的增加:例如,一个0.25um或0.3um的工艺具有四个或五个金属层,而在65nm和45nm工艺中增加到了十个或更多的金属层。章节四中的图4-1已描绘过了金属互连线的多层结构。
- 垂直占主导地位的金属长宽比:这意味着走线既细又高,与早期工艺几何形状中比较宽不同。因此,较大比例的电容是由侧壁耦合电容组成的,该侧壁耦合电容即为相邻信号线之间的走线间电容。
- 更高的布线密度:由于具有更精细的几何形状,更多的金属线可以在物理上紧密相邻。
- 大量的交互设备和互连线:在同一硅片面积中封装了更多的标准单元和信号走线,从而导致更多的交互。
- 由于频率变高而导致波形切换加快:快速的边沿速率会导致更多的电流尖峰以及对相邻走线和单元的更大耦合效应。
- 较低的电源电压:电源电压的降低使得噪声裕量较小。
在本章中,我们特别研究串扰噪声的影响。串扰噪声是指两个或多个信号之间无意识的耦合。串扰噪声是由芯片上相邻信号之间的电容耦合引起的,这会导致一个网络的高低电平切换,从而对耦合信号产生意外影响。受影响的信号称为受害者(victim),而产生影响的信号称为攻击者(aggressor)。请注意,两个耦合的网络可能会相互影响,并且通常一个网络可能既是受害者又是攻击者。
图6-1给出了几个信号走线耦合在一起的示例,图中描绘了提取得到的耦合互连的分布式 R C RC RC以及几个驱动单元和扇出单元。在此示例中,网络 N 1 N1 N1和 N 2 N2 N2之间的耦合电容为 C c 1 + C c 4 Cc1 + Cc4 Cc1+Cc4,而 C c 2 + C c 5 Cc2 + Cc5 Cc2+Cc5是网络 N 2 N2 N2和 N 3 N3 N3之间的耦合电容。
广泛地讲,串扰会带来两种类型的噪声效应:毛刺(glitch)是指由于相邻攻击者电平切换的耦合而在稳定受害者信号上产生的噪声;以及时序变化(串扰增量延迟, cross-talk delta delay)由于受害者电平切换与攻击者电平切换的耦合而导致的。接下去的两小节将介绍这两种类型的串扰噪声。
6.2 串扰毛刺分析(Crosstalk Glitch Analysis)
6.2.1 基础(Basics)
一个稳定的信号网络可能会由于攻击者电平切换时通过耦合电容转移的电荷而产生毛刺(正或负)。图6-2所示为攻击者网络上升沿电平切换的串扰引起的正毛刺。将两个网络之间的耦合电容描绘为一个集总(lumped)电容 C c Cc Cc而不是分布式(distributed)耦合电容,这是为了简化下面的说明,而又不失一般性。在提取所得网表的典型表示中,耦合电容可以分布在多个段中,如之前6.1节中所示。
在此示例中,与非门单元 U N A N D 0 UNAND0 UNAND0电平切换并为其输出网络充电(标记为“攻击者”)。一些电荷也通过耦合电容 C c Cc Cc转移到“受害”网络上,并导致正毛刺。转移的电荷量与攻击者和受害者之间的耦合电容 C c Cc Cc直接相关。向受害网络的接地电容上转移的电荷会导致该网络上的毛刺。由于通过驱动单元 I N V 2 INV2 INV2的下拉(pull-down)结构转移了电荷,因此可以恢复受害网络上的稳定值(在这种情况下为低电平)。
毛刺的幅度取决于多种因素,其中一些因素是:
- 攻击者与受害者之间的耦合电容:耦合电容越大,毛刺幅度越大;
- 攻击者网络的压摆(slew):攻击者网络上压摆越大,毛刺的幅度越大。通常,较快的压摆是因为驱动攻击者网络的单元具有较高的输出驱动强度;
- 受害者网络接地电容:受害者网络上的接地电容越小,毛刺的幅度越大;
- 受害者网络驱动强度:驱动受害者网络的单元输出驱动强度越小,毛刺的幅度越大;
总体而言,虽然受害者网络上的稳定之得以恢复,毛刺仍会影响电路功能,由于以下所述原因:
- 毛刺幅度可能足够大,以至于扇出单元可以将其视为不同的逻辑值(例如,受害者网络上的逻辑 0 0 0可能在扇出单元处被视为逻辑 1 1 1)。 这对于时序逻辑单元(触发器或锁存器)或存储器而言尤其重要,在这些单元中,时钟或异步置位/复位引脚上的毛刺会严重影响设计功能。类似地,锁存器输入端的数据信号出现毛刺会导致锁存不正确的数据,如果在输入数据时发生毛刺也可能造成灾难性的后果;
- 即使受害者网络不驱动时序逻辑单元,一个宽/较大毛刺可能会通过受害者网络的扇出单元传播至一个时序逻辑单元的输入,这将对设计造成灾难性的后果;
6.2.2 毛刺类型(Types of Glitches)
毛刺具有诸多不同种类。
上升和下降毛刺(Rise and Fall Glitches)
前面小节中的讨论说明了受害者网络上的上升毛刺(Rise Glitch),该受害者网络一直稳定在低电平。类似的情况是在稳定的高电平信号上出现负毛刺,电平下降切换的攻击者网络会在稳定的高电平信号上引起下降毛刺(Fall Glitch)。
过冲和下冲毛刺(Overshoot and Undershoot Glitches)
当上升的攻击者网络与稳定高电平的受害者网络耦合时会发生什么呢?仍会有一个毛刺使受害者网络的电压值超过其稳定的高电平,这种毛刺称为过冲毛刺(Overshoot Glitch)。类似地,下降的攻击者网络与稳定低电平的受害者网络耦合时,会在受害者网络上引起下冲毛刺(Undershoot Glitch)。
由串扰引起的所有四种毛刺情况如图6-3所示:
如前面小节所述,毛刺由耦合电容、攻击者的压摆和受害者网络的驱动强度决定。计算毛刺基于的是攻击者网络转移的电流量、受害者网络的 R C RC RC互连 、以及驱动受害者网络的单元的输出阻抗。详细的毛刺计算是基于库模型的:相关的噪声模型是第3章中描述的标准单元库模型的一部分,3.7节中的输出dc_current模型与单元的输出阻抗有关(3.7.3 串扰噪声分析(models for crosstalk noise analysis))。
6.2.3 毛刺阈值和传播(Glitch Thresholds and Propagation)
如何确定网络上的一个毛刺是否可以通过扇出单元传播?如前面的小节所述,由攻击者网络耦合引起的毛刺是否可以通过扇出单元传播,具体取决于扇出单元和毛刺属性(例如毛刺高度和毛刺宽度)。该分析可以基于直流(DC)或交流(AC)噪声阈值。直流噪声分析仅检查毛刺幅度并且比较保守,而交流噪声分析则检查其他属性,例如毛刺宽度和扇出单元输出负载。下面介绍了毛刺的直流和交流分析中使用的各种阈值标准。
直流阈值(DC Threshold)
直流噪声裕度(DC noise margin)是对毛刺幅度的一种检查,是指在确保正确逻辑功能的同时输入单元的直流噪声限制。例如,只要反相器单元的输入保持在 V I L VIL VIL最大值以下,则输出就可以保持为高电平(高于 V O H VOH VOH最小值)。类似地,只要输入保持在 V I H VIH VIH最小值以上,反相器单元的输出就可以保持为低电平(低于 V O L VOL VOL最大值)。这些限制是基于单元的 D C DC DC传输特性获得的,并且可以记录在单元库中。
V O H VOH VOH是被视为逻辑 1 1 1或高电平的输出电压范围, V I L VIL VIL是被视为逻辑 0 0 0或低电平的输入电压范围, V I H VIH VIH是被视为逻辑 1 1 1的输入电压范围, V O L VOL VOL是被视为逻辑 0 0 0的输出电压范围。图6-4给出了一个反相器单元的输入-输出 D C DC DC传输特性图:
V I L m a x VILmax VILmax和 V I H m i n VIHmin VIHmin也称为 D C DC DC裕度极限(DC margin limits),基于 V I H VIH VIH和 V I L VIL VIL的 D C DC DC裕度是稳态噪声极限,因此可以用作确定毛刺是否会通过扇出单元传播的判断依据。直流噪声裕量限制适用于单元的每个输入引脚。通常, D C DC DC裕度限制对于上升毛刺(输入低电平)和下降毛刺(输入高电平)是分开独立的。直流裕度的模型可以指定为单元库描述的一部分。低于直流裕度极限的毛刺(例如,低于扇出引脚的 V I L m a x VILmax VILmax的上升毛刺)不能通过扇出传播,无论毛刺的宽度如何。因此,保守的毛刺分析会检查(所有毛刺)峰值电压电平是否满足扇出单元的 V I L VIL VIL和 V I H VIH VIH电平。即使有任何毛刺产生,只要所有网络都能满足扇出单元的 V I L VIL VIL和 V I H VIH VIH电平,就可以得出结论:毛刺对设计的功能没有任何影响(因为毛刺不会导致输出发生任何变化)。
图6-5给出了 D C DC DC裕量极限的示例。对于设计中的所有网络, D C DC DC噪声裕量可以固定为相同的极限值。可以设置最大可容忍的噪声(或毛刺)幅值,在此幅值之上,噪声可以通过单元传播到输出引脚。通常,此检查可保证毛刺电平小于 V I L m a x VILmax VILmax或大于 V I H m i n VIHmin VIHmin。毛刺高度(height)通常表示为电源的百分比。 因此,如果将DC噪声裕量设置为 30 % 30% 30%,则表明任何高度大于电压摆幅 30 % 30% 30%的毛刺都将被标识为可能通过单元传播并影响设计功能的潜在毛刺。
并非所有幅度大于 D C DC DC噪声裕量的毛刺都能改变单元的输出。毛刺的宽度也是确定毛刺是否会传播到输出的重要考虑因素。单元输入端的窄毛刺通常不会对单元输出产生任何影响。但是, D C DC DC噪声裕量仅使用恒定的最差高度值(worst-case value),而与信号噪声宽度无关。如图6-6中的示例提供了噪声抑制水平,该噪声抑制水平是单元噪声容限的非常保守的估计。
交流阈值(AC Threshold)
如以上小节所述,毛刺分析的 D C DC DC裕度极限是保守的,因为是在最坏情况下分析设计的。 D C DC DC裕量极限不检查毛刺宽度,也不会影响设计的正常运行。
在大多数情况下,设计可能无法通过保守的 D C DC DC噪声分析。因此,必须针对毛刺宽度和单元的输出负载来验证毛刺的影响。通常,如果毛刺很窄或扇出单元的输出电容较大,则毛刺不会影响正常的功能运行。毛刺宽度和输出电容的影响都可以用扇出单元的惯性(inertia)来解释。通常,单级(single stage)的单元将阻止任何比通过该单元的延迟还要窄得多的输入毛刺。这是因为在毛刺较窄的情况下,毛刺会在扇出单元可以响应之前就结束了,因此,非常窄的毛刺对单元没有任何影响。由于输出负载会增加通过单元的延迟,因此增加输出负载的作用是使输入端的毛刺影响最小化,尽管这会增加单元延迟。
交流噪声抑制如图6-7所示(对于固定的输出电容)。黑色阴影区域表示良好或可接受的毛刺,因为这些毛刺太窄或太矮,或既窄又矮,因此对单元的功能行为没有影响。浅阴影区域表示不良或不可接受的毛刺,因为这些毛刺太宽或太高,或既宽又高,因此在单元输入端的这种毛刺会影响单元的输出。在毛刺较宽的极限情况下,毛刺阈值对应于 D C DC DC噪声裕量,如图6-7所示。
对于给定的单元,增加输出负载会增加噪声容限,因为这会增加惯性延迟和可以通过单元的毛刺宽度,下面的示例说明了这种现象。图6-8(a)所示为一个未加负载的反相器单元,其输入端具有正毛刺。输入毛刺高于单元的直流裕量,因此会在其输出端引起毛刺。图6-8(b)中为相同的反相器单元,其输出端有一定负载,此时输入端相同的输入毛刺会导致输出端的毛刺小很多。如果反相器单元的输出负载更高,如图6-8(c)所示,则反相器单元的输出将没有任何毛刺。因此,增加输出端的负载可使单元更加能够抵抗从输入端传播到输出端的噪声。
如上所述,可以忽略低于
A
C
AC
AC阈值的毛刺(图6-7中的
A
C
AC
AC噪声抑制区域),或者可以认为扇出单元不受这种毛刺的影响。
A
C
AC
AC阈值区域是取决于输出负载和毛刺宽度的。如第3章中所述,抗扰度模型(noise immunity model)(3.7.4 其它噪声模型(other noise models))包括上述
A
C
AC
AC噪声抑制的影响,3.7节中介绍的propagated_noise
模型除了对通过单元的传播进行建模外,还包括了
A
C
AC
AC噪声阈值的影响(3.7.3 串扰噪声分析(models for crosstalk noise analysis))。
如果毛刺大于
A
C
AC
AC阈值会怎么样?在毛刺幅度超过
A
C
AC
AC阈值的情况下,单元输入处的毛刺会在单元输出处产生另一种毛刺。输出毛刺的高度和宽度是输入毛刺的宽度、高度以及输出负载的函数。该信息在单元库中进行了表征,该单元库中包含了有关输出毛刺幅度和宽度的详细表格或函数,并且这些函数是输入引脚的毛刺幅度、毛刺宽度和输出引脚负载的函数。毛刺传播会在库中的propagated_noise
模型进行描述,第3章中已详细介绍了propagated_noise
模型。
我们在上述内容中,对扇出单元输出处的毛刺(以及毛刺的传播)进行了计算,并在扇出网络上进行了相同的检查,依此类推。
尽管我们在上面的讨论中使用了通用术语“毛刺”,但应注意,这分别适用于前一小节中提到的所有类型的毛刺:上升毛刺(由早期模型中的propagated_noise_high
或noise_immunity_high
建模),下降毛刺(由早期模型中的propagated_noise_low
或noise_immunity_low
建模),过冲毛刺(由noise_immunity_above_high
建模)和下冲毛刺(由noise_immunity_below_low
建模)(噪声传播(propagated noise); 3.7.4 其它噪声模型(other noise models))。
总而言之,单元的不同输入对毛刺阈值有不同的限制,这是毛刺宽度和输出电容的函数,对于输入高电平(向低电平过渡的毛刺)和输入低电平(向高电平过渡的毛刺),这些限制是独立的。噪声分析检查毛刺峰值以及宽度,并分析是否可以忽略或是否可以传播到扇出。
6.2.4 多攻击者的噪声累积(Noise Accumulation with Multiple Aggressors)
图6-9介绍了由于单个攻击者网络电平切换而在受害者网络上引入串扰毛刺的耦合。通常,受害者网络可以电容耦合到许多网络。当多个网络同时电平切换时,由于有多个攻击者,对受害者网络的串扰耦合噪声影响会更加严重。
大多数由多个攻击者网络引起的耦合分析都考虑了每个攻击者网络引起的毛刺效应,并计算了对受害者网络的累积效应,这看起来很保守,但这确实表明了受害者网络的最坏情况。另一种方法是使用 R M S RMS RMS(Root Mean Square,均方根)方法,使用 R M S RMS RMS方法时,是通过单个攻击者网络引起的毛刺的均方根来计算受害者网络的毛刺幅度的。
6.2.5 攻击者时序相关性(Aggressor Timing Correlation)
对于由多个攻击者引起的串扰,分析时必须考虑攻击者网络的时序相关性,并确定多个攻击者是否可以同时电平切换。STA会从攻击者网络的时序窗口获取此信息。在时序分析过程中,将获得网络的最早(earliest)和最迟(latest)电平切换时间,这些时间表示网络可以在一个时钟周期内切换的时序窗口。电平切换窗口(上升和下降)提供了有关攻击者网络是否可以一起切换的必要信息。
根据多个攻击者是否可以同时电平切换,将决定是否要合并单个攻击者对受害者网络带来的毛刺。第一步,毛刺分析为每个潜在的攻击者分别计算四种毛刺(上升、下降、下冲和过冲)。下一步将来自各个单独攻击者的毛刺带来的影响合并在一起,多个攻击者可以针对每种不同类型的毛刺分别进行组合。例如,考虑与攻击者网络 A 1 A1 A1、 A 2 A2 A2、 A 3 A3 A3和 A 4 A4 A4耦合的受害者网络 V V V。在分析过程中,可能 A 1 A1 A1、 A 2 A2 A2和 A 4 A4 A4会引起上升和过冲毛刺,而只有 A 2 A2 A2和 A 3 A3 A3会造成下冲和下降毛刺。
考虑另一个示例,当四个攻击者网络中任何一个电平切换时,都会引起上升毛刺。如图6-10所示为时序窗口和每个攻击者网络引起的毛刺幅度。基于时序窗口,毛刺分析确定了可能导致最大毛刺的最坏情况的攻击者组合。在此示例中,电平切换窗口可分为四个区域,其中每个区域都显示了可能进行电平切换的攻击者网络,每个攻击者所引起的毛刺幅度也如图6-10所示。区域 1 1 1中攻击者网络 A 1 A1 A1和 A 2 A2 A2会进行电平切换,这可能导致毛刺幅度为 0.21 = 0.11 + 0.10 0.21= 0.11 + 0.10 0.21=0.11+0.10。区域 2 2 2中攻击者网络 A 1 A1 A1、 A 2 A2 A2和 A 3 A3 A3会进行电平切换,这可能导致毛刺幅度为 0.30 = 0.11 + 0.10 + 0.09 0.30 = 0.11 + 0.10 + 0.09 0.30=0.11+0.10+0.09。区域 3 3 3中攻击者网络 A 1 A1 A1和 A 3 A3 A3会进行电平切换,这可能导致毛刺幅度为 0.20 = 0.11 + 0.09 0.20 = 0.11 + 0.09 0.20=0.11+0.09。区域 4 4 4中攻击者网络 A 3 A3 A3和 A 4 A4 以上是关于串扰和噪声的主要内容,如果未能解决你的问题,请参考以下文章