CN101877017A - 使用快速估计技术的有效的采用穷尽法的基于路径的sta - Google Patents

使用快速估计技术的有效的采用穷尽法的基于路径的sta Download PDF

Info

Publication number
CN101877017A
CN101877017A CN2009102113022A CN200910211302A CN101877017A CN 101877017 A CN101877017 A CN 101877017A CN 2009102113022 A CN2009102113022 A CN 2009102113022A CN 200910211302 A CN200910211302 A CN 200910211302A CN 101877017 A CN101877017 A CN 101877017A
Authority
CN
China
Prior art keywords
path
delay
section
sta
gap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009102113022A
Other languages
English (en)
Other versions
CN101877017B (zh
Inventor
C·索维亚尼
R·赫莱赫尔
K·拉玛特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synopsys Inc filed Critical Synopsys Inc
Publication of CN101877017A publication Critical patent/CN101877017A/zh
Application granted granted Critical
Publication of CN101877017B publication Critical patent/CN101877017B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及使用快速估计技术的有效的基于穷尽路径的静态时序分析。本发明的一个实施例提供了一种系统,该系统在电路设计中执行有效的基于路径的静态时序分析(STA)。在操作期间,系统识别电路设计内的一组路径,其中每条路径包括一个或多个段。对于一组路径中的一条路径,系统确定该路径中的至少一段是否与先前通过执行基于路径的STA而计算过的不同路径共享,其中该不同路径中的至少一段与先前计算出的基于路径的时序信息相关联。如果共享,则系统至少基于与该不同路径的共享段相关联的基于路径的时序信息,执行对该路径的基于路径的延迟的估计。否则,系统通过对路径执行基于路径的STA,计算路径的基于路径的延迟。

Description

使用快速估计技术的有效的采用穷尽法的基于路径的STA
技术领域
本发明通常涉及用于对集成电路(IC)芯片执行静态时序分析(STA)的技术。更为具体地,本发明涉及用于通过使用快速路径延迟估计来执行有效的基于穷尽路径的STA的方法和装置。
背景技术
计算机技术的快速发展使得可以对数据集执行每秒数千吉次计算操作,数据集的大小有时为数千吉比特。这些发展可以主要归因于集成电路的尺寸和复杂度方面的指数增长。
由于集成电路的尺寸和复杂度方面的增长,变得需要使用复杂的工具来验证时序约束。
在出现静态时序分析(STA)之前,时序约束通常通过使用基于模拟的技术来验证。随着集成电路的复杂度增加,因为基于模拟的技术的长运行期、低容量和非完整分析,使用基于模拟的技术来验证时序约束变得不可实现。
与基于模拟的技术不同,STA通过计算最差情形延迟和最好情形延迟来验证时序,而不列举所有可能的路径。因此,STA可以在合理的时间量内对大的集成电路执行详尽的时序分析。结果是,STA已经作为用于对大的集成电路验证时序约束的选择方法出现。
在集成电路(IC)设计的STA阶段期间,通常使用基于图表的STA和基于路径的分析两者。基于图表的STA是非常快的(O(N);N是设计中的单元的数目),但是结果通常不好。基于路径的STA通常被使用来提供不像基于图表的STA那么差(以及更为准确)的对时序间隙(slack)(或多个间隙)的估计。更为具体地,通常在基于图表的分析之后,执行基于路径的分析,其通过以下来实现:对基于图表的分析的结果进行排序,从最保守的端点开始,并针对终止于该端点的每条路径重新计算到该端点的间隙。因为基于路径的间隙在时序图中的每个交合点处不像基于图表的分析要求的那样使用最差偏移(slew),而是每个端点的相对改进可以改变,所以基于路径的间隙通常不是很保守。
不利地,基于路径的STA是计算密集型过程,该过程要求跟踪设计内的每条可能的路径。尽管基于路径的STA是准确的,但是执行基于路径的STA所要求的计算量随着单元的数目而指数增加。
因此,需要一种可以减少与基于穷尽路径的STA相关联的运行时间的方法和装置。
发明内容
本发明的一个实施例提供了一种系统,该系统在电路设计中执行有效的基于路径的静态时序分析(STA)。在操作期间,系统识别电路设计内的一组路径,其中每条路径包括一个或多个段。对于一组路径中的一条路径,系统确定该路径中的至少一段是否与先前通过执行基于路径的STA而计算出的不同路径共享,其中不同路径中的至少一段与先前计算出的基于路径的时序信息相关联。如果共享,则系统至少基于与不同路径中的共享段相关联的基于路径的时序信息,执行对路径的基于路径的延迟的估计。否则,系统通过对路径执行基于路径的STA,计算路径的基于路径的延迟。
在一些实施例中,在执行估计后,系统通过首先确定所估计出的基于路径的延迟是否大于阈值延迟,确定与路径相关联的基于路径的延迟是否是组路径中的最差情况的基于路径的延迟。如果是,则系统通过对路径执行基于路径的STA,计算路径的基于路径的延迟。否则,系统确定基于路径的延迟不是一组路径中的最差情况的基于路径的延迟。注意,确定是基于所估计出的基于路径的延迟进行的,而不会针对路径延迟实际计算基于路径的延迟,从而减少计算时间。
在一些实施例中,系统尝试识别组路径中的最差情况的基于路径的延迟和最差情况的基于路径的间隙。
在一些实施例中,在执行估计后,系统通过首先确定所估计出的基于路径的延迟是否小于阈值延迟,确定与路径相关联的基于路径的延迟是否是一组路径中的最好情况的基于路径的延迟。如果是,则系统通过对路径执行基于路径的STA,计算路径的基于路径的延迟。否则,系统确定基于路径的延迟不是组路径中的最好情况的基于路径的延迟。注意,确定是基于所估计出的基于路径的延迟进行的,而不会针对路径延迟实际计算基于路径的延迟,从而减少计算时间。
在一些实施例中,系统尝试识别该组路径中的最好的基于路径的延迟和最好的基于路径的间隙。
在一些实施例中,该组路径终止于电路设计中的共同端点。
在一些实施例中,基于路径的时序信息包括基于路径的延迟和基于路径的偏移。
在一些实施例中,系统通过基于与不同路径中的相同段相关联的基于路径的延迟和基于路径的偏移来估计路径中的段的基于路径的延迟,执行对路径的基于路径的延迟的估计。
在一些实施例中,路径中的每个段与基于图表的延迟和基于图表的偏移相关联,基于图表的延迟和基于图表的偏移是根据基于图表的STA针对路径先前计算出的。注意,基于图表的延迟和基于图表的偏移提供对与路径相关联的基于路径的延迟和基于路径的偏移的最差情况的估计。
在一些实施例中,系统通过基于与段相关联的基于图表的偏移来估计路径中的段的基于路径的延迟,执行对路径的基于路径的延迟的估计。
在一些实施例中,系统通过进行对路径中的每个段的估计,执行对路径的基于路径的延迟的估计。更具体地,对于每个段,系统确定段是否与先前根据基于路径的STA计算出的另一路径共享,其中另一路径中的段与先前计算出的基于路径的时序信息相关联。如果共享,则系统基于与另一路径中的共享的段相关联的基于路径的时序信息,执行对该段的基于路径的延迟的估计。否则,系统使用与段相关联的基于图表的延迟,作为该段的所估计出的基于路径的延迟。最后,系统对路径中的所有段的所估计出的基于路径的延迟进行求和,以获得路径的所估计出的基于路径的延迟。
在一些实施例中,该组路径终止于电路设计中的多个端点。
附图说明
图1例示了根据本发明的实施例的集成电路的设计和制造的各个步骤;
图2示出了例示在集成电路的设计和实现期间如何使用STA的流程图;
图3示出了例示对IC设计执行传统的基于穷尽路径的STA的过程的流程图;
图4例示了对示例端点执行穷尽PBA间隙计算;
图5示出了例示根据本发明的实施例的使用快速估计来对新的路径执行改进的基于路径的STA的过程的流程图;
图6例示了根据本发明的实施例的具有共享共同段的两条路径的电路示意图;
图7示出了例示根据本发明的实施例的对IC设计执行改进的基于穷尽路径的STA的过程的流程图;
图8例示了根据本发明的实施例的对图4中的示例端点执行改进的穷尽PBA间隙计算;
图9例示了根据本发明的实施例的用于在IC设计中执行有效的基于路径的STA的装置。
具体实施方式
下述描述被呈现来使得本领域的技术人员能够实现和使用实施例,并且下述描述是在具体应用及其要求的上下文中提供的。对所公开的实施例的各种修改对于本领域技术人员而言是非常显而易见的,并且这里所定义的一般性原理可以应用于其它实施例或应用,而不会背离本公开的精神和范围。因此,本发明不限于所示出的实施例,而是与符合本文在此公开的原理和特征的最广范围相一致。
在该具体实施方式中所描述的数据结构和代码通常存储在计算机可读存储介质上,计算机可读存储介质可以是可以存储可供计算机系统使用的代码和/或数据的任何设备或介质。计算机可读存储介质包括但不限于,易失性存储器、非易失性存储器、磁性或光学存储设备(比如盘驱动器、磁带、CD(压缩盘)、DVD(数字通用盘或数字视频盘))、或者现在公知或稍后开发的能够存储计算机可读介质的其他介质。
在该具体实施方式中描述的方法和过程可以被具体体现为代码和/或数据,代码和/或数据可以存储在如上的计算机可读存储介质中。当计算机系统读取和执行在计算机可读存储介质上存储的代码和/或数据时,计算机系统执行被具体体现为在计算机可读存储介质中存储的代码和/或数据结构的方法和过程。
此外,本文所描述的方法和过程可以包括在硬件模块或装置中。这些模块或装置可以包括但不限于,专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、在特定时间执行特定软件模块或代码的专用或共享处理器、和/或现在公知或稍后开发的其它可编程逻辑器件。当硬件模块或装置被激活时,硬件模块或装置执行在它们中包括的方法和过程。
集成电路设计流程
图1例示了集成电路的设计和制造的各种步骤。过程开始于生成产品构想(阶段100),其使用电子设计自动化(EDA)软件设计过程实现(阶段110)。当设计完成时,可以进行流片(阶段140)。在流片后,完成制造过程(阶段150),并进行封装和组装过程(阶段160),封装和组装过程最终导致完成的芯片(阶段170)。
接着,EDA软件设计过程(阶段110)包括阶段112-130,如下所述。注意,这个设计流程描述仅仅是示例性的。这种描述不意味着限制本发明。例如,实际的集成电路设计可以要求设计者按照与本文所描述的顺序不同的顺序来执行设计阶段。下述讨论提供了设计过程中的阶段的进一步的细节。
系统设计(阶段112):设计者描述要实现的功能。他们还可以执行假设(what-if)规划来微调(refine)功能以及检查成本。在该阶段可以出现硬件-软件架构划分。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括MODEL
Figure B2009102113022D0000061
Figure B2009102113022D0000062
SYSTEM
Figure B2009102113022D0000063
Figure B2009102113022D0000064
产品。
逻辑设计和功能验证(阶段114):在此阶段,编写用于系统中的模块的VHDL或Verilog代码,并且检查设计的功能准确性。更为具体地,对设计进行检查,以确保它产生正确的输出。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括
Figure B2009102113022D0000065
Figure B2009102113022D0000066
Figure B2009102113022D0000067
产品。
综合和设计(阶段116):这里,VHDL/Verilog被转换为网表。可以针对目标技术来对网表进行优化。另外,可以设计和实现测试来检查所完成的芯片。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括DESIGN
Figure B2009102113022D0000068
PHYSICAL
Figure B2009102113022D0000069
TEST
Figure B2009102113022D00000610
POWER
Figure B2009102113022D00000611
FPGA
Figure B2009102113022D00000612
Figure B2009102113022D00000613
Figure B2009102113022D00000614
产品。
网表验证(阶段118):在这个阶段,检查网表是否符合时序约束以及是否与VHDL/Verilog源代码对应。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括
Figure B2009102113022D00000616
Figure B2009102113022D00000617
产品。
设计规划(阶段120):这里,针对时序和顶层布线来构建和分析芯片的整体布局(floor plan)。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括和IC产品。
物理实现(阶段122):放置(电路元件的定位)和布线(电路元件的连接)在这个阶段出现。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括
Figure B2009102113022D0000073
Figure B2009102113022D0000074
产品。
分析和提取(阶段124):在这个阶段,在晶体管级上验证电路功能;这继而允许what-if微调。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括
Figure B2009102113022D0000075
Figure B2009102113022D0000076
Figure B2009102113022D0000077
产品。
时序验证(阶段125):静态时序分析(STA)通常在该阶段发生,其中,检查网表是否符合时序约束以及是否与VHDL/Verilog源代码对应。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括
Figure B2009102113022D0000078
产品。
物理验证(阶段126):在这个阶段,对设计进行检查,以确保制造、电气问题、光刻问题和电路的正确性。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括
Figure B2009102113022D0000079
产品。
分辨率(resolution)增强(阶段128):这个阶段包括对布局的几何处理,以改进设计的可制造性。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括
Figure B2009102113022D00000710
Figure B2009102113022D00000711
AF和
Figure B2009102113022D00000712
产品。
掩膜数据制备(阶段130):这个阶段提供制造掩膜的流片数据,以产生完成的芯片。在该阶段可以使用的来自SYNOPSYS公司的示例EDA软件产品包括产品系列。
可以在一个或多个上述步骤期间使用本发明的实施例。具体地,可以在时序验证阶段125期间使用本发明的一个实施例。
静态时序分析(STA)
图2示出了例示在设计和实现集成电路期间通常如何使用STA的流程图。
首先,设计集成电路(步骤202)。接着,提取寄生效应(prarasitics)(步骤204)。随后,执行静态时序分析(步骤206)。如果发现时序冲突(步骤208),则过程返回到电路设计步骤202,从而对电路进行调整(tweak)以解决时序冲突。另一方面,如果没有发现时序冲突,则过程继续制造过程中的下一步骤。
基于穷尽路径的分析
图3示出了例示对IC设计执行传统的基于穷尽路径的STA的过程的流程图。这个过程在一组路径中搜索具有最差的重计算出的基于路径的间隙的路径。
在执行基于路径的STA之前,假设已经对IC设计执行了基于图表的STA。结果是,每个时序端点(下文中称为“端点”),例如,触发器(翻转),与被称为“基于图表的STA间隙”或“GBA间隙”的间隙相关联。注意,给定端点的GBA间隙是通过首先计算终止于端点的一组路径的GBA间隙,随后选择针对该组路径的一组GBA间隙中的最差GBA间隙来获得的。在下述讨论中,将对给定端点执行基于路径的STA的过程称为“重计算”,因为它发生在已经执行基于图表的STA之后。
为了执行基于穷尽路径的STA,系统通常开始于基于相关的GBA间隙来对IC设计中的一组端点区分优先级(步骤302)。系统随后选择还未被重计算的具有最差的GBA间隙的端点(或“最差GBA端点”)(步骤304)。接着,系统基于与终止于该端点的一组路径相关的GBA间隙,按照间隙值递增的顺序对该组路径进行排序,即,较差的间隙接收较高的优先级(步骤306)。
更为具体地,针对按照GBA间隙排序的一组路径中的每条路径,系统确定GBA间隙是否大于阈值间隙(步骤308)。该阈值间隙保持当前的最差的重计算出的PBA间隙,随着处理更多的路径,当前的最差的重计算出的PBA间隙被迭代地更新。通常,阈值间隙具有足够大的初始值,其可以被容易地替换为重计算出的PBA间隙。
如果当前处理的路径的GBA间隙大于阈值间隙,则已经找到最差的重计算出的PBA间隙,其等于阈值间隙(步骤310),并且过程终止。注意,这很少是第一路径正被处理的情形(即,该路径具有最差GBA间隙)。
然而,如果该当前处理的路径的GBA间隙小于阈值间隙,则系统对该路径执行基于路径的STA,以获得重计算出的PBA间隙(步骤312)。注意,所重计算出的PBA间隙通常大于该同一路径的GBA间隙。系统随后确定所重计算出的PBA间隙是否小于当前的阈值间隙(步骤314)。如果是,则找到最差PBA间隙的新值,并且系统利用新近重计算出的PBA间隙来替换阈值间隙(步骤316)。系统随后继续按照优先级顺序处理一组路径中的下一路径,直到找到该组路径中的最差的重计算出的PBA间隙。
如果步骤314为假,即,所重计算出的PBA间隙大于阈值间隙,则系统返回来按照优先级顺序处理一组路径中的下一路径。随后,重复上述过程,直到找到最差的重计算出的PBA间隙。
通过对按优先级排列的端点应用图3中描述的穷尽PBA间隙计算,针对与最差GBA间隙相关联的那些端点,系统可以识别最差的重计算出的PBA间隙。
应该指出的是,这种穷尽PBA间隙计算过程不必处理终止于所选择的端点的一组路径中的每条路径。图4例示了对示例端点400执行穷尽PBA间隙计算。
更为具体地,图4以图形的方式例示了针对终止于端点400的一组路径重计算间隙的过程。如图4中所示,以如果轴410上的每个GBA间隙值和轴420上的PBA间隙值具有相同的水平位置,则轴410上的每个GBA间隙值等于轴420上的PBA间隙值的方式,绘制GBA间隙轴410和PBA间隙轴420。
注意,与相应的GBA间隙401A-409A(9个圆圈)相关联的9条路径按照GBA间隙递增的顺序排列在GBA间隙轴410上,其中路径的最差GBA间隙401A位于轴410的最左端。在穷尽PBA间隙计算过程期间,根据图3中描述的技术来从与间隙401A(浅阴影圆圈)相关联的路径开始顺序地处理这一组路径。这生成了PBA间隙轴420上的重计算出的PBA间隙401B(深阴影圆圈),其大于GBA间隙,这是期望的,因为GBA间隙更为不好。注意,PBA间隙401B随后变为最差的重计算出的PBA间隙(当没有其它值可用时)。接着,对与GBA间隙402A相关联的路径进行重计算,并且获得PBA轴420上的PBA间隙402B。因为PBA间隙402B小于GBA间隙401B,所以间隙402B替换401B,作为新的最差PBA间隙。
类似地,分别对与GBA间隙403A、404A和405A(所有都为浅阴影圆圈)相关联的路径进行重计算,以获得PBA轴420上的PBA间隙403B、404B和405B(所有都为深阴影圆圈)。注意,GBA间隙403A-405A中的每个都小于最差PBA间隙402B。此外,对应的GBA间隙403B-405B中的每个都大于最差PBA间隙402B。因此,在重计算PBA间隙405B后,PBA间隙402B保持为最差PBA间隙。
接着,处理与GBA间隙406A(空心圆圈)相关联的新路径。首先,将GBA间隙406A与最差PBA间隙402B进行比较。因为GBA间隙406A大于最差PBA间隙402B,所以GBA间隙轴410上的GBA间隙的增加值确保与GBA间隙406A-409A(所有为空心圆圈)相关联的路径不会产生比当前的最差PBA间隙402B更小的PBA间隙值。因此,不会对这些新的路径进行重计算,从而节省计算资源,并且基于路径的STA报告端点400的最差PBA间隙。
注意,尽管在图4中不是对所有路径进行重计算,但是对与GBA间隙403A-405A相关联的那些路径全部进行重计算,从而所重计算出的PBA间隙不会影响搜索针对端点400的最差PBA间隙的结果。
使用快速估计的改进的基于路径的STA
本发明的实施例提供了改进的基于路径的STA技术,该技术可以大大减少使用基于路径的STA必须重计算的路径的数目。更为具体地,如果新的路径或者该新的路径的一部分(例如,一段)与一个或多个先前重计算过的路径重叠,则不必从头开始对新路径进行重计算。取而代之,可以使用与已经重计算过的路径相关联的基于路径的时序信息,来快速地估计还未被分析的新路径的路径延迟。
例如,如果被完全重计算的前M个路径是离散的(即,没有共同段),而接下来的N个新路径与前M个路径中的一些路径共享一些段,则可以尝试估计在这些新路径中的基于路径的分析相对于基于图表的分析的改进,而不需要重计算所有N个新路径。
注意,在重用已经重计算过的路径来估计新路径的PBA延迟的一般性概念下,可以使用不同的估计技术。一种估计技术将诸如来自基于路径的STA的PBA延迟和PBA偏移(slew)的时序信息与已经根据基于图标的STA获得的最差偏移组合,以生成对新路径的路径延迟的充分准确的估计。这种估计通常远快于完全的基于路径的STA计算。
注意,执行这种快速估计的一个目标是在基于穷尽路径的STA期间尽可能多地删减(prune)路径。例如,当搜索一个端点的最差PBA间隙时,可以对新路径进行快速估计,其中估计可以与当前的最差PBA延迟/间隙进行比较。如果所估计的延迟/间隙好于当前的最差PBA延迟/间隙,则从下一步的考虑中删减该新路径。因此,本技术避免对新路径重计算PBA延迟/间隙。注意,在本实施例中,该估计为新路径提供了时序界限。这种估计技术将在下面进行更为详细的描述。
估计技术的质量通常影响相对于传统的基于路径的STA的运行时间改进量。如果估计技术的质量低(即,如果估计准则是较保守的),则删减的路径可能较少,而必须重计算许多路径。相反,如果估计技术的质量高(即,如果估计准则不那么保守),则可以删减大多数路径,而重计算较少的路径。在一个实施例中,估计技术被设计为使得它可以产生与完全重计算出的结果基本上相同的结果,或者产生与完全重计算出的结果相比要差但同时尽可能接近完全重计算出的结果的结果。这种估计技术提供更好的运行时间改进。在一个实施例中,正确设计的估计技术产生比基于图表的STA结果好、但是与完全重计算出的基于路径的STA结果相比不是最佳的结果。
图5示出了例示根据本发明的实施例的使用快速估计来对新路径执行改进的基于路径的STA的过程的流程图。
在操作期间,系统接收新路径,该新路径包括一组互相链接的段(步骤502)。注意,已经先利用基于图表的STA针对每条路径计算了GBA延迟/间隙。因此,新路径中的每个段与一个GBA延迟相关联,该GBA延迟可以用作最差情况的延迟估计。针对一组段的所有GBA延迟的总和等于针对新路径的GBA延迟。这个GBA延迟随后可以被转换为同一路径的GBA间隙。注意,每个段还可以与共同的如基于图表的STA所要求的最差偏移相关联。
接着,对于一组段中的每个段,系统确定新路径是否与先前根据基于图表的STA重计算过的至少一个不同的路径共享(例如,重叠)段(步骤504)。
图6例示了根据本发明的实施例的具有共享共同段606的两条路径(即,路径602和604)的电路示意图。更为具体地,路径602包括至少三个缓存器、一个锁存器和两个AND门608和610。路径601包括一个锁存器以及AND门608和610。此外,路径602和604在段606上重叠,该段606包括AND门608和610。
在本发明的一个实施例中,每个段被定义为4个管脚的序列,例如,图6中的A-X-M-Y。注意,路径602和604两者通过管脚A-X-M-Y。此外,每个段还包括两个字段:关键字字段和数据字段。关键字字段被用来验证新路径是否匹配给定段。该字段还包含4个管脚、4个上升/下降方向和单元弧数目,例如,从弧AX到MY的数目。在本实施例中,对于一条路径中的一段匹配(或共享)另一路径中的一段,上述两段必须具有相同的4个管脚的序列,以及在所有匹配管脚上具有相同的上升/下降方向。
数据字段包含基于GBA的延迟及偏移和基于PBA的延迟及偏移的数据结构。段的数据字段可以包含估计共享同一段的新路径的PBA延迟所需要的延迟及偏移。数据字段还可以存储一些统计值(例如,年龄、访问的数目等)。注意,本发明通常可以应用于任何类型的段结构。因此,本发明不限于如上所述和图6中所例示的具体段结构。
在一些实施例中,在高速缓存中存储这些段。利用每个段的关键字对该高速缓存进行索引。存储这些段的主数据结构可以只是表格也可以是更高级的数据结构,以便于快速地查找和更新。每个段还可以与一个得分相关联。在一个实施例中,该得分可以是PBA延迟相对于GBA延迟的改进,其可以由基于路径的STA保证。利用该得分,如果必须添加新路径且同时高速缓存是满的,则系统可以从高速缓存中移除具有最低得分的段。
参见图5,如果步骤504为真,则系统尝试使用所存储的与先前重计算过的路径中的段相关联的GBA延迟及偏移和PBA延迟及偏移,来估计新路径中的共享段的PBA延迟(步骤506)。注意,在步骤506期间可以出现若干种变型。理想地,如果可以从先前重计算的路径取回延迟和偏移,则延迟和偏移随后可以被用来执行对新路径的估计。然而,在一些实施例中,对于先前重计算过的路径,延迟和偏移是不可获得的。这可以发生在存在多个合格的路径并且在步骤504中识别,并且仅仅与最佳值(例如,最小延迟)相关联的路径具有所存储的延迟和间隙时。在这种情形下,系统需要在合格的路径中定位包含上述值的路径。然而,如果多个合格的路径都具有存储的延迟和偏移,则系统可以选择与最佳值(例如,最小延迟)相关联的路径来估计新路径中的共享段的延迟。注意,这些多个合格的路径可以终止于同一端点或者终止于不同的端点。
如果步骤504的结果为假,即,没有找到与该段匹配的路径,则系统使用原始的GBA延迟作为该段的PBA延迟估计(步骤508)。注意,重用GBA延迟不会对该段产生改进。
接着,系统返回来处理还未被估计的新路径中的下一段,并且随后重复步骤504-508。这个过程继续,直到新路径中的所有段已经被估计为止。此时,系统将对新路径中的所有段的所估计的PBA延迟进行求和,以获得新路径的估计的PBA延迟(步骤510)。理想地,与原始的GBA延迟/间隙相比,由于先前重计算过的PBA值的影响,该估计的PBA延迟以及随后所估计的PBA间隙在准确性上获得相当大的改进并且不那么保守。如果是这样,则已经以非常快的方式获得所估计的PBA延迟/间隙。在一个实施例中,随后可以使用完全路径估计来决定是否从相关联的基于路径的STA中删减新路径而不需要进行重计算,或者决定新路径必须被重计算。如下结合图7和8来更为详细地描述该过程。
在整个新路径与其它路径之间没有重叠段的最差情况方案中,所估计的PBA延迟变为原始GBA延迟值,并且没有做出改进。这种情形通常在IC设计中的开始的非常少量的路径被处理时出现。如同如下在图7中所述,这些路径通常必须使用基于路径的STA并为将来的路径设置值来进行重计算。随着越来越多的延迟和偏移被重计算,重叠段的数目增加并且可以对基于路径的STA进行更多的估计。在一些实施例中,在正在处理第二路径时重叠出现并且尽可能早地应用估计技术。
注意,使用快速估计的一个目标是对新路径提供与GBA延迟相比更为准确和更少不好的PBA延迟。现在描述估计技术。
在本发明的一个实施例中,新路径中的一个段的PBA延迟的估计是基于先前针对不同路径中的同一个段计算的PBA延迟和PBA偏移进行的。理想地,可以通过直接将重计算的PBA延迟重用作新路径中的PBA延迟的估计来进行估计。然而,这通常是不正确的,因为对于给定段,段的输入管脚上的不同偏移产生段的不同PBA延迟,其中大的输入偏移导致更大的PBA延迟。因为与新路径相关联的偏移是未知的,所以新路径中的一个段的PBA延迟是大于还是小于不同路径中的同一个段的重计算的PBA延迟,不是马上就清楚的。
本发明的一些实施例考虑了如下事实:使用时序图中的每个节点上的最差偏移(即,最大偏移值)来计算GBA延迟。还要注意的是,PBA延迟随输入偏移的变化是由电路的电特性绑定确定的。基于这些考虑,可以设计一个公式,该公式提供随着输入偏移增加PBA延迟降级的上限。
例如,一个公式使用下述表达式来估计新路径中的共享段的PBA延迟的上限。
D″≤D′+F(S-S′),
其中S是段上的GBA偏移,D′/S′是已经重计算的路径中的该段的PBA延迟/偏移,以及D″是新路径中的该段的PBA延迟。此外,F()是两个偏移S和S′之差的非负函数。在一个实施例中,F(S-S′)=α×(S-S′),其中α>0是偏移-延迟系数。注意,上述表达式提供了基于先前计算出的段的PBA延迟和PBA偏移两者对新路径的最差可能的延迟降级的估计。注意,新路径的偏移不是利用估计技术来估计的。
图7示出了例示根据本发明的实施例的对IC设计执行改进的基于穷尽路径的STA的过程的流程图。类似于图3中所示出的传统过程,该过程在终止于给定端点的一组路径中搜索具有最差的重计算的PBA间隙的路径。
系统通常开始于基于相关联的GBA间隙来对IC设计中的一组端点按优先级进行排列(图7中未示出)。系统随后选择还未被重计算的具有最差的GBA间隙的端点(或“最差GBA端点)(步骤702)。接着,系统基于终止于该端点的一组路径的相关联的GBA间隙,按照间隙值递增的顺序,对终止于该端点的这一组路径进行排序,即,较差的间隙接收较高的优先级(步骤704)。
接着,对于按照GBA间隙顺序的一组路径中的每条路径,系统确定GBA间隙是否大于阈值间隙(步骤706)。注意,该阈值间隙保持当前的最差的重计算出的PBA间隙,随着处理更多的路径,当前的最差的重计算出的PBA间隙被迭代地更新。通常,阈值间隙具有足够大的初始值,其可以被容易地替换为重计算出的PBA间隙。
如果该当前处理的路径的GBA间隙大于阈值间隙,则已经找到最差的重计算出的PBA间隙,其等于阈值间隙(步骤708),并且过程终止。注意,这很对于正在被处理的第一路径是很少见的情形(即,具有最差GBA间隙的路径)。
然而,如果该当前处理的路径的GBA间隙小于阈值间隙,则系统随后确定路径是否具有已经在共享同一段的不同路径中使用基于路径的STA重计算的至少一段(步骤710)。注意,该不同路径可以是IC设计中的任何路径,并且因此不限于正在处理的该组路径中的路径。
如果步骤710为真,则系统例如使用结合图5描述的估计过程来快速地估计路径的PBA间隙(步骤712)。系统随后确定所估计出的PBA间隙是否小于当前的阈值间隙(步骤714)。如果是,则系统确定当前路径不与最差PBA间隙相关联,并且因此该路径可以被删减。因此,系统不对该路径上的PBA间隙进行重计算,并且节省计算资源。系统随后返回来按照优先级顺序处理该组路径中的下一路径。注意,该比较是安全的,因为所估计的PBA间隙是与该路径相关联的实际PBA间隙的下限(即,更保守的值)。换言之,如果步骤710为真,则如果所估计的PBA间隙被替换为实际的PBA间隙,则步骤710也为真。
然而,如果步骤710或步骤714的确定结果为假,即,路径不具有先前重计算的段或所估计的PBA间隙小于阈值间隙,则系统随后对路径执行基于路径的STA,以获得所重计算出的PBA间隙(步骤716)。系统随后确定所重计算出的PBA间隙是否大于当前的阈值间隙(步骤718)。如果是,则系统确定当前路径与最差PBA间隙不相关联,并且返回来按照优先级顺序处理该一组路径中的下一路径。
否则,找到新的最差PBA间隙,并且系统利用所重计算出的PBA间隙来替换阈值间隙(步骤720)。接着,系统继续处理按照优先级顺序的一组路径中的下一路径,直到找到最差的重计算出的PBA间隙。最后,系统输出最差的重计算出的PBA间隙(步骤722)。该过程相对于图3中的传统过程的一个重大的改进在于,在该过程中,实际对非常少的路径进行重计算。
图8例示了根据本发明的实施例的对图4中的示例端点执行改进的穷尽PBA间隙计算。
在改进的穷尽PBA间隙计算过程期间,根据图7中描述的技术来顺序地处理与GBA延迟401A-409A相关联的组路径,其中开始于与间隙401A(浅阴影圆圈)相关联的路径。为了简单,利用路径的GBA延迟值来指代该路径。当在不使用估计的情况下对与GBA延迟401A和402A相关联的路径进行重计算后,间隙402B(深阴影圆圈)被识别为最差PBA间隙。
接着,处理路径403A。在该实例中,路径403A与先前重计算的路径之间具有重叠段,先前重计算的路径包括但不限于路径401A和402A(即,包括终止于其它端点的路径)。因此,对路径403A进行估计,以及所估计出的PBA间隙在PBA间隙轴上被示出为403B’,其是实际PBA间隙403B的估计。随后除去路径403A,因为403B’大于402B。类似地,还对路径404A和405A进行估计,并随后除去路径404A和405A。注意,在图8中,所估计的路径403A-405A由具有交叉形状的阴影圆圈表示,从而将路径403A-405A与所重计算的路径401A和402A区分开。类似于图4,不对路径406A-409A进行重计算或估计。
与图4中描述的过程相对照,在图8中对仅仅两条路径进行重计算,与之前相比减少了三条路径。然而,改进的过程产生与传统过程相同的最还PBA间隙402B。
注意,尽管在对最差情况的PBA延迟和间隙的穷尽搜索的上下文中描述本估计技术,但是本估计技术还可以用于执行对最好情况的PBA延迟和间隙的穷尽搜索。为了如此完成,对在图7中所描述的过程进行修改,以便阈值间隙现在表示最好的重计算的PBA间隙,并且步骤706、714和718中的条件完全保留。此外,用于关于段的延迟的新估计技术需要提供用于实际PBA延迟的下限来取代上限。通常,本估计技术可以应用于任何基于路径的STA过程。
在一些实施例中,可以通过增加并行性,比如通过使用多线程或其它并行技术,进一步改进本技术的效率。通过同时地处理IC设计中的更多的路径和更多的端点,当正在分析新路径时,更多的先前重计算出的时序信息变得可用。
图9例示了根据本发明的实施例的用于在IC设计中执行有效的基于路径的STA的装置。
装置902可以包括经由有线或无线通信信道彼此通信的机构。具体地,装置902可以包括识别机构904、确定机构906、估计机构908和计算机构910。上述机构中的每个机构可以使用一个或多个集成电路实现,或者被实现为通用处理器的模块。装置902可以是计算机系统的部件。
在一些实施例中,识别机构904可以被配置为识别IC设计内的一组路径,其中每条路径包括一个或多个段;确定机构906可以被配置为确定一组路径中的路径的至少一段与通过先前执行基于路径的STA而计算的不同路径共享,其中不同路径中的至少一段与先前计算的基于路径的时序信息相关联;估计机构908可以被配置为至少基于与不同路径中的共享段相关联的基于路径的时序信息,执行对该路径的基于路径的延迟的估计;以及计算机构910可以被配置为通过对路径执行基于路径的STA,计算路径的基于路径的延迟。
本发明的实施例的上述描述已经被呈现来仅仅用于例示和描述。描述不是意在排他性或者将本发明限制到所公开的形式。相应地,许多修改和变形对于本领域的技术人员而言是显而易见的。另外,上述公开不是意在限制本发明。本发明的范围由所附权利要求限定。

Claims (24)

1.一种用于在电路设计中执行有效的基于路径的静态时序分析(STA)的方法,所述方法包括:
识别所述电路设计内的一组路径,其中每条路径包括一个或多个段;
对于所述一组路径中的一条路径,
确定所述路径中的至少一段是否与先前通过执行基于路径的STA而计算过的不同路径共享,其中所述不同路径中的所述至少一段与先前计算出的基于路径的时序信息相关联;并且
如果是,则至少基于与所述不同路径中的共享段相关的基于路径的时序信息,执行对所述路径的基于路径的延迟的估计;
否则,通过对所述路径执行基于路径的STA,计算所述路径的基于路径的延迟,
其中所述方法通过重用与先前计算过的路径相关联的时序信息来快速地估计还未被分析的路径的基于路径的延迟,减少计算时间。
2.如权利要求1所述的方法,其中,在执行所述估计后,所述方法还包括通过执行下述来确定与所述路径相关联的基于路径的延迟是否是所述一组路径中的最差情况的基于路径的延迟:
确定所估计出的基于路径的延迟是否大于阈值延迟;并且
如果是,则通过对所述路径执行基于路径的STA来计算所述路径的基于路径的延迟;
否则,确定所述基于路径的延迟不是所述一组路径中的最差情况的基于路径的延迟,其中所述确定是基于所估计出的基于路径的延迟来进行的,而不实际计算所述路径延迟的基于路径的延迟,从而减少计算时间。
3.如权利要求2所述的方法,其中,所述方法被用来在所述一组路径中识别最差情况的基于路径的延迟和最差情况的基于路径的间隙。
4.如权利要求1所述的方法,其中,在执行所述估计后,所述方法还包括通过执行下述来确定与所述路径相关联的基于路径的延迟是否是所述一组路径中的最好情况的基于路径的延迟:
确定所估计出的基于路径的延迟是否小于阈值延迟;并且
如果是,则通过对所述路径执行基于路径的STA,计算所述路径的基于路径的延迟;
否则,确定所述基于路径的延迟不是所述一组路径中的最好情况的基于路径的延迟,其中所述确定是基于所估计出的基于路径的延迟来进行的,而不实际计算所述路径延迟的基于路径的延迟,从而减少计算时间。
5.如权利要求4所述的方法,其中,所述方法被用来在所述一组路径中识别最好情况的基于路径的延迟和最好情况的基于路径的间隙。
6.如权利要求1所述的方法,其中,所述一组路径终止于所述电路设计中的共同端点。
7.如权利要求1所述的方法,其中,所述基于路径的时序信息包括基于路径的延迟和基于路径的偏移。
8.如权利要求7所述的方法,其中,执行对所述路径的基于路径的延迟的估计包括:至少基于与所述不同路径中的同一段相关联的基于路径的延迟和基于路径的偏移,估计所述路径中的所述段的基于路径的延迟。
9.如权利要求8所述的方法,其中,所述路径中的每个段与基于图表的延迟和基于图标的偏移相关联,所述基于图表的延迟和基于图表的偏移是先前根据基于图表的STA而针对所述路径计算出的,其中所述基于图表的延迟和所述基于图表的偏移提供对与所述路径相关联的基于路径的延迟和基于路径的偏移的最差情况的估计。
10.如权利要求9所述的方法,其中,执行对所述路径的基于路径的延迟的估计包括:至少基于与所述段相关联的基于图表的偏移,对所述路径中的所述段的基于路径的延迟进行估计。
11.如权利要求10所述的方法,其中,执行对所述路径的基于路径的延迟的估计还包括:
对于所述路径中的每个段,
确定所述段是否与先前根据基于路径的STA而计算过的另一路径共享,其中所述另一路径中的所述段与先前计算出的基于路径的时序信息相关联;
如果是,则至少基于与所述另一路径中的共享段相关的基于路径的时序信息,执行对所述段的基于路径的延迟的估计;
否则,使用与所述段相关联的基于图表的延迟,作为所述段的估计出的基于路径的延迟;并且
对所述路径中的所有段的估计出的基于路径的延迟进行求和,以获得所述路径的所估计出的基于路径的延迟。
12.如权利要求1所述的方法,其中,所述一组路径终止于所述电路设计中的多个端点。
13.一种用于在电路设计中执行有效的基于路径的静态时序分析(STA)的设备,所述设备包括:
识别机构,配置为识别所述电路设计内的一组路径,其中每条路径包括一个或多个段;
确定机构,配置为确定所述一组路径中的一条路径的至少一段是否与先前通过执行基于路径的STA而计算过的不同路径共享,其中所述不同路径中的所述至少一段与先前计算出的基于路径的时序信息相关联;
估计机构,配置为用于至少基于与所述不同路径中的共享段相关的基于路径的时序信息,执行对针对所述路径的基于路径的延迟的估计;以及
计算机构,配置为通过对所述路径执行基于路径的STA,计算所述路径的基于路径的延迟,
其中所述设备通过重用与先前计算出的路径相关联的时序信息来快速地估计还未被分析的路径的基于路径的延迟,减少计算时间。
14.如权利要求13所述的设备,其中,所述设备还包括最差情况确定装置,用于在执行所述估计后确定与所述路径相关联的基于路径的延迟是否是所述一组路径中的最差情况的基于路径的延迟,所述最差情况确定装置包括:
用于确定所估计出的基于路径的延迟是否大于阈值延迟的装置;以及
用于在确定所估计出的基于路径的延迟大于阈值延迟时通过对所述路径执行基于路径的STA来计算所述路径的基于路径的延迟的装置;
用于在确定所估计出的基于路径的延迟不大于阈值延迟时确定所述基于路径的延迟不是所述一组路径中的最差情况的基于路径的延迟的装置,其中所述确定是基于所估计出的基于路径的延迟来进行的,而不实际计算所述路径延迟的基于路径的延迟,从而减少计算时间。
15.如权利要求14所述的设备,其中,所述设备还包括用于在所述一组路径中识别所述最差情况的基于路径的延迟和所述最差情况的基于路径的间隙的装置。
16.如权利要求13所述的设备,其中,所述设备还包括最好情况确定装置,用于在执行所述估计后确定与所述路径相关联的基于路径的延迟是否是所述一组路径中的最好情况的基于路径的延迟,所述最好情况确定装置包括:
用于确定所估计出的基于路径的延迟是否小于阈值延迟的装置;以及
用于当确定所估计出的基于路径的延迟小于阈值延迟时通过对所述路径执行基于路径的STA来计算所述路径的基于路径的延迟的装置;
用于当确定所估计出的基于路径的延迟不小于阈值延迟时确定所述基于路径的延迟不是所述一组路径中的最好情况的基于路径的延迟的装置,其中所述确定是基于所估计出的基于路径的延迟来进行的,而不实际计算所述路径延迟的基于路径的延迟,从而减少计算时间。
17.如权利要求16所述的设备,其中,所述设备还包括用于在所述一组路径中识别最好情况的基于路径的延迟和最好情况的基于路径的间隙的装置。
18.如权利要求13所述的设备,其中,所述一组路径终止于所述电路设计中的共同端点。
19.如权利要求13所述的设备,其中,所述基于路径的时序信息包括基于路径的延迟和基于路径的偏移。
20.如权利要求19所述的设备,其中所述估计机构包括:用于至少基于与所述不同路径中的同一段相关联的基于路径的延迟和基于路径的偏移来估计所述路径中的所述段的基于路径的延迟的装置。
21.如权利要求20所述的设备,其中,所述路径中的每个段与基于图表的延迟和基于图标的偏移相关联,所述基于图表的延迟和基于图表的偏移是先前根据基于图表的STA而针对所述路径计算出的,其中所述基于图表的延迟和所述基于图表的偏移提供对与所述路径相关联的基于路径的延迟和基于路径的偏移的最差情况的估计。
22.如权利要求21所述的设备,其中,所述估计机构包括:用于至少基于与所述段相关联的基于图表的偏移对所述路径中的所述段的基于路径的延迟进行估计的装置。
23.如权利要求22所述的设备,其中,所述估计机构还包括:
对于所述路径中的每个段,
用于确定所述段是否与先前根据基于路径的STA而计算过的另一路径共享的装置,其中所述另一路径中的所述段与先前计算出的基于路径的时序信息相关联;
用于当确定所述段与先前根据基于路径的STA而计算过的另一路径共享时至少基于与所述另一路径中的共享段相关的基于路径的时序信息,执行对所述段的基于路径的延迟的估计的装置;
用于当确定所述段与先前根据基于路径的STA而计算过的另一路径不共享时使用与所述段相关联的基于图表的延迟,作为所述段的估计出的基于路径的延迟的装置;以及
用于对所述路径中的所有段的估计出的基于路径的延迟进行求和,以获得所述路径的所估计出的基于路径的延迟的装置。
24.如权利要求13所述的设备,其中,所述一组路径终止于所述电路设计中的多个端点。
CN200910211302.2A 2009-04-30 2009-10-30 使用快速估计技术的有效的采用穷尽法的基于路径的sta Active CN101877017B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/433,203 US8079004B2 (en) 2009-04-30 2009-04-30 Efficient exhaustive path-based static timing analysis using a fast estimation technique
US12/433,203 2009-04-30

Publications (2)

Publication Number Publication Date
CN101877017A true CN101877017A (zh) 2010-11-03
CN101877017B CN101877017B (zh) 2014-06-18

Family

ID=43019572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910211302.2A Active CN101877017B (zh) 2009-04-30 2009-10-30 使用快速估计技术的有效的采用穷尽法的基于路径的sta

Country Status (4)

Country Link
US (1) US8079004B2 (zh)
CN (1) CN101877017B (zh)
TW (1) TWI512499B (zh)
WO (1) WO2010126687A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177145A (zh) * 2011-12-20 2013-06-26 国际商业机器公司 一种用于集成电路的多个时序模式合并的方法和系统
CN105701266A (zh) * 2014-11-28 2016-06-22 国际商业机器公司 用于电路设计中的静态时序分析的方法和系统
CN108470078A (zh) * 2017-02-23 2018-08-31 上海复旦微电子集团股份有限公司 一种基于查找表的fpga芯片逻辑单元时延建模方法和系统

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7900165B2 (en) * 2007-03-30 2011-03-01 Synopsys, Inc. Determining a design attribute by estimation and by calibration of estimated value
US8788995B1 (en) * 2013-03-15 2014-07-22 Cadence Design Systems, Inc. System and method for guiding remedial transformations of a circuit design defined by physical implementation data to reduce needed physical corrections for detected timing violations in the circuit design
US8839167B1 (en) 2013-04-02 2014-09-16 International Business Machines Corporation Reducing runtime and memory requirements of static timing analysis
US10354042B2 (en) * 2014-09-08 2019-07-16 Synopsys, Inc. Selectively reducing graph based analysis pessimism
US9798850B2 (en) 2016-01-05 2017-10-24 International Business Machines Corporation System and method for combined path tracing in static timing analysis
US9875333B1 (en) * 2016-01-19 2018-01-23 Cadence Design Systems, Inc. Comprehensive path based analysis process
US10002225B2 (en) * 2016-02-12 2018-06-19 Synopsys, Inc. Static timing analysis with improved accuracy and efficiency
US10289774B1 (en) * 2017-03-30 2019-05-14 Cadence Design Systems, Inc Systems and methods for reuse of delay calculation in static timing analysis
US10534878B1 (en) 2017-10-25 2020-01-14 Avatar Integrated Systems, Inc. Circuit place and route optimization based on path-based timing analysis
US10534883B1 (en) * 2017-10-25 2020-01-14 Avatar Integrated Systems, Inc. Local path-based analysis for circuit place and route optimization
US10671782B2 (en) 2018-10-29 2020-06-02 International Business Machines Corporation Architecture for ordered write of data collected in parallel
US10776547B1 (en) * 2019-10-14 2020-09-15 Cadence Design Systems, Inc. Infinite-depth path-based analysis of operational timing for circuit design

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192251A (zh) * 2006-12-01 2008-06-04 国际商业机器公司 用于静态时序中点对点延迟限制的有效分析的系统和方法
US7404163B2 (en) * 2006-03-24 2008-07-22 International Business Machines Corporation Static timing slacks analysis and modification

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636372A (en) * 1994-09-30 1997-06-03 International Business Machines Corporation Network timing analysis method which eliminates timing variations between signals traversing a common circuit path
US7155691B2 (en) * 2003-06-06 2006-12-26 Nascentric, Inc. Apparatus and methods for compiled static timing analysis
US7428716B2 (en) * 2003-09-19 2008-09-23 International Business Machines Corporation System and method for statistical timing analysis of digital circuits
US7134106B2 (en) * 2004-04-09 2006-11-07 Incentia Design Systems Corp. Method and system for providing fast design for testability prototyping in integrated circuit designs
US7278126B2 (en) 2004-05-28 2007-10-02 Qualcomm Incorporated Method and apparatus for fixing hold time violations in a circuit design
US7356793B2 (en) * 2004-07-12 2008-04-08 International Business Machines Corporation Genie: a method for classification and graphical display of negative slack timing test failures
TWI275931B (en) * 2005-04-21 2007-03-11 Faraday Technology Grop Method of build-in at-speed testing in a system-on-chip
US7979820B1 (en) * 2005-10-24 2011-07-12 Cadence Design Systems, Inc. Temporal replicant simulation
US7853911B1 (en) * 2005-11-04 2010-12-14 Altera Corporation Method and apparatus for performing path-level skew optimization and analysis for a logic design
US7546500B2 (en) * 2006-03-02 2009-06-09 Synopsys, Inc. Slack-based transition-fault testing
US7694254B2 (en) * 2007-01-03 2010-04-06 International Business Machines Corporation Method, computer program product, and apparatus for static timing with run-time reduction
US7784003B2 (en) 2007-02-26 2010-08-24 International Business Machines Corporation Estimation of process variation impact of slack in multi-corner path-based static timing analysis
US7620921B2 (en) * 2007-04-27 2009-11-17 International Business Machines Corporation IC chip at-functional-speed testing with process coverage evaluation
US8365115B2 (en) * 2009-03-06 2013-01-29 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for performance modeling of integrated circuits

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404163B2 (en) * 2006-03-24 2008-07-22 International Business Machines Corporation Static timing slacks analysis and modification
CN101192251A (zh) * 2006-12-01 2008-06-04 国际商业机器公司 用于静态时序中点对点延迟限制的有效分析的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林瑞清等: ""时序模型建立的静态时序分析技术"", 《微电子学与计算机》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177145A (zh) * 2011-12-20 2013-06-26 国际商业机器公司 一种用于集成电路的多个时序模式合并的方法和系统
CN103177145B (zh) * 2011-12-20 2016-03-30 国际商业机器公司 一种用于集成电路的多个时序模式合并的方法和系统
CN105701266A (zh) * 2014-11-28 2016-06-22 国际商业机器公司 用于电路设计中的静态时序分析的方法和系统
US10380285B2 (en) 2014-11-28 2019-08-13 International Business Machines Corporation Static timing analysis in circuit design
CN108470078A (zh) * 2017-02-23 2018-08-31 上海复旦微电子集团股份有限公司 一种基于查找表的fpga芯片逻辑单元时延建模方法和系统
CN108470078B (zh) * 2017-02-23 2021-12-03 上海复旦微电子集团股份有限公司 一种基于查找表的fpga芯片逻辑单元时延建模方法和系统

Also Published As

Publication number Publication date
US20100281445A1 (en) 2010-11-04
WO2010126687A2 (en) 2010-11-04
TW201104454A (en) 2011-02-01
WO2010126687A3 (en) 2011-01-13
TWI512499B (zh) 2015-12-11
CN101877017B (zh) 2014-06-18
US8079004B2 (en) 2011-12-13

Similar Documents

Publication Publication Date Title
CN101877017B (zh) 使用快速估计技术的有效的采用穷尽法的基于路径的sta
US6557145B2 (en) Method for design optimization using logical and physical information
US7467367B1 (en) Method and system for clock tree synthesis of an integrated circuit
US6286126B1 (en) Methods, apparatus and computer program products for performing post-layout verification of microelectronic circuits using best and worst case delay models for nets therein
US7962876B2 (en) Generation of engineering change order (ECO) constraints for use in selecting ECO repair techniques
US7356451B2 (en) Assertion handling for timing model extraction
US6334205B1 (en) Wavefront technology mapping
US6425110B1 (en) Incremental design tuning and decision mediator
US8261220B2 (en) Path preserving design partitioning with redundancy
US7707530B2 (en) Incremental timing-driven, physical-synthesis using discrete optimization
US6993470B2 (en) Method of evaluating test cases in a simulation environment by harvesting
US10372856B2 (en) Optimizing constraint solving by rewriting at least one bit-slice constraint
US8302044B2 (en) Abstraction-based livelock/deadlock checking for hardware verification
US8407021B2 (en) Delay analysis device, delay analysis method, and delay analysis program
US20110185334A1 (en) Zone-based leakage power optimization
US8549448B2 (en) Delay optimization during circuit design at layout level
US20170363683A1 (en) Portion isolation architecture for chip isolation test
US6046984A (en) Pruning of short paths in static timing verifier
US7958468B2 (en) Unidirectional relabeling for subcircuit recognition
US8776003B2 (en) System and method for employing side transition times from signoff-quality timing analysis information to reduce leakage power in an electronic circuit and an electronic design automation tool incorporating the same
US20110077893A1 (en) Delay Test Apparatus, Delay Test Method and Delay Test Program
US10318690B2 (en) Partitioning using a correlation meta-heuristic
US9330216B2 (en) Integrated circuit design synthesis using slack diagrams
US9772377B2 (en) Circuit division method for test pattern generation and circuit division device for test pattern generation
US6877141B2 (en) Evaluating a validation vector for validating a network design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant