首页> 中国专利> 集成电路设计中计算由于两个相邻网络之间耦合事件而产生的延迟的统计变化的方法和系统

集成电路设计中计算由于两个相邻网络之间耦合事件而产生的延迟的统计变化的方法和系统

摘要

本发明公开了集成电路设计中计算由于两个相邻网络之间耦合事件而产生的延迟的统计变化的方法和系统。在一个实施例中,本发明是用于在存在耦合事件和过程变异时进行静态时序分析的方法和装置。计算由于集成电路设计中两个相邻网络之间的耦合事件所产生的延迟和转换的统计变化的方法包括执行集成电路设计的统计时序分析,计算相邻网络之间的统计重叠窗口,其中统计时序窗口统计地表示相邻网络上的信号在其间能够同时切换的时间段,该方法还包括根据统计重叠窗口计算由于耦合事件所产生的延迟的统计变化。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-27

    未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20100929 终止日期:20190111 申请日:20080111

    专利权的终止

  • 2011-02-09

    发明专利更正 卷:26 号:39 页码:扉页 更正项目:优先权 正:11/622,97920070112US 申请日:20080111

    发明专利更正

  • 2010-09-29

    授权

    授权

  • 2008-11-19

    实质审查的生效

    实质审查的生效

  • 2008-09-24

    公开

    公开

说明书

技术领域

本发明一般涉及设计自动化领域,更具体而言,本发明涉及集成电路的耦合噪声对静态时序的影响的统计计算。

背景技术

静态时序分析(STA)的主要目标是验证集成电路的时序正确性。但是,传统的静态时序分析没有考虑耦合噪声对时序的影响。

当集成电路中两个相邻导线彼此非常靠近时会存在耦合电容。根据这些导线上信号如何上升或下降,电容性耦合可以导致门和导线的延迟和转换(slew)(跳变次数)的变化。例如,如果两个相邻导线上的信号在相同方向上切换(即,同时上升或同时下降),则这两个导线之间的耦合电容使它们的两个端电压在相同方向上移动;因此,由于所谓的密勒(Miller)效应,有效电容减小,这导致信号加速。相反,如果这两个信号在相反方向上切换,则有效电容增大,这使得信号慢下来。考虑这些耦合效应对正确预测集成电路的时序特性是非常关键的。利用先进技术,导线之间的耦合被提高,因为现代集成电路技术中的导线比以往的更高且更细,并且高的组装密度导致导线彼此更加靠近且导致大量的片上互连。

相邻导线之间交互形式的耦合引起了传统静态时序分析不容易处理的干扰。这是因为静态时序依赖于时序图的层级化(levelization),而由于耦合,不同层号的门和导线会影响相互的延迟和转换。虽然已知有一些方法来分析STA中的耦合效应,但是这些现有技术的方法没有考虑过程变异(process variation)。

随着每一次新一代集成电路技术的产生,变异(例如,由于过程参数、环境参数和老化效应,下文中统称为“过程参数”)成比例地增加。为了有效地解决STA中这种增加的变异,并且与基于角的(corner-based)(或确定性)时序方法相比具有减小的悲观(pessimism),通常使用统计时序。统计时序分析是解决过程变异的静态时序分析;如这里所使用的,术语“静态时序分析”或简单地说“时序分析”被理解为包括统计时序分析。

变异还影响耦合噪声,并因此影响由于耦合效应而产生的时序特性变化。以基于角的方式处理耦合效应(即,在所有过程参数的一个或多个选定的确定性设置处考虑耦合地实施时序分析)是不利的,并且是无效的。因此,现有技术的方法不能以有效或精确的方式来适用于耦合事件和过程变异。

例如,图1是显示示例性耦合事件100的示意图。如图所示,芯片上的第一和第二相邻导线(或网络(net))102a和102b在它们之间具有耦合。第一导线102a上的信号由第一门104a驱动,并由第二门106b接收。第二导线102b由第三门104b驱动,并由第四门106b接收。当驱动通过两个相邻导线、诸如第一导线102a和第二导线102b的信号在相同时间窗口期间切换时,这被称为耦合事件。

正对其上的信号分析时序的导线被称为“受扰对象(victim)”,而使受扰对象经历耦合事件的导线被称为“干扰源(aggressor)”。因此,例如,如果对沿第一导线102a驱动的信号的时序感兴趣,则第一导线102a是受扰对象,第二导线102b是干扰源。第一门104a的输出端的信号被称为近端受扰对象信号,第二门106a的输入端的信号被称为远端受扰对象信号。类似地,第三门104b的输出端的信号被称为近端干扰源信号,接收器第四门106b的输入端的信号被称为远端干扰源信号。如果驱动通过干扰源的信号同时在与驱动通过受扰对象的信号相同的方向上切换,则受扰对象上信号的传送将加速。替换地,如果驱动通过干扰源的信号同时在与驱动通过受扰对象的信号相反的方向上切换,则通过受扰对象的信号传送将慢下来。

图2显示了用于图1所示示例性耦合事件的等效电路200。第一和第二导线102a和102b已经由电阻电容(RC)寄生效应来模拟,其通常由提取程序从集成电路的版图(layout)中产生的。耦合电容以粗线显示。四个因素影响由于耦合事件所导致的延迟变化。第一个因素是任何耦合电容的两端处的两个信号是否重叠(即,信号能够同时或在相同时间窗口期间转换吗?),以及信号在其期间可以重叠的时间总量。第二个因素是耦合电容的总量。第三个因素是干扰源近端、干扰源远端、受扰对象近端和受扰对象远端处信号的跳变次数或转换。最后,第四个因素是受扰对象的强度和干扰源的强度,这包括驱动门(例如第一和第三门104a和104b)的尺寸以及受扰对象和干扰源驱动器门(例如第一和第三门104a和104b)的电源电压摆动。面对过程变异,所有这些量在本质上都是统计的。

参考图2,确定性时序和确定性耦合分析的几个重要缺点如下所述。第一个缺点是预测最差情况角(或设置产生最差情况时序结果的过程参数)不是立刻显而易见的,因为当过程参数变化时,上述因素中的一些使耦合事件更差,而一些因素使耦合事件更好。例如,假设由于过程变异,受扰对象驱动门强度减小。作为该变异的结果,受扰对象近端和远端信号更迟到达。一个可能的结果是受扰对象和干扰源之间重叠的时间窗口,这将使耦合事件更差。一个不同的但也可能的结果是不再有重叠时间窗口,这将使耦合事件更好。

第二个缺点是,使用最差情况分析是不必要地悲观的。例如,再次假设由于过程变异,受扰对象驱动门强度减小。结果,受扰对象近端和远端信号更迟到达,并且可能在干扰源和受扰对象之间没有重叠的时间窗口。另一方面,如果受扰对象驱动门更强,则噪声耦合事件的影响将减小,因为强的驱动门将以更强的方式驱动导线。简单的最差情况分析将不考虑这些相关性,并且将预测不必要地悲观的结果。

第三个缺点是,对于全面的分析,必须分析过程变异的多种组合。例如,弱与强的驱动器、薄与厚的金属层、高压和低压电源、以及其所有组合应该被检查以进行全面分析。但是,这种穷举式的分析是效率低的。

因此,需要一种在出现耦合事件和过程变异时用于静态时序分析的方法和装置。

发明内容

在一个实施例中,本发明提供了一种对于耦合事件和过程变异用于静态时序分析的方法和装置。集成电路设计中计算由于两个相邻网络之间的耦合事件而导致的延迟的统计变化的方法包括进行集成电路设计的统计时序分析,计算相邻网络之间的统计重叠窗口,以及根据统计重叠窗口计算由于耦合事件所产生的延迟的统计变化,其中统计时序窗口统计地表示相邻网络上的信号在其期间可以同时切换的时间段。

因此,本发明的一个目的是执行初步的统计时序分析,随后统计地确定由于过程变异、考虑到耦合事件所产生的延迟的变化。本发明的另一目的是统计地确定相邻网络之间的时序窗口重叠。本发明的再一目的是计算延迟变化对密勒因子的敏感度,以及密勒因子对所有过程参数的敏感度,并且链式保持(chain-rule)这些敏感度以便以参数化统计的形式表达延迟的变化。本发明的还一目的是类似地计算由于过程变异、考虑到耦合事件所导致的转换的变化以及其敏感性。本发明的再一目的是通过时序图以统计方式传播延迟和转换的变化,并循环执行延迟和转换的变化的计算,和延迟和转换的变化的传播。

本发明提供了这些和其他目的。本发明增加了执行包括耦合噪声的统计时序分析的精确性,并且与传统方法相比降低了悲观性。

附图说明

包含在说明书中并构成说明书一部分的附图示出了本发明的当前优选实施例,这些附图与上面所给出的一般描述以及下文中对优选实施例的详细描述一起用于阐述本发明的原理。

图1是显示示例性耦合事件的示意图;

图2示出了图1所示示例性耦合事件的等效电路;

图3是显示根据本发明的集成电路设计的静态时序分析方法的一个实施例的流程图。

图4显示了集成电路设计中的示例性等效电路和用于受扰对象和干扰源导线的相应切换窗口;和

图5是使用通用计算设备实现的静态时序分析方法的高级框图。

为了便于理解,可能的话,使用相同的附图标记来表示对于附图来说共同的相同元件。

具体实施方式

参考在附图中示出且在以下说明中详细描述的非限制性实施例来阐述本发明和其各种特征和优点。应当注意,附图中示出的特征不必按比例画出。省略了对众所周知的组件和处理技术的描述,以便不会不必要地阻碍详细理解本发明。

图3是显示根据本发明的集成电路设计的静态时序分析方法300的一个实施例的流程图。方法300可以被实现来分析组合(combinational)集成电路设计和顺序(sequential)集成电路设计。如以下将详细介绍的,方法300精确地且有效地应对静态时序分析过程中的过程变异和耦合事件,同时还考虑由过程变异所引入的复杂的相关性。

在步骤302对方法300初始化,并前进到步骤304,其中在步骤304中,方法300实施集成电路设计的无噪声统计时序分析。在一个实施例中,根据大量已知的统计时序分析方法中任意一个或多个来执行统计时序分析。作为统计时序分析的结果,建立集成电路设计的时序图。此外,每个信号的早期的(early)和晚期的(late)到达时间(AT),每个信号的早期的和晚期的转换,以及每个信号的早期的和晚期的要求的到达时间(RAT)已知是概率分布。这些概率分布以由变异源参数化的形式被表达,以便正确地保持时序量之间的相关性。该参数化形式被称为“规范形式”,如2003年9月18号由Visweswariah提交的美国专利申请NO.10/665092,在这里该专利文件被全部引为参考。因此,静态时序分析解决了集成电路设计中所有可能的过程变异。

一旦已经执行了统计时序分析,方法300就前进到步骤306,并且计算集成电路设计中每一对相邻导线的重叠窗口。重叠窗口是选定的受扰对象和该受扰对象的相应干扰源在其期间可以同时切换的时间段。由于过程变异,近端和远端AT本身是概率分布,因此重叠窗口也是概率分布。参考图4更详细地介绍计算重叠窗口的方法的一个实施例,图4显示了受扰对象上晚期模式下降跳变(late mode fallingtransition)的时序窗口的计算。

在步骤308中,方法300为在步骤306中所计算的重叠窗口的早期的和晚期的分析计算统计密勒因子k。密勒因子是公知的乘法因子,其应用于耦合电容以便放大晚期模式中的耦合电容效应或减小早期模式时序中的耦合电容效应。在一个实施例中,根据动态噪声模拟技术(dynamic noise simulation technique)计算统计密勒因子。在一个实施例中,根据用于确定性时序的相同技术来计算统计密勒因子,但是将统计运算替换为确定性代数运算。该技术的一个例子如下式所示:

早期模式>k=1.0+min(Ov,Ta,Tv)Ta*min(2.0,Tvmin(Ov,Ta,Tv))*Vdd(A)Vdd(V)>(等式1)

晚期模式>k=1.0+min(Ov,Ta,Tv)Ta*min(2.0,Tvmin(Ov,Ta,Tv))*Vdd(A)Vdd(V)>(等式2)

其中:

Ta表示早期近端干扰源跳变时间或转换;

Tv表示晚期远端受扰对象跳变时间或转换;

Ov以在步骤306中所计算的规范形式表示受扰对象和干扰源的切换窗口之间的重叠总量;

Vdd(A)表示干扰源驱动器单元(aggressor driver cell)的电压摆动(电源和地信号之间的电压差);和

