CN102479277B - 在芯片设计中改善时序收敛的方法和系统 - Google Patents

在芯片设计中改善时序收敛的方法和系统 Download PDF

Info

Publication number
CN102479277B
CN102479277B CN201010577022.6A CN201010577022A CN102479277B CN 102479277 B CN102479277 B CN 102479277B CN 201010577022 A CN201010577022 A CN 201010577022A CN 102479277 B CN102479277 B CN 102479277B
Authority
CN
China
Prior art keywords
section
path
timing path
diversity factor
time sequence
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.)
Expired - Fee Related
Application number
CN201010577022.6A
Other languages
English (en)
Other versions
CN102479277A (zh
Inventor
牛佳
戴红卫
何仙娥
杜晨
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201010577022.6A priority Critical patent/CN102479277B/zh
Priority to US13/296,555 priority patent/US8769470B2/en
Publication of CN102479277A publication Critical patent/CN102479277A/zh
Application granted granted Critical
Publication of CN102479277B publication Critical patent/CN102479277B/zh
Expired - Fee Related 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
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis

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)

Abstract

本发明公开了一种在芯片设计中改善时序收敛的方法和系统,该方法包括步骤:识别芯片设计图中的关键时序路径,其中关键时序路径的时序窗口小于预定时序窗口;确定关键时序路径的各段的差异度,其中差异度描述由于一种或多种因素影响而导致的器件和/或连线的延时的不确定性;根据关键时序路径的各段的差异度,改变关键时序路径的至少一段,以增大关键时序路径的时序窗口。本方法和系统能够通过降低关键时序路径的差异度来扩大其时序窗口,从而达到芯片设计图的时序收敛。

Description

在芯片设计中改善时序收敛的方法和系统
技术领域
本发明的各实施方式一般涉及集成电路芯片设计,并且更具体地涉及在芯片设计中改善时序收敛的方法和系统。
背景技术
时序分析通常是指设计者提出一些特定的时序要求或时序约束,使用特定的时序模型来针对芯片设计布图文件进行分析。在芯片设计中,时序分析问题是至关重要的,尤其是随着时钟频率的提高,留给数据传输的有效读写时序窗口越来越小。如果希望在很短的时间中使数据从发送端完整地传送到接收端,就必须进行精确的时序分析。
芯片设计中的时序收敛通常是指前后端设计时序一致,即对于设计者在设计阶段规定的特定时序要求,在完成布局布线和寄生参数提取之后芯片仍能满足所设计的时序要求。然而,一般情况下,在芯片设计中,设计者在设计阶段没有或者无法考虑到精确的连线和器件延迟信息,所以很容易造成布图后的时序不收敛。能够实现时序收敛的芯片设计布图,可以通过验收(sign off),并交由芯片制造厂用于生产芯片。
近年来,随着工艺的进步,连线和器件延迟越来越占据主导地位,时序收敛问题则越来越多并且越来越严重。在32纳米、45纳米等制造工艺中,裸片间违例以及裸片内违例的影响已经变得显著。然而,现有技术的芯片设计方法在时序收敛方面的速度和效率并不如人所愿,由此造成了芯片设计成本增大以及可能的其他相关问题。
发明内容
因此,需要一种在芯片设计中能够高效和快速改善时序收敛的方法和系统。
在一个实施方式中,提供了一种在芯片设计中改善时序收敛的方法。该方法包括步骤:识别芯片设计图中的关键时序路径,其中关键时序路径的时序窗口小于预定时序窗口;确定关键时序路径的各段的差异度,其中差异度描述由于一种或多种因素影响而导致的器件和/或连线的延时的不确定性;根据关键时序路径的各段的差异度(variation),改变关键时序路径的至少一段,以增大关键时序路径的时序窗口。
在另一个实施方式中,提供了一种在芯片设计中改善时序收敛的系统。该系统包括:关键路径识别装置,用于识别芯片设计图中的关键时序路径,其中关键时序路径的时序窗口小于预定时序窗口;差异度确定装置,用于确定关键时序路径的各段的差异度,其中差异度描述由于一种或多种因素影响而导致的器件和/或连线的延时的不确定性;路径改变装置,用于根据关键时序路径的各段的差异度,改变关键时序路径的至少一段,以增大关键时序路径的时序窗口。
在另一个实施例中,提供了一种计算机可读介质,其中有形地载有用于实现本发明的在芯片设计中改善时序收敛的方法的计算机程序。
本发明的各实施方式,在芯片设计过程中,可以加快时序收敛速度、提高时序收敛效率。通过以下结合附图对本发明诸多实施方式的描述,本发明的其他特征和优点将会更加明显。
附图说明
通过以下结合附图的说明,并且随着对本发明的更全面了解,本发明的其他目的和效果将变得更加清楚和易于理解,其中:
图1是按照本发明的一个实施例的在芯片设计中改善时序收敛的方法的流程图;
图2是按照本发明的另一个实施例的在芯片设计中改善时序收敛的方法的流程图;
图3是一个芯片设计图的局部形象化示意图;
图4是按照本发明的一个实施例的时序窗口的示意图;
图5是按照本发明的另一个实施例的在芯片设计中改善时序收敛的系统的方框图;以及
图6是在半导体设计、制造和/或测试中使用的典型设计流程的框图。
附图中,相同的标号表示相同、相似或相应的特征或功能。
具体实施方式
将参照附图更加详细地描述本发明的诸多实施方式。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在一个实施方式中,从等待验收(sign off)的芯片设计图文件中识别该芯片设计布图中的关键时序路径,其中关键时序路径是指其时序窗口小于预定时序窗口的时序路径;确定关键时序路径各段的差异度;以及根据关键时序路径的各段的差异度,改变关键时序路径的至少一段(例如一个器件或者一条连线),以增大关键时序路径的时序窗口。上述过程可以重复进行,直至该芯片设计布图中不再存在关键时序路径,从而完成对该芯片设计布图的验收。在另一个实施方式中,在生成的网表设计图、布局设计图和布线设计图中,都可以识别关键时序路径,采用上述方法修改该关键时序路径中的一段,以改善时序收敛。
为更好地描述本发明的实施方式,先对一些概念进行说明如下。
芯片设计图,例如是一个以硬件描述语言编写的文件,包括网表设计图、布局设计图和布线设计图等;它可以具有多条“路径”,每条路径包括一个或多个段,每个“段”包括一个器件或者一条连线等。路径的起点和终点分别是两个不同的寄存器。图3给出了一个芯片设计图的局部形象化示意图。在图3所示的例子中,寄存器1与寄存器2之间示例性地描绘了一条路径,该路径包括连线AB、器件G1、G2、G3以及连线CD。
假设图3中的寄存器1发送数据,寄存器2接收数据并根据本地时钟对接收的数据进行采样,由于数据在从寄存器1至寄存器2的传输过程中会经过器件G1、G2、G3以及连线,所以会造成延时并影响数据的稳定传输。
数据稳定传输必须满足建立时间(setup time)和保持时间(holdtime)的要求。建立时间是指在寄存器的时钟信号上升沿到来以前,数据达到稳定不变的时刻与时钟信号上升沿之间的时段;如果建立时间不够,数据将不能在这个时钟上升沿被打入寄存器。保持时间是指在寄存器的时钟信号上升沿到来以后,数据保持稳定不变的时段;如果保持时间不够,数据同样不能被打入寄存器。
由于生产工艺存在不确定性,电路中的每一个器件或连线的延迟都有一个取值范围,而非是一个确定的值。早模式延迟,是指器件或连线在生产工艺下“最快”的模式下的延迟;迟模式延迟,是指器件或连线在生产工艺下“最慢”的模式下的延迟。迟模式延迟值一般大于早模式延迟值。早模式延迟值和迟模式延迟值可以从时序分析结果中得到。例如,可以得到寄存器2处的以下六个值:数据迟模式到达时间AT(arrival time)(也即,数据最晚到达时间)、数据早模式到达时间(也即,数据最早到达时间)、时钟迟模式到达时间、时钟早模式到达时间、建立保护时间(guard time)、保持保护时间。以下示例性地描述了怎样使用这六个值判断是否满足建立时间和保持时间的要求。
(1)建立检查:判断数据迟模式到达时间是否比时钟早模式到达时间(也即,时钟上升沿到达时间,其等于数据早模式到达时间)早一个建立保护时间;如果是,则确定满足建立时间要求;否则,则确定不满足建立时间要求。
(2)保持检查:判断数据早模式到达时间是否比时钟迟模式到达时间(也即,时钟上升沿到达时间,其等于数据迟模式到达时间)早一个保持保护时间;如果是,则确定满足保持时间要求;否则,则确定不满足保持时间要求。
下面说明本发明的实施方式中使用的时序窗口的概念。图4是按照本发明的一个实施例的时序窗口的示意图。在数字电路中,时钟信号是一拍一拍连续的周期信号,假设寄存器1在第一拍时钟上升沿发送数据信号,则在寄存器2第一拍时钟上升沿进行保持检查(数据不能早过T2),在寄存器2第二拍时钟上升沿进行建立检查(数据不能迟于T3),T2至T3这段时间内数据可以变化,从T1到T2这段时间称为时序上数据可被采样的窗口,又称为时序窗口。时序窗口越大越好,理想情况是电路延迟的迟模式延迟与早模式延迟完全一样;此时,时序窗口可以达到最大,例如一个时钟周期。但是,实际芯片中时序窗口通常较小,甚至小到时钟无法采集数据。
在本发明的实施方式中,将数据可以进行稳定传输所需的时序窗口设定为预定时序窗口。如果芯片设计图中的路径的时序窗口小于预定时序窗口,则其不能保证数据的稳定传输,此时将该路径称为关键时序路径,也叫时序窗口不足(no timing window,NTW)路径。
在本发明的实施方式中,差异度用于描述由于至少一种因素影响而导致的器件和/或连线的延时的不确定性,这些因素例如是电压、温度、生产等因素。在本发明中,可以通过若干方式来计算关键时序路径的各段的差异度,例如可以通过计算期间参数,或者通过工具模拟等,在本发明的优选实施方式中,是通过得到关键时序路径的各段的旱模式延迟值和迟模式延迟值、然后确定各段的迟模式延迟值与早模式延迟值之间的差别来作为各段的差异度。迟模式延迟值与早模式延迟值之间的差别可以通过多种方式来得到,例如该差别可以是迟模式延迟值与早模式延迟值之差或者迟模式延迟值与早模式延迟值之比。
图1是按照本发明的一个实施例的在芯片设计中改善时序收敛的方法的流程图。
在步骤101,识别芯片设计图中的关键时序路径,其中关键时序路径是指其时序窗口小于预定时序窗口的路径。根据前述,如果芯片设计图中的路径的时序窗口小于预定时序窗口,则这样的路径是一条关键时序路径。在一个芯片设计图中,通常包括一条或多条路径,可以逐一判断每条路径是否是关键时序路径。由此,当判断完整个芯片设计图时,可能得到一个关键路径集合,该集合可能包括若干条关键路径,也可能不包含任何关键路径。
在一个实施例中,可以基于对芯片设计图的时序分析结果来确定所述芯片设计图中的路径是否是关键时序路径。可以采用各种现有的时序分析工具来得到时序分析结果,这种时序分析工具例如是可从美国加利福尼亚州的新思科技公司购得的PrimeTime等。所生成的时序分析结果可以包括多种时序信息,例如,芯片设计图中包含哪些路径、每条路径的早模式时序余量(slack)和迟模式时序余量、每条路径包含哪些段、每个段的早模式延迟值和迟模式延迟值,等等。早模式时序余量是指早到达时间的量化值;迟模式时序余量是指晚到达时间的量化值。正的时序余量值表明给定节点的当前到达时间满足所有下行时序约束;负的时序余量值表明该到达时间不能满足至少一个下行时序约束。可以根据时序分析结果得到芯片设计图中各条路径的早模式时序余量和迟模式时序余量,从而可以根据预定策略逐一判断每条路径是否是关键时序路径。
在另一个实施例中,可以预先准备一个器件库及其描述信息,该器件库的描述信息中存储有各种器件的差异度范围和排序。器件库可以是从器件的制造商或销售商处得到的,也可以是技术人员根据器件的特性而自行得到的,还可以根据本领域技术人员公知的任何其他方法得到。根据该器件库和网表,可以得到芯片设计图中各条路径的早模式时序余量和迟模式时序余量,从而可以根据预定策略逐一判断每条路径是否是关键时序路径。
预定策略例如可以是:对迟模式时序余量加权;将加权后的迟模式时序余量与早模式时序余量求和;以及当求和结果小于预定时序余量阈值并且迟模式时序余量为负时,将路径确定为关键时序路径。再例如,预定策略可以是:对早模式时序余量加权;将加权后的早模式时序余量与迟模式时序余量求和;以及当求和结果小于预定时序余量阈值并且早模式时序余量为负时,将路径确定为关键时序路径。可以通过任何适当地方式或形式预先定义预定策略,而不限于上述的例子。
在步骤102,确定关键时序路径的各段的差异度。差异度的确定方法前面已经陈述,这里不再赘述。
在步骤103,以与关键时序路径的各段的差异度相应的方式,改变关键时序路径的至少一段,以增大关键时序路径的时序窗口。在一个实施方式中,根据步骤102得到的各条关键时序路径的各段的差异度,对各条关键时序路径逐一进行处理。
对于一条关键时序路径而言,首先需要知道关键时序路径中哪个或哪些段的差异度较大。如果将这种差异度较大的段替换为具有更低差异度的段,则可以降低整条路径的差异度,增加该路径的时序窗口宽度。因此,可以将具有较大差异度的段确定为需要进行改变的段,然后将确定的段改变为具有更低差异度的、实现相同功能的段。在改变一个或多个段之后,关键时序路径的功能不会发生任何变化,但是其差异度得以降低,从而可以保证数据的稳定传输。
在一个实施方式中,可以预先准备一个器件库及其描述信息,所述器件库的描述信息中存储有各种器件的差异度范围和排序。当在步骤103中改变关键时序路径的段时,首先可以确定要进行改变的段的差异度,然后可以根据器件库的描述信息来从器件库中查找具有低于该差异度的器件。器件库可以是从器件的制造商或销售商处得到的,也可以是技术人员根据器件的特性而自行得到的,还可以根据本领域技术人员公知的任何其他方法得到。
图2是按照本发明的另一个实施例的在芯片设计中改善时序收敛的方法的流程图。
如图2所示,在步骤201,对芯片设计图进行时序分析,生成时序分析结果。在本领域中,存在多种对芯片设计图进行时序分析的方法和工具,本领域技术人员可以根据现有的任何方法来生成时序分析结果。
应该注意的是,步骤201是可选的,对芯片设计图进行时序分析方便了识别芯片设计图中的关键时序路径和确定所述关键时序路径的各段的差异度。但是,在其他实施例中,也可以根据预先准备的器件库和网表来识别芯片设计图中的关键时序路径和确定所述关键时序路径的各段的差异度。此外,还可以使用本领域技术人员公知的任何其他适当方法来识别品牌设计图中的关键时序路径。这里的芯片设计图包括网表建立、布局或布线之后的生成结果,不单指交予验收之前的芯片设计文件。
在步骤202,从时序分析结果获取芯片设计图中的路径的早模式时序余量和迟模式时序余量。在此步骤中,可以从步骤201生成的时序分析结果中查找芯片设计图中各条路径的早模式时序余量和迟模式时序余量,所查找到的早模式时序余量和迟模式时序余量可以用于判断相应路径是否是关键时序路径。
在步骤203,根据所得到的早模式时序余量和迟模式时序余量,确定芯片设计图中的路径是否是关键时序路径。在以下描述中,为了便于说明,将早模式时序余量记为Se,将迟模式时序余量记为Sl。可以通过判断早模式时序余量Se和迟模式时序余量Sl是否满足预定策略来确定一条路径是否为关键时序路径。
在一个例子中,预定策略可以是:对迟模式时序余量加权;将加权后的迟模式时序余量与早模式时序余量求和;当所述求和结果小于预定时序余量阈值并且迟模式时序余量为负时将该路径确定为关键时序路径。该预定策略可以用以下式(1)表示:
Sl<0并且a×Sl+Se<M    (1)
其中,a是时序环境中的通用差异度,取决于电压、温度等,而M是预定义的参数,根据工艺环境(如多少纳米)确定,通常将M设定为0。
例如,设定a=2,M=0。如果一条路径的早模式时序余量Se=0.100且迟模式时序余量S1=-0.100,则由于a×Sl+Se=2×(-0.100)+0.100<0,并且由于Sl<0,所以满足式(1)的要求,由此可以判断该路径是关键时序路径。如果一条路径的早模式时序余量Se=0.300且迟模式时序余量S1=-0.100,则由于a×Sl+Se=2×(-0.100)+0.300>0,所以不满足式(1)中的a×Sl+Se<M,由此可以判断该路径不是关键时序路径。
在另一个例子中,预定策略也可以是:对早模式时序余量加权;将加权后的早模式时序余量与迟模式时序余量求和;当求和结果小于预定时序余量阈值并且早模式时序余量为负时,将路径确定为关键时序路径。该预定策略可以用以下式(2)表示:
Se<0并且Sl+b×Se<M    (2)
其中,b是时序环境中的通用差异度,而M是预定义的参数,通常将M设定为0。
需要注意的是,上述预定策略仅仅是示例性的,还可以根据任何其他适当的预定策略来判断路径是否为关键时序路径。
在步骤204,判断是否处理完所有关键时序路径。在执行完步骤203之后,可以确定芯片设计图中有哪些路径是关键时序路径,从而得到一个关键时序路径集合。由于芯片设计图中的路径中可以存在一条或多条关键时序路径,也可以不存在关键时序路径,因此关键时序路径集合中的路径数目N大于或等于0。当N=0时,表明关键时序路径集合为空,从而可以认为相当于处理完所有关键时序路径,由此结束整个流程处理。当N>0时,表明关键时序路径集合中存在一条或多条关键时序路径,因此开始对每一条关键时序路径逐一执行步骤205-209的处理,直到判断完所有N条路径为止。
例如,假设N=2,这表明步骤203确定芯片设计图中的路径中有两条是关键时序路径。当流程首次执行到步骤204时,也即针对第一条关键时序路径时,路径计数器i=1,并且i<N,可以确定此时未处理完所有关键时序路径,所以执行步骤205-209;在执行完步骤209之后,如果重新回到步骤204,则此时路径计数器加1,也即i=2,并且i=N,因此可以确定仍未处理完所有关键时序路径,所以执行步骤205-209;在执行完步骤209之后,如果重新回到步骤204,则此时路径计数器加1,也即i=3,并且i>N,由此可以确定已处理完所有关键时序路径,从而整个流程结束。
在一个实施方式中,对于关键时序路径集合中的每一条关键时序路径,都分别执行步骤205-209。总体而言,步骤205-209是基于时序分析结果来确定所述关键时序路径的各段的差异度、并且以与所述关键时序路径的各段的差异度相应的方式改变关键时序路径的至少一段的处理过程。
在步骤205,从时序分析结果得到关键时序路径的各段的早模式延迟值和迟模式延迟值。如前所述,时序分析结果可以包括关键时序路径的各段的早模式延迟值和迟模式延迟值。为了便于说明,下文将早模式延迟值记为DEM,将迟模式延迟值记为DLM。如上文已述,路径中的“段”可以是器件或者连线,因此器件可以具有早模式延迟值DEM和迟模式延迟值DLM,连线也可以具有DEM和DLM。
在步骤206,确定各段的迟模式延迟值与早模式延迟值之间的差别作为各段的差异度。如前所述,差异度用于描述由于电压、温度、生产等因素影响而导致的器件和/或连线的延时的不确定性。可以将迟模式延迟值与早模式延迟值之比作为差异度;也可以将迟模式延迟值与早模式延迟值之差作为差异度,例如可以根据下式计算每个段的差异度:
段的差异度=该段的迟模式延迟值-该段的早模式延迟值(3)
由此可知,器件的差异度等于器件的DLM减去DEM,连线的差异度等于连线的DLM减去DEM。例如,假设图3中的器件G1的迟模式延迟值是600ps,早模式延迟值是400ps,则可以得到器件G1的差异度是600ps-400ps=200ps。
应该注意的是,可以使用除了式(3)之外的方式来计算段的差异度,例如可以通过将早模式延迟值或迟模式延迟值加权再求差,或者可以通过任何其他适当的方式来计算该段的差异度。
在步骤207,基于关键时序路径的各段的差异度,确定该关键时序路径中的需要改变的段。存在多种方法确定关键时序路径中需要改变哪个或哪些段。
在一个例子中,可以对关键时序路径中的各段的差异度进行排序;然后,将与该关键时序路径的最大差异度相对应的段确定为需要进行改变的段。
例如,假设图3中的路径(A-D)是一条关键时序路径,则从图3中可知,该关键时序路径A-D包括5个段:连线AB、器件G1、器件G2、器件G3、连线CD。假设各段的差异度如以下表1所示:
表1:关键时序路径A-D各段的差异度
 路径A-D   连线AB   器件G1   器件G2   器件G3   连线CD
 差异度   50ps   200ps   100ps   130ps   20ps
通过对上述各段的差异度进行排序可知,器件G1的差异度最大,因此将器件G1确定为需要进行改变的段。
在另一个例子中,可以通过对该关键时序路径的各段的差异度求和,从而得到该关键时序路径的差异度;计算各段的差异度相对于所述关键时序路径的差异度的差异度比例;并将该关键时序路径中的差异度比例高于预定阈值的段确定为需要进行改变的段。
例如,假设图3中的路径(A-D)是一条关键时序路径,则从图3中可知,该关键时序路径A-D包括5个段:连线AB、器件G1、器件G2、器件G3、连线CD。假设各段的差异度及其比例如以下表2所示:
表2:关键时序路径A-D各段的差异度及其比例
 路径A-D   连线AB   器件G1   器件G2   器件G3   连线CD
 差异度   50ps   200ps   100ps   130ps   20ps
 比例   10%   40%   20%   26%   4%
在本例子中假设差异度比例的预定阈值是25%,因此差异度比例大于该预定阈值的段有两个,分别是器件G1和器件G2,因此可以将器件G1和器件G2都确定为需要改变的段。在另一实施例中,也可以通过对差异度比例进行排序后,仅将与最大差异度比例相对应的段确定为需要改变的段。
应该注意的是,除了以上所示的具体例子之外,还可以利用多种其他适当的方式来确定需要进行改变的段。举例而言,还可以对关键时序路径中的各段的差异度进行排序,例如共有3个段,其中两个是连线,一个是器件;然后将差异度大于预定阈值的段都确定需要进行改变的段,例如这3个段中有一个器件和一个连线的差异度都大于预定阈值,则此时可以将这个器件和这个连线都确定为需要进行改变的段。
在步骤208,将所确定的段替换为实现相同功能并具有更低差异度的段。此步骤的目的之一是将差异度高的段替换为差异度低的段,同时不影响实现该段的功能。当步骤207确定的要进行改变的段是器件时,可以将所述器件替换为具有更低差异度的器件;在某些例子中,在不影响电路功能的情况下也可以将该器件替换为连线。
当步骤207确定的要进行改变的段是连线时,例如金属线,可以将所确定的连线替换为更宽的连线。具体而言,可以采用多种方式来实现更宽的连线。例如,可以采用更高的金属层,因为金属层较高的连线通常走线通道更宽,同时可走线的通道条数也较少;另外,也可以通过设置连线的属性等方法也可以实现更宽的连线。
在步骤209,判断该路径是否仍为关键时序路径。如果判断改变后的路径不再是关键时序路径,则进入步骤204来处理下一条关键时序路径;如果判断改变后的路径仍然还是关键时序路径,则继续执行步骤207-209,再次确定需要改变该路径中的哪个或哪些段(步骤207),并在改变(步骤208)之后再次进行是否为关键时序路径的判断(步骤209)。
图5是按照本发明的另一个实施例的在芯片设计中改善时序收敛的系统的方框图。如图5所示,系统500包括:关键路径识别装置501、差异度确定装置502和路径改变装置503。另外,系统500还可以包括时序分析单元。
关键路径识别装置501用于识别芯片设计图中的关键时序路径,其中关键时序路径的时序窗口小于预定时序窗口。
在一个实施例中,关键路径识别装置501可以包括:用于获取芯片设计图中的路径的早模式时序余量和迟模式时序余量的装置;用于对迟模式时序余量加权的装置;用于将加权后的迟模式时序余量与早模式时序余量求和的装置;以及用于当求和结果小于预定时序余量阈值并且迟模式时序余量为负时,将路径确定为关键时序路径的装置。
在另一个实施例中,关键路径识别装置501可以包括:用于获取芯片设计图中的路径的旱模式时序余量和迟模式时序余量的装置;用于对早模式时序余量加权的装置;用于将加权后的早模式时序余量与迟模式时序余量求和的装置;以及用于当求和结果小于预定时序余量阈值并且早模式时序余量为负时,将路径确定为关键时序路径的装置。
差异度确定装置502用于确定关键时序路径的各段的差异度,其中差异度描述由于一种或多种因素影响而导致的器件和/或连线的延时的不确定性。差异度确定装置502可以包括:用于得到关键时序路径的各段的早模式延迟值和迟模式延迟值的装置;以及用于确定迟模式延迟值与早模式延迟值之间的差别作为差异度的装置。其中,迟模式延迟值与早模式延迟值之间的差别可以是以下之一:迟模式延迟值与早模式延迟值之差,以及迟模式延迟值与早模式延迟值之比。
路径改变装置503,用于根据关键时序路径的各段的差异度,改变关键时序路径的至少一段,以增大关键时序路径的时序窗口。该路径改变装置503可以包括:改变确定单元,用于基于关键时序路径的各段的差异度,确定关键时序路径中的需要进行改变的段;以及替换单元,用于将所确定的段替换为实现相同功能并具有更低差异度的段。
在一个实施例中,改变确定单元可以包括:用于对关键时序路径的各段的差异度进行排序的装置;以及用于将与关键时序路径的最大差异度相对应的段确定为需要进行改变的段的装置。在另一个实施例中,改变确定单元可以包括:用于通过对关键时序路径的各段的差异度求和,得到关键时序路径的差异度的装置;用于计算各段的差异度相对于关键时序路径的差异度的差异度比例的装置;以及用于将关键时序路径中的差异度比例高于预定阈值的段确定为需要进行改变的段的装置。
在一个实施例中,替换单元可以包括:用于当所确定的段是器件时,将器件替换为具有更低差异度的器件或连线,以增大关键时序路径的时序窗口的装置;以及用于当所确定的段是连线时,将所确定的连线替换为更宽的连线,以增大关键时序路径的时序窗口的装置。
另外,在芯片设计中改善时序收敛的系统500还可以包括:时序分析单元,该时序分析单元用于对芯片设计图进行时序分析,生成时序分析结果,以便识别芯片设计图中的关键时序路径和确定关键时序路径的各段的差异度。
另外,在芯片设计中改善时序收敛的系统500还可以包括:器件库,该器件库可以预先得到。该器件库可以具有描述信息,该描述信息中存储有各种器件的差异度范围和排序。
在本发明中,“段”可以是器件或连线。在本发明中,差异度描述由于一种或多种因素影响而导致的器件和/或连线的延时的不确定性。
图6是在半导体设计、制造和/或测试中使用的典型设计流程的框图。设计流程600可以根据被设计IC的类型而变化。例如,用于构建特定用途集成电路的设计流程600可以不同于设计标准元件的设计流程600。设计结构620优选为设计工艺610的输入并且可以来自IP提供者、核心开发者或者其它设计公司,或者可以由设计流程的操作者产生,或者来自于其它源。设计结构620包括以电路图或者HDL,硬件描述语言(例如Verilog,VHDL,C等)示出本发明的实施例。设计结构620可以包含在一个或者多个机器可读媒介中。例如,设计结构620可以是本发明实施例的文本文件表示或者图形表示。设计工艺610优选将本发明的实施例综合(或转化)为网表680,这里网表680是例如连线、晶体管、逻辑门、控制电路、I/O、模块等的列表,其描述了集成电路设计中其他元件和电路的连接并且记载在至少一个机器可读介质上。这可以是一个反复的过程,根据电路的设计说明和参数,网表680被再综合一次或多次。
设计工艺610可以包括使用各种输入,例如,来自库元件630的输入,该库元件630可以容纳一组常用的元件、电路和装置,包括模块、布图以及符号表示法,用于给定的制造技术(例如不同的技术节点,32nm、45nm、90nm等),来自设计说明640的输入,来自特征校准数据650的输入,来自验证数据660的输入,来自设计规则670的输入以及来自测试数据文件685(可以包括测试模式和其他测试信息)的输入。设计工艺610还可以包括,例如,诸如时序分析、验证、设计规则检查、布局和布线操作等的标准电路设计工艺。在不脱离本发明的范围和精神的范围内,集成电路设计的本领域普通技术人员可以理解在设计工艺610中使用的可能的电子设计自动化工具和应用的范围。本发明的设计结构不限于任何特定的设计流程。
设计工艺610优选为将本发明的实施例以及任何附加的集成电路设计或数据(如果可适用)转化为第二设计结构690。设计结构690以用于集成电路的布图数据交换的数据格式(例如以GDSII(GDS2),GL1,OASIS或存储这种设计结构的任何其他适合的格式存储的信息)存储在存储介质上。设计结构690可以包括如下信息,例如测试数据文件、设计内容文件、制造数据、布图参数、布线、金属级别、过孔、形状、用于通过生产线寻径的数据以及半导体制造商生产本发明的实施例所需的任何其他数据。然后设计结构690可以前进到步骤695,这里设计结构690例如:进行流片,交付制造,交付掩模室,被送到另一个设计室,返回到客户等。
根据上述描述,所属技术领域的技术人员知道,本发明可以体现为装置、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言,诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的制造品,
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。

Claims (18)

1.一种在芯片设计中改善时序收敛的方法,包括:
识别芯片设计图中的关键时序路径,其中所述关键时序路径的时序窗口小于预定时序窗口;
确定所述关键时序路径的各段的差异度,其中所述差异度描述由于一种或多种因素影响而导致的器件和/或连线的延时的不确定性,其中确定所述关键时序路径的各段的差异度包括:
得到所述关键时序路径的各段的早模式延迟值和迟模式延迟值;以及
确定所述迟模式延迟值与所述早模式延迟值之间的差别作为所述差异度;以及
根据所述关键时序路径的各段的差异度,改变所述关键时序路径的至少一段,以增大所述关键时序路径的时序窗口。
2.根据权利要求1所述的方法,其中所述迟模式延迟值与所述早模式延迟值之间的差别是以下之一:
所述迟模式延迟值与所述早模式延迟值之差,以及
所述迟模式延迟值与所述早模式延迟值之比。
3.根据权利要求1-2之一所述的方法,其中根据所述关键时序路径的各段的差异度改变所述关键时序路径的至少一段包括:
基于所述关键时序路径的各段的差异度,确定所述关键时序路径中的需要进行改变的段;以及
将所确定的段替换为实现相同功能并具有更低差异度的段。
4.根据权利要求3所述的方法,其中基于所述关键时序路径的各段的差异度确定所述关键时序路径中的需要进行改变的段包括:
对所述关键时序路径的各段的差异度进行排序;以及
将与所述关键时序路径的最大差异度相对应的段确定为所述需要进行改变的段。
5.根据权利要求3所述的方法,其中基于所述关键时序路径的各段的差异度确定所述关键时序路径中的需要进行改变的段包括:
通过对所述关键时序路径的各段的差异度求和,得到所述关键时序路径的差异度;
计算所述各段的差异度相对于所述关键时序路径的差异度的差异度比例;以及
将所述关键时序路径中的差异度比例高于预定阈值的段确定为所述需要进行改变的段。
6.根据权利要求3所述的方法,其中将所确定的段替换为实现相同功能并具有更低差异度的段包括:
当所确定的段是器件时,将所述器件替换为具有更低差异度的器件或连线,以增大所述关键时序路径的时序窗口;以及
当所确定的段是连线时,将所确定的连线替换为更宽的连线,以增大所述关键时序路径的时序窗口。
7.根据权利要求1所述的方法,其中识别所述芯片设计图中的关键时序路径包括:
获取所述芯片设计图中的路径的早模式时序余量和迟模式时序余量;
对所述迟模式时序余量加权;
将加权后的迟模式时序余量与早模式时序余量求和;以及
当所述求和结果小于预定时序余量阈值并且所述迟模式时序余量为负时,将所述路径确定为关键时序路径。
8.根据权利要求1所述的方法,其中识别所述芯片设计图中的关键时序路径包括:
获取所述芯片设计图中的路径的早模式时序余量和迟模式时序余量;
对所述早模式时序余量加权;
将加权后的早模式时序余量与迟模式时序余量求和;以及
当所述求和结果小于预定时序余量阈值并且所述早模式时序余量为负时,将所述路径确定为关键时序路径。
9.根据权利要求1所述的方法,在识别芯片设计图中的关键时序路径之前还包括:
对芯片设计图进行时序分析,生成时序分析结果。
10.一种在芯片设计中改善时序收敛的系统,包括:
关键路径识别装置,用于识别芯片设计图中的关键时序路径,其中所述关键时序路径的时序窗口小于预定时序窗口;
差异度确定装置,用于确定所述关键时序路径的各段的差异度,其中所述差异度描述由于一种或多种因素影响而导致的器件和/或连线的延时的不确定性,其中所述差异度确定装置包括:
用于得到所述关键时序路径的各段的早模式延迟值和迟模式延迟值的装置;以及
用于确定所述迟模式延迟值与所述早模式延迟值之间的差别作为所述差异度的装置;以及
路径改变装置,用于根据所述关键时序路径的各段的差异度,改变所述关键时序路径的至少一段,以增大所述关键时序路径的时序窗口。
11.根据权利要求10所述的系统,其中所述迟模式延迟值与所述早模式延迟值之间的差别是以下之一:
所述迟模式延迟值与所述早模式延迟值之差,以及
所述迟模式延迟值与所述早模式延迟值之比。
12.根据权利要求10-11之一所述的系统,其中所述路径改变装置包括:
改变确定单元,用于基于所述关键时序路径的各段的差异度,确定所述关键时序路径中的需要进行改变的段;以及
替换单元,用于将所确定的段替换为实现相同功能并具有更低差异度的段。
13.根据权利要求12所述的系统,其中所述改变确定单元包括:
用于对所述关键时序路径的各段的差异度进行排序的装置;以及
用于将与所述关键时序路径的最大差异度相对应的段确定为所述需要进行改变的段的装置。
14.根据权利要求12所述的系统,其中所述改变确定单元包括:
用于通过对所述关键时序路径的各段的差异度求和,得到所述关键时序路径的差异度的装置;
用于计算所述各段的差异度相对于所述关键时序路径的差异度的差异度比例的装置;以及
用于将所述关键时序路径中的差异度比例高于预定阈值的段确定为所述需要进行改变的段的装置。
15.根据权利要求12所述的系统,其中所述替换单元包括:
用于当所确定的段是器件时,将所述器件替换为具有更低差异度的器件或连线,以增大所述关键时序路径的时序窗口的装置;以及
用于当所确定的段是连线时,将所确定的连线替换为更宽的连线,以增大所述关键时序路径的时序窗口的装置。
16.根据权利要求10所述的系统,其中所述关键路径识别装置包括:
用于获取所述芯片设计图中的路径的早模式时序余量和迟模式时序余量的装置;
用于对所述迟模式时序余量加权的装置;
用于将加权后的迟模式时序余量与早模式时序余量求和的装置;以及
用于当所述求和结果小于预定时序余量阈值并且所述迟模式时序余量为负时,将所述路径确定为关键时序路径的装置。
17.根据权利要求10所述的系统,其中所述关键路径识别装置包括:
用于获取所述芯片设计图中的路径的早模式时序余量和迟模式时序余量的装置;
用于对所述早模式时序余量加权的装置;
用于将加权后的早模式时序余量与迟模式时序余量求和的装置;以及
用于当所述求和结果小于预定时序余量阈值并且所述早模式时序余量为负时,将所述路径确定为关键时序路径的装置。
18.根据权利要求10所述的系统,还包括:
时序分析单元,用于对芯片设计图进行时序分析,生成时序分析结果。
CN201010577022.6A 2010-11-29 2010-11-29 在芯片设计中改善时序收敛的方法和系统 Expired - Fee Related CN102479277B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010577022.6A CN102479277B (zh) 2010-11-29 2010-11-29 在芯片设计中改善时序收敛的方法和系统
US13/296,555 US8769470B2 (en) 2010-11-29 2011-11-15 Timing closure in chip design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010577022.6A CN102479277B (zh) 2010-11-29 2010-11-29 在芯片设计中改善时序收敛的方法和系统

Publications (2)

Publication Number Publication Date
CN102479277A CN102479277A (zh) 2012-05-30
CN102479277B true CN102479277B (zh) 2014-06-11

Family

ID=46091921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010577022.6A Expired - Fee Related CN102479277B (zh) 2010-11-29 2010-11-29 在芯片设计中改善时序收敛的方法和系统

Country Status (2)

Country Link
US (1) US8769470B2 (zh)
CN (1) CN102479277B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8453089B2 (en) * 2011-10-03 2013-05-28 Globalfoundries Singapore Pte. Ltd. Method and apparatus for pattern adjusted timing via pattern matching
US8863058B2 (en) 2012-09-24 2014-10-14 Atrenta, Inc. Characterization based buffering and sizing for system performance optimization
CN103810446A (zh) * 2012-11-15 2014-05-21 中国科学院研究生院 基于片上全局互连随机延时网络的物理不可克隆函数电路
US9760672B1 (en) 2014-12-22 2017-09-12 Qualcomm Incorporated Circuitry and method for critical path timing speculation to enable process variation compensation via voltage scaling
US9564884B1 (en) 2015-04-13 2017-02-07 Qualcomm Incorporated Circuitry and method for measuring negative bias temperature instability (NBTI) and hot carrier injection (HCI) aging effects using edge sensitive sampling
US9564883B1 (en) 2015-04-13 2017-02-07 Qualcomm Incorporated Circuitry and method for timing speculation via toggling functional critical paths
US9536038B1 (en) * 2015-04-13 2017-01-03 Qualcomm Incorporated Method and algorithm for functional critical paths selection and critical path sensors and controller insertion
US10216882B2 (en) * 2016-11-02 2019-02-26 International Business Machines Corporation Critical path straightening system based on free-space aware and timing driven incremental placement
US10719654B2 (en) 2017-11-28 2020-07-21 International Business Machines Corporation Placement and timing aware wire tagging
US10572618B2 (en) 2017-11-28 2020-02-25 International Business Machines Corporation Enabling automatic staging for nets or net groups with VHDL attributes
CN116776790B (zh) * 2023-08-17 2023-12-08 华芯巨数(杭州)微电子有限公司 一种时序分析的快速计算方法、装置及计算机设备
CN117313602B (zh) * 2023-10-17 2024-05-07 北京市合芯数字科技有限公司 模块边界时序约束方法及相关设备

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371851A (en) * 1989-04-26 1994-12-06 Credence Systems Corporation Graphical data base editor
US7020589B1 (en) 2000-09-29 2006-03-28 Lsi Logic Corporation Method and apparatus for adaptive timing optimization of an integrated circuit design
US6637014B2 (en) * 2001-03-06 2003-10-21 Nec Corporation Crosstalk mitigation method and system
US6480991B1 (en) * 2001-04-11 2002-11-12 International Business Machines Corporation Timing-driven global placement based on geometry-aware timing budgets
EP1449126A4 (en) * 2001-08-29 2008-01-16 Infineon Technologies Ag CHIP DICE FOR INTEGRATED CIRCUITS
US6614714B2 (en) * 2002-01-22 2003-09-02 Ibm Corporation Semiconductor memory system having a data clock system for reliable high-speed data transfers
US6920625B2 (en) * 2003-04-24 2005-07-19 International Business Machines Corporation Method and apparatus for optimum transparent latch placement in a macro design
US6910197B2 (en) 2003-06-20 2005-06-21 Sun Microsystems, Inc. System for optimizing buffers in integrated circuit design timing fixes
JP2005135229A (ja) * 2003-10-31 2005-05-26 Toshiba Corp 半導体集積回路の自動設計方法
US7117457B2 (en) * 2003-12-17 2006-10-03 Sequence Design, Inc. Current scheduling system and method for optimizing multi-threshold CMOS designs
US20050268258A1 (en) * 2004-06-01 2005-12-01 Tera Systems, Inc. Rule-based design consultant and method for integrated circuit design
US7380228B2 (en) 2004-11-08 2008-05-27 Lsi Corporation Method of associating timing violations with critical structures in an integrated circuit design
US7251797B2 (en) * 2004-11-22 2007-07-31 Freescale Semiconductor, Inc. Pessimism reduction in crosstalk noise aware static timing analysis
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
US7595675B2 (en) * 2006-05-01 2009-09-29 International Business Machines Corporation Duty cycle measurement method and apparatus that operates in a calibration mode and a test mode
US7774729B1 (en) * 2006-06-02 2010-08-10 Altera Corporation Method and apparatus for reducing dynamic power in a system
US7810053B2 (en) * 2006-10-04 2010-10-05 Michael Bushnell Method and system of dynamic power cutoff for active leakage reduction in circuits
JP4815326B2 (ja) 2006-10-31 2011-11-16 富士通株式会社 集積回路のタイミング不良改善装置、並びに、集積回路のタイミング不良診断装置および方法、並びに、集積回路
US7739640B2 (en) * 2007-01-12 2010-06-15 International Business Machines Corporation Method and apparatus for static timing analysis in the presence of a coupling event and process variation
US7581201B2 (en) * 2007-02-28 2009-08-25 International Business Machines Corporation System and method for sign-off timing closure of a VLSI chip
CN101078746B (zh) * 2007-07-11 2010-06-23 凤凰微电子(中国)有限公司 多芯片封装体内部连接的边界扫描测试结构及测试方法
US7996812B2 (en) 2008-08-14 2011-08-09 International Business Machines Corporation Method of minimizing early-mode violations causing minimum impact to a chip design
US8086983B2 (en) * 2008-09-30 2011-12-27 Cadence Design Systems, Inc. Method and system for performing improved timing window analysis
US20100153896A1 (en) 2008-12-12 2010-06-17 Lsi Corporation Real-time critical path margin violation detector, a method of monitoring a path and an ic incorporating the detector or method
US8219952B2 (en) * 2009-02-23 2012-07-10 Synopsys, Inc. Variation aware victim and aggressor timing overlap detection by pessimism reduction based on relative positions of timing windows
US8154335B2 (en) * 2009-09-18 2012-04-10 Stmicroelectronics Pvt. Ltd. Fail safe adaptive voltage/frequency system
US8205181B1 (en) * 2010-03-05 2012-06-19 Applied Micro Circuits Corporation Victim net crosstalk reduction
US8453090B2 (en) * 2010-10-21 2013-05-28 Global Unichip Corp. System and method for optimizing logic timing
US8689158B2 (en) * 2010-11-11 2014-04-01 International Business Machines Corporation System and method for performing static timing analysis in the presence of correlations between asserted arrival times

