6.3 串扰延迟分析
纳米设计中典型网络的电容提取包括许多相邻网络的影响,其中一些是接地电容,而其它一些则来自其它信号网络的一部分走线。接地电容和信号间电容如图6-1所示。在基本延迟计算时(不考虑任何串扰),所有这些电容均被视为网络总电容的一部分。当相邻网络稳定(或电平不切换)时,信号间电容也可以视为接地电容。当一个相邻网络电平切换时,通过耦合电容的充电电流会影响该网络的时序。网络间的等效电容会根据攻击者网络电平切换的方向而变大或变小,下面的一个简单示例对此进行了说明。
从图6-12中可以看出,网络N1通过电容Cc耦合到相邻的网络(标记为攻击者网络),并通过电容Cg接地。此示例假定网络N1在输出端具有上升电平过渡,并根据攻击者网络是否同时进行电平切换来考虑不同的情况。
图6-12
各种情况下,驱动单元所需的电容电荷可能会有所不同,如下所述。
表6-13
表6-14
表6-15
上面的示例说明了在各种情况下电容Cc的充电以及它如何影响网络N1切换电平的延迟。该示例仅考虑了网络N1处的上升过渡,但是类似的分析也适用于下降过渡。
基本延迟计算(不考虑任何串扰)假定驱动单元为网络总电容Ctotal(= Cground + Cc)的轨到轨(rail-to-rail)过渡提供了所有必要的电荷。如前一小节所述,当耦合(攻击者)网络和受害者网络朝相反方向切换电平时,耦合电容Cc所需的电荷会更大。朝相反方向电平切换的攻击者网络增加了来自受害者网络驱动单元的所需电荷量,并且增加了驱动单元和受害者网络互连的延迟。
类似地,当耦合(攻击者)网络和受害者网络朝相同方向切换电平时,Cc上的电荷在受害者和攻击者切换电平前后都保持不变。这减少了来自受害者网络驱动单元的所需电荷,并且减少了驱动单元和受害者网络互连的延迟。
综上所述,同时切换受害者和攻击者的电平会影响受害者网络过渡的时序。根据攻击者网络电平切换方向的不同,串扰延迟影响可能为正(减慢受害者网络过渡时间)或为负(加快受害者网络过渡时间)。
正串扰延迟影响的示例如图6-16所示。受害者网络在下降的同时,攻击者网络却在上升。攻击者网络向相反方向的电平切换会增加受害者网络的延迟。正串扰(positive crosstalk)会影响驱动单元以及互连线,这两者的延迟都会增加。
图6-16
串扰延迟为负的情况如图6-17所示。攻击者网络与受害者网络同时上升,攻击者网络与受害者网络朝相同方向的电平切换可减少受害者网络的延迟。如前所述,负串扰(negative crosstalk)会影响驱动单元和互连线的时序,两者的延迟都会减小。
图6-17
注意,最差的正串扰延迟和最差的负串扰延迟会分别针对上升和下降延迟进行计算。一般来说,由于串扰而导致的最大上升时间、最小上升时间、最大下降时间、最大下降时间延迟的攻击者是不同的,这将在下面的小节中进行介绍。
在多攻击者的串扰延迟分析中将累积由每个攻击者串扰带来的影响,这类似于6.2节中介绍的串扰毛刺分析。当多个网络同时进行电平切换时,对受害者网络的串扰延迟影响将由于多攻击者而变得更加复杂。
大多数由于多攻击者而导致的耦合分析都增加了每个攻击者的增量影响,并计算了对受害者网络的累积影响。这可能看起来很保守,但是它确实表明了受害者网络最差情况的串扰延迟。
与多攻击者时的串扰毛刺分析相似,也可以使用均方根(RMS)法,这种方法的悲观度不如直接累加每个攻击者带来的影响。
串扰延迟分析时序相关的处理在概念上类似于6.2节中介绍的串扰毛刺分析时序相关内容。只有当攻击者可以与受害者网络同时切换电平时,串扰才会影响受害者的延迟,这是使用攻击者和受害者网络的时序窗口确定的。如6.2节所述,时序窗口表示网络可以在一个时钟周期内切换的最早(earliest)和最迟(latest)时间。如果攻击者和受害者网络的时序窗口重叠,则可以计算出串扰对延迟的影响。对于多攻击者,也将类似地分析多个攻击者的时序窗口。计算各种时序区域的可能影响,并考虑串扰延迟影响最严重的时序区域,以进行延迟分析。
考虑下面的示例,其中三个攻击者网络可能会影响受害者网络的时序。攻击者网络(A1,A2,A3)与受害者网络(V)电容耦合,并且它们的时序窗口与受害者网络的时序窗口有重叠部分。图6-18中为时序窗口以及每个攻击者可能造成的串扰延迟影响。基于时序窗口,串扰延迟分析可以确定引起最大串扰延迟影响的攻击者组合。在此示例中,时序窗口可分为三个重叠区域,每个区域中都有不同的攻击者进行电平切换。区域1中A1和A2进行电平切换,这可能导致串扰延迟影响为0.26(= 0.12 + 0.14)。区域2中仅A1进行电平切换,带来的串扰延迟影响为0.14。区域3中仅A3进行电平切换,带来的串扰延迟影响为0.23。因此,区域1的串扰延迟影响0.26为最坏的情况。
图6-18
如前所述,串扰延迟分析将分别计算四种类型的串扰延迟。串扰延迟的四种类型是:正上升延迟(上升沿提前到达)、负上升延迟(上升沿滞后到达)、正下降延迟和负下降延迟。通常,在这四种情况下,网络可以具有不同的攻击者组合。例如,受害者网络具有攻击者网络A1、A2、A3和A4。在串扰延迟分析过程中,A1、A2、A4可能对正上升和负下降延迟有影响,而A2和A3对负上升和正下降延迟有影响。
除时序窗口外,串扰延迟计算还会考虑各种信号之间的功能相关性。例如,扫描控制信号仅在扫描模式期间进行电平切换,并且在执行设计的功能或任务模式期间保持稳定。因此,在功能模式期间,扫描控制信号不可能成为攻击者。扫描控制信号只能在扫描模式期间成为攻击者,在这种情况下,扫描控制信号不能与其他功能信号组合在一起,以进行最差情况的噪声计算。
功能相关性的另一个示例是两个攻击者互补(逻辑相反)的情况。在这种情况下,信号及其互补信号永远都不可能朝相同方向上切换电平以进行串扰噪声计算。可以利用这种类型的功能相关性信息,来确保仅实际上可以一起切换电平的信号作为攻击者,从而使串扰分析结果不会过于悲观。
需要为设计中的每个单元和互连线计算以下四种类型的串扰延迟影响:
然后,在时序分析时将串扰延迟影响用于最大和最小路径的时序检查(建立时间和保持时间检查),对数据发起和捕获触发器的时钟路径处理方式是不同的。本节将介绍建立时间和保持时间检查时对数据路径和时钟路径的详细分析。
带有串扰分析的STA可以通过最差情况下数据路径和时钟路径的串扰延迟来验证设计的时序。考虑图6-19所示的逻辑电路,其中串扰可能会沿着数据路径和时钟路径在各种网络处发生。建立时间检查的最差条件是发起时钟(launch clock)路径和数据路径都具有正串扰,而捕获时钟(capture clock)路径具有负串扰。发起时钟路径和数据路径上的正串扰影响会延迟数据到达捕获触发器的时间。此外,捕获时钟路径上的负串扰影响会导致捕获触发器的时钟有效沿过早地到达。
图6-19
基于上述介绍,建立时间(或最大路径)分析将假定:
由于建立时间检查的发起和捕获时钟沿是不同的(通常间隔一个时钟周期),所以公共时钟路径(common clock path)对于发起和捕获时钟沿可能具有不同的串扰影响。
STA的最差情况保持时间(或最小路径)分析类似于前面小节中介绍的最差情况建立时间分析。根据图6-19所示的逻辑电路,当发起时钟路径和数据路径均具有负串扰且捕获时钟路径具有正串扰时,会发生最差的保持时间检查条件。发起时钟路径和数据路径上的负串扰影响导致数据提前到达捕获触发器。此外,捕获时钟路径上的正串扰会导致捕获触发器的时钟有效沿延迟到达。
保持时间分析与建立时间分析对公共时钟路径上的串扰分析存在一个重要的区别:在保持时间分析中,发起和捕获时钟边沿通常是同一个边沿,通过公共时钟路径部分的时钟沿不会对发起时钟路径和捕获时钟路径具有不同的串扰影响,因此,最差情况的保持时间分析会从公共时钟路径中消除串扰影响。
因此,具有串扰的STA最差情况保持时间(或最小路径)分析将假定:
如上所述,在保持时间分析中不考虑对时钟树公共路径部分的串扰影响,仅针对时钟树的非公共路径部分计算发起时钟的正串扰影响和捕获时钟的负串扰影响。在用于保持时间分析的STA报告中,公共时钟路径可能会显示发起时钟路径和捕获时钟路径具有不同的串扰影响。但是,来自公共时钟路径的串扰影响会被作为公共路径悲观度单独减去。10.1节中将介绍一个STA报告中常见的减去路径悲观度的示例。
如前面小节所述,建立时间分析涉及时钟的两个不同边沿,这些边沿可能会在时序上受到不同影响。因此,在建立时间分析中,发起和捕获时钟路径均考虑了公共路径的串扰影响。
时钟信号至关重要,因为时钟树上的任何串扰都直接转化为时钟抖动(jitter)并影响设计的性能。因此,应该采取特殊的方法来减少时钟信号上的串扰。常见的避免噪声的方法是时钟树的屏蔽(shield),这将在6.6节中进行详细讨论。
大型的纳米级设计通常过于复杂,以至于无法在合理的时间内对每个耦合电容进行分析。典型网络的寄生参数提取包含了许多相邻信号的耦合电容。大型设计通常需要对寄生参数提取、串扰延迟分析和串扰毛刺分析进行适当的设置。选择这些设置可为分析提供可以接受的准确度,同时确保对CPU的要求仍然可行。本节介绍了可用于分析大型纳米级设计的一些技术。
4.5节已介绍了可用于验证大型设计的分层方法(Hierarchical Methodology),类似的方法也可用于降低提取寄生参数和进行分析的复杂性。
对于大型设计,运行(run)一次通常无法实现寄生参数的提取。每个层级模块的寄生参数可以分别提取,这又需要在设计实现的时候使用了分层设计方法。这意味着在分层模块内部的信号与模块外部的信号之间不存在耦合,这可以通过不在模块边界上布线或通过在模块上添加屏蔽层来实现。另外,信号网络不应该布在靠近模块边界的地方,并且任何布线网络都应在靠近模块边界的地方进行屏蔽保护,这样可以避免与其他模块的网络耦合。
即使对于中等规模的模块,寄生参数通常也会包括大量非常小的耦合电容。小耦合电容可以在提取过程中或在分析过程中过滤掉。
这样的过滤是基于以下原则的:
前面的小节介绍了串扰效应的影响和分析。在本小节中,我们将介绍一些可以在物理设计阶段使用的噪声避免技术。