Vdd(A)表示受扰对象驱动器单元的电压摆动(电源和地信号之间的电压差)。

所计算的密勒因子的幅度反映耦合噪声对时序的影响的量;接近1.0的因子表示很小的影响,而距离1.0很远的因子表示更大的影响。

以规范形式从初始统计时序分析(即,步骤304)中拾取等式1和2中各种转换Ta和Tv。各种代数运算被统计地执行,以获得统计规范形式的密勒因子。应当注意,可以以各种方法计算密勒因子,并且以上等式仅仅表示可以计算密勒因子的方式的一个例子。通过将确定性运算替换成统计运算,合适的统计密勒因子可以被计算为对应于任何确定性技术的统计对应物。

一旦计算了密勒因子,方法300就前进到步骤310,并且计算延迟变化对密勒因子的灵敏度。在一个实施例中,根据Schaeffer等人于2006年5月25日提交的美国专利申请NO.11/420,529中所描述的方法执行该灵敏度计算,该专利申请在此全部被引为参考。在可选的步骤312中(以虚线框示出),方法300还计算转换变化对密勒因子的灵敏度。统计地处理转换变化就提高了方法300的精确度。

在步骤314中,方法300以统计规范形式来表达由于耦合事件所产生的延迟变化。在一个实施例中,方法300计算由于耦合事件所产生的延迟的单独的上升和下降统计变化。在一个实施例中,利用链式保持过程来完成延迟变化的表达。因为延迟变化对密勒因子的灵敏度是已知的(即,从步骤310),并且密勒因子对每个过程参数的灵敏度也是已知的(即,从步骤308,通过计算规范形式的密勒因子),因此这些灵敏度被如下所示地链式保持,以获得规范统计形式的延迟变化:

>Δdelay=Δdelay0+Σi=1nΔdelaypiΔpi>等式3

>Δdelaypi=Δdelaykkpi>等式4

其中,Δdelay是由于耦合事件所产生的延迟变化,Δdelay0是在没有变异的情况下由于耦合事件而产生的延迟变化,pi是过程变量,k是密勒因子。在等式4中,右边的第一项从步骤310获得,第二项从步骤308获得。在可选步骤316中(以虚线框示出),利用转换来执行类似的链式保持计算,以获得规范统计形式的转换变化。

在步骤318中,方法300通过步骤304中所建立的时序图以统计形式增量地传播由于耦合事件所产生的延迟(以及可选的转换)的变化。在一个实施例中,根据美国专利NO.7,111,260中所描述的方法完成延迟和转换变化的传播,该专利在此被全部引为参考。

在步骤320中,方法300根据需要而循环执行步骤306-318。时序上耦合噪声的分析是“母鸡和蛋”的问题。由于耦合事件所产生的延迟和转换变化在已知正确的时序窗口重叠之前是未知的。类似的,正确的时序窗口重叠在已知正确的到达时间和转换之前是未知的。最后,正确的到达时间和转换在已知由于耦合事件所产生的延迟和转换变化之前是未知的。可以根据步骤320执行的迭代程序的一个实施例在美国专利NO.6,615,395中被进一步详细地描述,该专利在此被全部引为参考。

图4显示了示例性电子等效电路400以及分别用于集成电路设计中受扰对象和干扰源导线(分别是402a和402b)的相应切换窗口410a和410b。特别地,图4显示了用于计算重叠窗口(例如根据方法300的步骤306)的方法的一个实施例。

在确定性分析中,受扰对象信号的切换窗口410a(即受扰对象导线402a上的信号)通常被定义为近端处晚期下降跳变的开始(如附图标记412所示)到远端处晚期下降跳变的结束(如附图标记414所示)(即,受扰对象信号的任何部分在其间可以正以晚期模式跳变的时间窗口)。如果假设晚期模式分析,则干扰源信号(即干扰源导线402b上的信号)在相反方向上切换,以便尽可能地减慢受扰对象信号。干扰源切换窗口410b被定义为干扰源信号在其间可能切换的整个窗口(即,早期上升近端信号的开始(如附图标记416所示)到晚期上升远端信号的结束(如附图标记418所示)),如图4所示。虽然该计算在确定性时序中是简单的,但是在统计时序中所产生的复杂性在于到达时间和转换是统计的并且互相相关。