Also Published As

Publication number Publication date
US8769470B2 (en) 2014-07-01
US20120137263A1 (en) 2012-05-31
CN102479277A (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN102479277B (zh) 在芯片设计中改善时序收敛的方法和系统
Blaauw et al. Statistical timing analysis: From basic principles to state of the art
US7890904B2 (en) Estimating jitter in a clock tree of a circuit and synthesizing a jitter-aware and skew-aware clock tree
US10740519B2 (en) Dynamic frequency boosting exploiting path delay variability in integrated circuits
US7836418B2 (en) Method and system for achieving power optimization in a hierarchical netlist
CN102741848B (zh) 用所定义模式改善预布线和后布线网相关性
Lee et al. Equivalence checking of scheduling with speculative code transformations in high-level synthesis
US20110061037A1 (en) Generating Net Routing Constraints For Place And Route
Nedjah et al. Customized computer-aided application mapping on NoC infrastructure using multi-objective optimization
TWI640883B (zh) 電腦可讀存儲介質及積體電路的電壓降和電遷移的分析方法
US8347248B2 (en) Method and mechanism for performing timing aware via insertion
Sabouni et al. Carryover sequence-dependent group scheduling with the integration of internal and external setup times
US8914755B1 (en) Layout re-decomposition for multiple patterning layouts
CN104182570A (zh) 用于实现集成电路的逻辑综合的方法和设备
US8510697B2 (en) System and method for modeling I/O simultaneous switching noise
CN102207984B (zh) 芯片设计中使重用子模块电压环境一致化的方法、系统和设计结构
US9058451B2 (en) Automatic synthesis of complex clock systems
US20140007035A1 (en) Method and Apparatus to Perform Footprint-Based Optimization Simultaneously with Other Steps
US20110191733A1 (en) Segment and Bipartite Graph Based Apparatus and Method to Address Hold Violations in Static Timing
Han et al. Mechanism to minimise the assembly time with feeder assignment for a multi-headed gantry and high-speed SMT machine
US8645883B2 (en) Integrated circuit simulation using fundamental and derivative circuit runs
US8127264B2 (en) Methods for designing integrated circuits employing context-sensitive and progressive rules and an apparatus employing one of the methods
Momtazpour et al. Static statistical MPSoC power optimization by variation-aware task and communication scheduling
Rodopoulos et al. Understanding timing impact of BTI/RTN with massively threaded atomistic transient simulations
US7149993B1 (en) Method, system, and apparatus for incremental design in programmable logic devices using floorplanning

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
TR01 Transfer of patent right

Effective date of registration: 20171114

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171114

Address after: American New York

Patentee after: Core USA second LLC

Address before: New York grams of Armand

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171120

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171120

Address after: American New York

Patentee after: Core USA second LLC

Address before: New York grams of Armand

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140611

Termination date: 20201129

CF01 Termination of patent right due to non-payment of annual fee