参考受扰对象切换窗口410a和干扰源切换窗口410b,干扰源切换窗口410b的开始和结束被分别定义为astart和aend。受扰对象切换窗口410a的开始和结束被分别定义为vstart和vend。astart,aend,vstart和vend的值通常是AT和转换的线性组合。例如,astart可以被定义为干扰源信号的到达时间减去一半的干扰源信号转换。在一个实施例中,对于统计时序窗口重叠计算,由相应AT和转换的统计(规范)形式而统计地计算astart,aend,vstart和vend。一旦完成该计算,就使用以下简单的公式来计算统计重叠窗口:

Overlap=max[0,min(aend,vend)-max(astart,vstart)]    等式5

“min”、“max”以及减法运算如在统计STA中那样被统计地实施。等式5简单地说明,min(aend,vend)是重叠窗口的右边缘(其是概率分布),max(astart,vstart)是重叠窗口的左边缘(其是概率分布),并且这些左边缘和右边缘之间的差是统计重叠窗口,假设差是正的。

应当注意,切换窗口的各种定义都是可能的,并且可以使用各种方法来计算重叠窗口,而不背离本发明的范围。在所有情况下,通过将AT和转换替换为统计分布、并且使用统计运算(如加法、减法、缩放和“min”和“max”运算)来统计地计算切换窗口。此外,对于早期和晚期计算目的,切换窗口的定义可以是不同的。因此,本领域的技术人员将能够将本发明的技术修改为很多种切换和重叠窗口定义。

应当理解,本领域技术人员可以提出和实施本发明的多种变化,包括计算统计密勒系数的不同方式、计算重叠窗口的不同方式、计算密勒系数对过程参数的灵敏度的不同方式以及解决“母鸡和蛋”迭代问题(即如对于方法300的步骤320所述)的不同方式。此外,为了简单起见,图3中的几个步骤可以被恢复为它们的确定性等价物。

此外,这里所描述的方法可以被扩展以便使得能够以其他方法来统计地处理延迟和转换。例如,可以执行动态模拟,以计算由干扰源网络引入到受扰对象网络的噪声脉冲,并使用该噪声脉冲的尺寸(宽度和峰值)来计算由于电容耦合所产生的延迟和转换的变化。该影响依赖于与先前所述相同的因子,并且这些因子可以被统计地表示。在Kashyap等人于2005年6月20日提交的美国专利申请序列号NO.11/160,701中描述了采用噪声脉冲并使用其来计算密勒因子的方法的一个实施例,该专利文件在此被全部引为参考。该方法可以被本领域技术人员扩展以统计地计算密勒因子,例如根据方法300的步骤308。于是,由于耦合所产生的延迟和转换的变化可以被统计地计算,并且如前所述被统计地传播。

图5是利用通用计算设备500执行的静态时序分析方法的高级框图。在一个实施例中,通用计算设备500包括处理器502、内存504、时序分析模块505和各种输入/输出(I/O)设备506,诸如显示器、键盘、鼠标、调制解调器等等。在一个实施例中,至少一个I/O设备是存储设备(例如,磁盘驱动器、光盘驱动器、软盘驱动器)。应当理解,时序分析模块505可以被实现为通过通信信道耦接到处理器的物理设备或子系统。

替换地,时序分析模块505可以被表示为一个或多个软件应用程序(或者甚至是软件与硬件的组合,例如,使用特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)),其中软件被处理器502从存储介质(例如I/O设备506)加载到通用计算设备500的内存504中并操作。因此,在一个实施例中,用于在存在这里参考先前附图所述的耦合事件和过程变异的情况下进行静态时序分析的时序分析模块505可以被存储在计算机可读介质或载体上(例如,RAM,磁或光学的驱动器或盘等等)。

因此,本发明提供了设计自动化领域中的一个显著进步。本发明的实施例使得能够在存在耦合事件和过程变异二者时执行集成电路设计的静态时序分析。与传统的静态时序分析方法相比,静态时序分析的精确性因此被提高,并且减小了悲观性。

虽然上述内容是针对本发明的优选实施例的,但是可以想到本发明的其他或进一步的实施例,而不背离本发明的基本范围,本发明的范围由随后的权利要求书确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号