CN103177145A - 一种用于集成电路的多个时序模式合并的方法和系统 - Google Patents

一种用于集成电路的多个时序模式合并的方法和系统 Download PDF

Info

Publication number
CN103177145A
CN103177145A CN2011104567417A CN201110456741A CN103177145A CN 103177145 A CN103177145 A CN 103177145A CN 2011104567417 A CN2011104567417 A CN 2011104567417A CN 201110456741 A CN201110456741 A CN 201110456741A CN 103177145 A CN103177145 A CN 103177145A
Authority
CN
China
Prior art keywords
logical groups
time series
mutual
parameter
logical
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
CN2011104567417A
Other languages
English (en)
Other versions
CN103177145B (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 CN201110456741.7A priority Critical patent/CN103177145B/zh
Priority to US13/716,501 priority patent/US20130159952A1/en
Publication of CN103177145A publication Critical patent/CN103177145A/zh
Application granted granted Critical
Publication of CN103177145B publication Critical patent/CN103177145B/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/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • 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/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • 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)

Abstract

本发明公开了一种用于集成电路的多个时序模式合并的方法和系统,方法包括:对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;对所述电路在多个给定的时序模式下进行静态时序分析;根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。该方法和系统使得设计人员能够迅速合并多个时序模式,从而减少设计时间、提高设计效率。

Description

一种用于集成电路的多个时序模式合并的方法和系统
技术领域
本发明一般涉及集成电路设计,更具体地,涉及一种用于集成电路的多个时序模式合并的方法和系统。
背景技术
集成电路设计的流程的一个很重要的步骤就是时序分析(TimingAnalysis),时序分析中,首先可以对于时钟效应的预计采用理想时钟模型(Ideal Clock Model),进行静态时序分析,然后插入时钟树(Insert ClockTree),插入时钟树也称时钟树规划。现有的时钟树规划过程可以手工完成,也可以由电子设计自动化(EDA)工具来完成的,最流行的时钟树都采用自动化工具来完成。其基本原理是根据各时序器件到时钟源的距离,在适当的位置放置缓冲器(buffer)以使时钟源到每个时序器件的时钟偏差(skew)最小化。插入的由缓冲器组成的树状的信号中继网络被称为时钟树。插入的时钟树要求能够满足时序约束文件中的时序约束,从而保持时序的收敛性,达到设计的效果。最后进行带时钟的时序分析以及时钟树调节。时钟树规划、时钟树插入以及时钟树调节的耗时往往要以天甚至周来计算,是集成电路设计过程中影响设计周期的重要因素。
尤其当前的集成电路设计中,常常一个芯片具有多个时序模式,也就是说,该芯片的逻辑电路可以在多个不同的时钟频率下工作,在这种情况下,传统的设计中,一种解决办法是对每个时序模式,都进行静态及动态时序分析,使多个时序模式都达到时序收敛,仅仅是一个时序模式的时序分析,已经需要大量时间,对多个时序模式的时序分析,显然需要消耗更大量的时间,使得整个设计周期大大加长;由用户自己将多个时序模式合并成较少的时序模式,最好是合并成一个时序模式,在这种方法中,一种解决办法是:采用最大时钟频率的时序要求,但是这种解决方案在电路的逻辑域彼此有交互的情况下是有问题的;现有技术中的另一种方案,首先接收多个在不同时序下所要求的时序约束文件,并且生成合并的时序约束文件,这个时序约束文件合并时将多个时序约束完整地汇总为一个超级模式(super mode),所有时序约束文件中的所有的时钟波形都会保存在超级模式中,然后可以用于物理设计工具进行多次的物理设计迭代,但是这种合并方式只考虑了时序约束,没有考虑电路;另外,在合并过程中也没有考虑时序冗余,后续将会详细介绍对于某些集成电路设计,这种合并方法不能解决问题。
发明内容
因此,需要一种集成电路的多个时序模式合并的方法和系统,使得设计人员能够迅速合并多种时钟模式,从而减少设计时间、提高设计效率。
根据本发明的一个方面,提供了一种用于集成电路的多个时序模式合并的方法,包括:
对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;
对所述电路在多个给定的时序模式下进行静态时序分析;
根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及
将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。
根据本发明的另一个方面,提供了一种用于集成电路的多个时序模式合并的系统,包括:
分组装置,被配置为对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;
静态时序分析装置,被配置为对所述电路在多个给定的时序模式下进行静态时序分析;
关系获得装置,被配置为根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及
合并装置,被配置为将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示出了一个实际的集成电路设计例子;
图2示出了另外一个实际的集成电路设计的不同的时序模式;
图3示意性地示出了根据本发明的一种实施方式的用于集成电路的多个时序模式合并的方法的流程图;
图4是一个常规电路示意图;以及
图5示出了用于集成电路的多个时序模式合并的系统500的结构框图。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。
图1示出了一个实际的集成电路设计例子,该电路包含两个逻辑域(Logic Domain)P1和P2以及两个时序模式,如表1所示。每个逻辑域在不同的时序模式下的时序要求不同,其中例如数据20ns表示第一逻辑域P1在第一时序模式下的时钟周期为20纳秒(ns)。其中DTA参数(延迟和时序调整Delay and Timing Adjust)主要用于计算时序检查时的时序调整,例如计算源头为寄存器时钟输出,信号末端为寄存器时钟接收,信号源头到达时间是AT1,信号末端到达时间是AT2,时序分析会作信号建立时间的检查,可用公式标示为:
AT2<(AT1+DTA参数-信号建立时间)
表1中在第一时序模式下,逻辑域P2到逻辑域P1的DTA参数为10ns。
图2示出了另外一个实际的集成电路设计的不同的时序模式。该电路主要功能是高速数据的接收。在功能时序分析的时候,高速核给逻辑域B提供时钟,片上锁相环为逻辑域A提供时钟,逻辑域A和逻辑域B之间有交互,但是因为时钟来源不同,彼此间没有时序检查;但设计的集成电路常常要做ASST(AT Speed Structural Test)测试,ASST时序主要用来检查芯片上会被测试机高速测试的路径是否已经完成了时序收敛,在作ASST时序分析的时候,逻辑A和逻辑域B的时钟均由同一锁相环提供,逻辑域A和逻辑域B之间的交互发生了时序检查。图2中的第一条路径(即圆圈1指示的路径)为ASST模式路径,第二条路径(即圆圈2指示的路径)为功能模式路径,正常情况下,这两个模式路径的时序要求应该是相同的,但是,在该示例中,由于两个模式路径走了不同的路径,他们的时序要求就不同了。
表1一个实际的集成电路设计的不同时序要求
Figure BSA00000648767300051
在多个时序模式下,集成电路的逻辑器件工作在不同的时钟频率下,设计人员一个直观的想法是:如果该设计在最大时钟频率都已经满足时序要求,那么就可以满足所有的其它时序要求。但是,实际上这种观点是不完全正确的。对于表1的示例,如果对逻辑域的时序要求简单地使用最大频率(即最小时钟周期)进行合并,合并的DTA将会选择不同逻辑域的时序要求的最大公约数,则使用集成电路设计工具进行合并的结果如表2所示,显然,合并的DTA并不能满足第一时序模式的要求,因此,上述简单的合并在逻辑域之间有交互时并不能满足设计的要求。
下面简单介绍一下时序检查的冗余。例如对于图1中的例子,逻辑域P1内部会作DTA=20ns,DTA=40ns的建立时间检查,逻辑域P2内部会作DTA=50ns,DTA=40ns的建立时间检查,逻辑域2到逻辑域1之间会作DTA=10ns,DTA=40ns的建立时间检查.但是其中逻辑域内部P1的DTA=40ns的检查是冗余的,因为它已经做了小于40ns的10ns的检查。这种冗余检查虽然不会造成结果的变化,但是会造成设计周期变长。同样,对于图2,这种冗余检查也会造成设计周期变长。
表2图1电路使用集成电路设计工具进行合并的结果
Figure BSA00000648767300061
另外对于图2中的例子,使用现有技术中的另一种方案,也就是接收多个在不同时序下所要求的时序约束文件,并且生成合并的时序约束文件。这种做法只是将所有时序约束文件进行合并,不能够知道电路内部的时序路径,即不检查电路,因此它并不知道高速核的内部时序路径是什么样的,不知道是存在路径1还是路径2,因此它即使合并了所有的时序约束文件,也不能保证ASST时序模式可以被包含在最终合并后的时序约束文件下所作的时序模式中。
本发明的发明人通过分析发现:不同时序模式的合并不仅要求具有完整性,即合并后的时序模式涵盖了所有的时序模式要求,还要求具有唯一性,即合并后的时序模式没有时序冗余。也就是说,合并就可以将所有的时序模式合并成一个最差时序模式,只要在最差时序模式进行时序分析,达到时序收敛,就可以使得所有的时序模式都达到时序收敛。最差时序模式可能是要求的时序模式之一,也可能与所有的要求的时序模式都不同。
图3示意性地示出了根据本发明的一种实施方式的用于集成电路的多个时序模式合并的方法的流程图,根据图3,在步骤S301,对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组。在该步骤中,可以利用集成电路设计工具对电路中的逻辑器件反向追踪驱动它的时钟来进行分组,也可以从时钟开始,追踪其驱动的逻辑器件来分组。优选地,在分组过程中,由同一时钟驱动的逻辑器件在一个逻辑组中。
在步骤S302,对所述电路在多个给定的时序模式下进行静态时序分析。静态时序分析可以采用现有的集成电路时序分析工具进行,例如Synopsys的PrimeTime,或者IBM EinsTimer。静态时序分析输入无任何时序信息的电路图,以及多个给定的时序模式下的时序约束文件,其输出包括包含时序信息的电路,例如电路每个节点上的时钟相位和到达时间,每两个时钟之间的DTA参数,每个寄存器是否存在建立时间检查违例等等。优选地,可以只进行一次静态时序分析,就可以利用该静态时序分析结果进行后续步骤。当然,本领域技术人员可以知道,也可以进行多次静态时序分析,选择较好的结果,但是这样需要花费的时间更长。
在步骤S303,根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系。逻辑组之间的关系包括逻辑组之间是否存在交互、交互的方向、交互的参数以及逻辑组内部交互的参数。
在一种获得多个给定的时序模式下的每个时序模式的逻辑组之间的交互以及交互的方向的实施方式中,是利用在静态时序分析过程中将时钟在电路中进行传播来得到逻辑组之间是否存在交互以及交互的方向的。由于在作静态时序分析的过程中,会将时钟在电路中进行传播,例如逻辑组A的时钟源头的时钟名字是clkA,逻辑组B的时钟源头的时钟名称是clkB,传播完毕之后,如果逻辑组B中出现了clkA的时钟,说明逻辑组A会发射信号到逻辑组B中,也就是逻辑组A与逻辑组B交互.使用这种方法去获得逻辑组之间的关系只要保证各个时钟源头上的时钟使用不同的名字即可。
在另外一种获得多个给定的时序模式下的每个时序模式的逻辑组之间的交互以及交互的方向的实施方式中,利用对逻辑组内各个逻辑器件进行向前或向后追踪来得到该逻辑组与其它逻辑组之间是否存在交互以及交互的方向。例如,可以对逻辑组A内各个逻辑器件进行向前或向后追踪,如果向前追踪到逻辑组B中的逻辑器件,则表示逻辑组B会发射信号到逻辑组A.如果向后追踪到逻辑组B中的逻辑器件,则表示逻辑组A会发射信号到逻辑组B,从而得到逻辑组之间的交互。
在又一种获得多个给定的时序模式下的每个时序模式的逻辑组之间的交互以及交互的方向的实施方式中,利用遍历电路中所有逻辑器件之间的连接关系来得到逻辑组之间是否存在交互以及交互的方向的,例如,可以将电路结构以一种数据结构在计算机中保存,包括电路中所有逻辑器件之间的连接关系,每个连接关系包括起始节点和终止节点,遍历所有的连接关系,如果发现连接关系的起始节点和终止节点在不同的逻辑组中,则表示逻辑组A和B交互。
此外,还有很多种本领域技术人员公知的其它获得多个给定的时序模式下的每个时序模式的逻辑组之间的交互以及交互的方向的实施方式,这里不再列举。逻辑组内部交互的参数通常是由用户自定义的。
以下以图4的电路示意图为例,定义一种描述多个时序模式下的逻辑组之间关系的数据结构,包括逻辑组之间的交互、交互的方向、以及相关参数。该数据结构可以采用表3进行描述,或者采用其它类似的数据结构,只要能够表达这些关系即可,例如数组,链表等。
表3描述多个时序模式下的逻辑组之间关系的数据表结构
Figure BSA00000648767300101
图4是一个常规电路示意图,该电路中,锁相环输出时钟,通过时钟波形产生器(分频器,波形对齐,门控时钟等器件组合而成)之后,输出给不同的逻辑域,实现逻辑功能。根据表3,第一列为逻辑组的序号,其中每一行包含一个逻辑组,如逻辑组1,逻辑组2...,,逻辑组i,第二列为本逻辑组的时钟物理源头,例如图4的时钟波形产生器的输出管脚;第三列为本逻辑组时钟物理源头的所有时钟,例如图4的时钟波形产生器的输出管脚上的所有时钟;第四列,第五列,...,第i列分别对应各个逻辑组,每个逻辑组行和逻辑组列交叉的部分表示了两个逻辑组之间交互的参数,上述静态时序分析的输出为包含时序信息的电路,能够从包含的时序信息中获得两个逻辑组之间交互的参数,这些参数包括DTA,静态时序分析获得的输出包括每两个逻辑组之间每两个时钟相位之间的DTA参数DTA1、DTA2、DTA3......。当表3中i和j相等时,也就是逻辑组内部,还包括时钟最小脉冲宽度参数。在每一个时序模式下,都可以得到一张诸如表3所表示的该时序模式下的逻辑组之间关系。
优选地,逻辑组之间的交互还可以包含很多其它参数,例如时序例外中的伪路径,时序例外中的建立时间检查,时序例外中的保持时间检查等等参数。这些参数一般也是通过上述静态时序分析输出的包含时序信息的电路中获得的。
回到图3,在步骤S304,将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。合并时,可以将所述多个给定的时序模式合并成一个时序模式,这样后续的时序分析最节省时间。当然,本领域技术人员知道,也可以合并成多个时序模式,只要少于给定的多个时序模式的个数,就能够节省后续时序分析的时间。具体合并过程中,采用的方法是一样的。以下以合并成一个时序模式为例,陈述合并方法。具体合并时,获得所有时序模式表中的[逻辑组i,逻辑组j]的表项,也就是说,如果有m个时序模式,会有m个诸如表3所示的表;然后比较m个诸如表3所示的表中对应表项的DTA,取出最小的DTA,例如i=1,j=0,m=3,m个表中对应表项的DTA分别为10ns、20ns、30ns,则取出最小的DTA为10ns;然后比较m个诸如表3所示的表中当i=j时的时钟最小脉冲宽度参数,例如i=j=1,m=3,m个诸如表3所示的表中对应表项的DTA和时钟最小脉冲宽度参数分别为10ns、4.5ns;10ns、5ns;20ns、10ns,则先选最小DTA,然后再从最小DTA对应的时序模式的时钟最小脉冲宽度参数中选最大的时钟最小脉冲宽度参数,即选择10ns、5ns;可以总结合并的步骤包括:对于任意两个逻辑组,根据在所述多个时序模式的每个时序模式中的所述两个逻辑组之间的DTA参数获得最小DTA参数;对于逻辑组内部,根据获得的最小DTA参数对应的时序模式中的时钟最小脉冲宽度参数,获得最大的时钟最小脉冲宽度参数。
优选地,还可以比较m个诸如表3所示的表中对应表项的其它用户自定义参数,例如时序例外参数,用户自定义最大延迟参数等。对于用户自定义最大延迟参数,例如在模式1中要求电路节点1到电路节点2最大的延迟为5ns,模式2中要求电路节点1到电路节点2最大的延迟为2ns,在合并模式为2ns。
这样,就将m个诸如表3所示的表合并成一张诸如表3所示的表,也就是得到了合并的结果,即合并的时序模式的关系。
以下以图1为例,使用本发明图3所示的方法,首先创建逻辑组1和逻辑组2,在表4和表5中给出得到的逻辑组1和逻辑组2之间的在不同时序模式下(时序模式1和时序模式2)的关系,最后进行合并,表6也给出了合并后的时序模式关系。
表4图1的逻辑组1和逻辑组2在时序模式1下的关系
Figure BSA00000648767300121
优选地,在步骤S305,将合并的结果生成时序约束文件。也就是说,通过合并成的一张诸如表3所示的表,生成时序约束文件。然后,设计人员就可以进一步进行时钟树规划等等设计步骤,从而完成整个设计。以表4为例,首先取出i=j=1的表项(以下i表示逻辑组行,j表示逻辑组列),即DTA=20ns,时钟最小脉冲宽度=10ns,则可以转化为下列时序约束代码:
表5图1的逻辑组1和逻辑组2在时序模式2下的关系
Figure BSA00000648767300131
表6图1的逻辑组1和逻辑组2模式合并后的关系
sdc::create_clock-name clk11-period 20ns-waveform[list 0.0 10ns]inst1/A;
sdc::set_min_pulse_width-value 10ns-object_list clk11
然后取出i=1,j=2的表项,即DTA=10ns,则可以转化为下列时序约束代码
sdc::create_clock-name clk11-period 20ns-waveform[list 0.0 10ns]inst1/A;
sdc::create_clock-name clk21-period 50ns-waveform[list 0.0 25ns]inst2/A;
sdc::set_min_pulse_width-value 10ns-object_list clk11
sdc::set_min_pulse_width-value 25ns-object_list clk21
然后取出i=2,j=1的表项,即DTA=10ns,则可以转化为下列时序约束代码
sdc::create_clock-name clk11-period 20ns-waveform[list 0.0 10ns]inst1/A;
sdc::create_clock-name clk21-period 50ns-waveform[list 0.0 25ns]inst2/A;
sdc::set_min_pulse_width-value 10ns-object_list clk11
sdc::set_min_pulse_width-value 25ns-object_list clk21
然后取出i=2,j=2的表项,即DTA=40ns,时钟最小脉冲宽度=20ns,则可以转化为下列时序约束代码
sdc::create_clock-name clk22-period 40ns-waveform[list 0.0 20ns]inst2/A;
sdc::set_min_pulse_width-value 20ns-object_list clk22
最后因为clk22没有在任何i不等于j的表项中用到,所以添加:
sdc::set_false_path-from clk11-to clk22
sdc::set_false_path-to clk11-from clk22
然后进行代码整合,去掉完全一致的代码,就得到生成的时序约束文件。也就是说,生成的时序约束文件如下:
sdc::create_clock-name clk11-period 20ns-waveform[list 0.0 10ns]inst1/A;
sdc::create_clock-name clk21-period 50ns-waveform[list 0.0 25ns]inst2/A;
sdc::create_clock-name clk22-period 40ns-waveform[list 0.0 20ns]inst2/A;
sdc::set_min_pulse_width-value 10ns-object_list clk11
sdc::set_min_pulse_width-value 25ns-object_list clk21
sdc::set_min_pulse_width-value 20ns-object_list clk22
sdc::set_false_path-from clk11-to clk22
sdc::set_false_path-to clk11-from clk22
本发明一方面将逻辑器件分成逻辑组,在划分的过程中需要考虑电路的结构;另一方面,对于图2,本发明可以检测到功能时序模式下逻辑域B是由路径2过来的时钟所驱动的,ASST时序模式下逻辑域B是由路径1过来的时钟驱动的,并且本发明会提取到所在A和B交互时候这两个时钟之间会有不同DTA参数DTA1,DTA2.因此会得到最小DTA,并且写入时序模式文件中,最终转化为时序约束文件.因此保证了ASST时序模式完全被包涵在最终合并后的时序约束文件下所作的时序模式中,从而可以解决图1和图2的使用现有技术进行合并所存在的问题。并且,用该多个时序模式合并的方法使得设计人员能够迅速合并多种时钟模式,从而减少设计时间、提高设计效率。
对于图2,如果使用了本发明的方法,首先创建逻辑组1和逻辑组2,在表7和8中给出得到的逻辑组1和逻辑组2之间的在不同时序模式下的关系,最后进行合并,表9也给出了合并后的时序模式关系。
表7图2的逻辑组1和逻辑组2在时序模式1下的关系
Figure BSA00000648767300161
表8图2的逻辑组1和逻辑组2在时序模式2下的关系
Figure BSA00000648767300171
表9图2的逻辑组1和逻辑组2模式合并后的关系
输出的时序约束文件对于图2,文件如下,输入是图2表格,输出是以下的时序约束文件
sdc::create_clock-name clk11-period 4ns-waveform[list 0.0 2ns]ICG/output;
sdc::create_clock-name clk21-period 2ns-waveform[list 0.0 1ns]IHSS/RXxDCLK
sdc::create_clock-name clk11-period 4ns-waveform[list  0.0 2ns]IHSS/RXxDCLK
sdc::set_false_path-from clk11-to clk21
sdc::set_false_path-to clk11-from clk21
在同一个发明构思下,本发明还公开了一种用于集成电路的多个时序模式合并的系统,图5示出了用于集成电路的多个时序模式合并的系统500的结构框图,根据图5,该系统包括:分组装置501,被配置为对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;静态时序分析装置502,被配置为对所述电路在多个给定的时序模式下进行静态时序分析;关系获得装置503,被配置为根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及合并装置504,被配置为将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。优选地,该系统还包括生成装置505,被配置为将合并的结果生成时序约束文件。
在一种实施方式中,其中所述分组装置创建的逻辑组中,由同一时钟驱动的逻辑器件在一个逻辑组中。
在一种实施方式中,所述每个时序模式的逻辑组之间的关系包括:逻辑组之间是否存在交互、交互的方向、交互的参数以及逻辑组内部交互的参数。
在另一种实施方式中,逻辑组之间是否存在交互以及交互的方向是通过如下方式之一获得的:
(1)利用在静态时序分析过程中将时钟在电路中进行传播来得到逻辑组之间是否存在交互以及交互的方向;
(2)利用对逻辑组内各个逻辑器件进行向前或向后追踪来得到该逻辑组与其它逻辑组之间是否存在交互以及交互的方向;
(3)利用遍历电路中所有逻辑器件之间的连接关系来得到逻辑组之间是否存在交互以及交互的方向。
上述实施方式中,所述逻辑组之间交互的参数是通过所述静态时序分析输出的包含时序信息的电路获得的。其中所述逻辑组之间交互的参数包括DTA,所述相同逻辑组内部交互的参数还包括时钟最小脉冲宽度参数。
在另外一种实施方式中,合并装置进一步被配置为:对于任意两个逻辑组,根据在所述多个时序模式的每个时序模式中的所述两个逻辑组之间的DTA参数获得最小DTA参数;对于逻辑组内部,根据获得的最小DTA参数对应的时序模式中的时钟最小脉冲宽度参数,获得最大的时钟最小脉冲宽度参数。
本发明可以采取硬件实施方式、软件实施方式或既包含硬件组件又包含软件组件的实施方式的形式。在优选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。
而且,本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。
介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适合于存储/或执行程序代码的数据处理系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/O控制器耦合到系统。
网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个例子。
从上述描述应当理解,在不脱离本发明真实精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受所附权利要求书的限制。

Claims (16)

1.一种用于集成电路的多个时序模式合并的方法,包括:
对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;
对所述电路在多个给定的时序模式下进行静态时序分析;
根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及
将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。
2.根据权利要求1所述的方法,其中创建的逻辑组中,由同一时钟驱动的逻辑器件在一个逻辑组中。
3.根据权利要求2所述的方法,其中所述每个时序模式的逻辑组之间的关系包括:逻辑组之间是否存在交互、交互的方向、交互的参数以及逻辑组内部交互的参数。
4.根据权利要求3所述的方法,其中逻辑组之间是否存在交互以及交互的方向是通过如下方式之一获得的:
利用在静态时序分析过程中将时钟在电路中进行传播来得到逻辑组之间是否存在交互以及交互的方向;
利用对逻辑组内各个逻辑器件进行向前或向后追踪来得到该逻辑组与其它逻辑组之间是否存在交互以及交互的方向;
利用遍历电路中所有逻辑器件之间的连接关系来得到逻辑组之间是否存在交互以及交互的方向。
5.根据权利要求3或4所述的方法,其中所述逻辑组之间交互的参数是通过所述静态时序分析结果中的包含时序信息的电路获得的。
6.根据权利要求3-5之一所述的方法,其中所述逻辑组之间交互的参数包括延迟和时序调整参数DTA,所述逻辑组内部交互的参数还包括时钟最小脉冲宽度参数。
7.根据权利要求6所述的方法,其中所述将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并包括:
对于任意两个逻辑组,根据在所述多个时序模式的每个时序模式中的所述两个逻辑组之间的DTA参数获得最小DTA参数;
对于逻辑组内部,根据获得的最小DTA参数对应的时序模式中的时钟最小脉冲宽度参数,获得最大的时钟最小脉冲宽度参数。
8.根据权利要求1所述的方法,其中还包括:将合并的结果生成时序约束文件。
9.一种用于集成电路的多个时序模式合并的系统,包括:
分组装置,被配置为对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;
静态时序分析装置,被配置为对所述电路在多个给定的时序模式下进行静态时序分析;
关系获得装置,被配置为根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及
合并装置,被配置为将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。
10.根据权利要求9所述的系统,其中所述分组装置创建的逻辑组中,由同一时钟驱动的逻辑器件在一个逻辑组中。
11.根据权利要求10所述的系统,其中所述每个时序模式的逻辑组之间的关系包括:逻辑组之间是否存在交互、交互的方向、交互的参数以及逻辑组内部交互的参数。
12.根据权利要求11所述的系统,其中逻辑组之间是否存在交互以及交互的方向是通过如下方式之一获得的:
利用在静态时序分析过程中将时钟在电路中进行传播来得到逻辑组之间是否存在交互以及交互的方向;
利用对逻辑组内各个逻辑器件进行向前或向后追踪来得到该逻辑组与其它逻辑组之间是否存在交互以及交互的方向;
利用遍历电路中所有逻辑器件之间的连接关系来得到逻辑组之间是否存在交互以及交互的方向。
13.根据权利要求11或12所述的系统,其中所述逻辑组之间交互的参数是通过所述静态时序分析结果中的包含时序信息的电路获得的。
14.根据权利要求11-13之一所述的系统,其中所述逻辑组之间交互的参数包括延迟和时序调整参数DTA,所述逻辑组内部交互的参数还包括时钟最小脉冲宽度参数。
15.根据权利要求14所述的系统,其中所述合并装置进一步被配置为:
对于任意两个逻辑组,根据在所述多个时序模式的每个时序模式中的所述两个逻辑组之间的DTA参数获得最小DTA参数;
对于逻辑组内部,根据获得的最小DTA参数对应的时序模式中的时钟最小脉冲宽度参数,获得最大的时钟最小脉冲宽度参数。
16.根据权利要求9所述的装置,其中还包括生成装置,被配置为将合并的结果生成时序约束文件。
CN201110456741.7A 2011-12-20 2011-12-20 一种用于集成电路的多个时序模式合并的方法和系统 Expired - Fee Related CN103177145B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110456741.7A CN103177145B (zh) 2011-12-20 2011-12-20 一种用于集成电路的多个时序模式合并的方法和系统
US13/716,501 US20130159952A1 (en) 2011-12-20 2012-12-17 Combining multiple timing modes of integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110456741.7A CN103177145B (zh) 2011-12-20 2011-12-20 一种用于集成电路的多个时序模式合并的方法和系统

Publications (2)

Publication Number Publication Date
CN103177145A true CN103177145A (zh) 2013-06-26
CN103177145B CN103177145B (zh) 2016-03-30

Family

ID=48611591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110456741.7A Expired - Fee Related CN103177145B (zh) 2011-12-20 2011-12-20 一种用于集成电路的多个时序模式合并的方法和系统

Country Status (2)

Country Link
US (1) US20130159952A1 (zh)
CN (1) CN103177145B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447215A (zh) * 2014-09-24 2016-03-30 瑞昱半导体股份有限公司 数字电路设计方法及相关的系统
CN105701266A (zh) * 2014-11-28 2016-06-22 国际商业机器公司 用于电路设计中的静态时序分析的方法和系统
CN105760560A (zh) * 2014-12-17 2016-07-13 国际商业机器公司 用于优化集成电路噪声性能的方法和装置
CN108226743A (zh) * 2016-12-22 2018-06-29 深圳市中兴微电子技术有限公司 一种测试向量的生成方法及装置
CN109710998A (zh) * 2018-02-27 2019-05-03 上海安路信息科技有限公司 内存优化型静态时序分析方法及其系统
CN110457839A (zh) * 2019-08-15 2019-11-15 中国科学院微电子研究所 一种加速芯片级电路时序分析方法
CN111046619A (zh) * 2019-12-27 2020-04-21 盛科网络(苏州)有限公司 组合逻辑时序收敛的方法、设备和存储介质
CN113486613A (zh) * 2021-06-29 2021-10-08 海光信息技术股份有限公司 数据链路的提取方法、装置、电子设备和存储介质
CN117313604A (zh) * 2023-11-30 2023-12-29 沐曦科技(成都)有限公司 时序例外约束检查方法、装置、系统及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138774B (zh) * 2015-08-25 2018-07-06 中山大学 一种基于集成电路层次化设计的时序后仿真方法
US10318683B2 (en) * 2016-05-20 2019-06-11 International Business Machines Corporation Clock domain-independent abstracts
US10990733B1 (en) * 2020-03-10 2021-04-27 Cadence Design Systems, Inc. Shared timing graph propagation for multi-mode multi-corner static timing analysis
US11720732B2 (en) * 2021-08-16 2023-08-08 International Business Machines Corporation Determining a blended timing constraint that satisfies multiple timing constraints and user-selected specifications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070089076A1 (en) * 2005-10-14 2007-04-19 Sun Microsystems, Inc. Application of consistent cycle context for related setup and hold tests for static timing analysis
CN101877017A (zh) * 2009-04-30 2010-11-03 新思科技有限公司 使用快速估计技术的有效的采用穷尽法的基于路径的sta
CN102054108A (zh) * 2010-12-31 2011-05-11 北京大学深圳研究生院 集成电路下层硬件映射方法、时空图压缩方法及装置
CN102054090A (zh) * 2009-10-28 2011-05-11 复旦大学 基于改进自适应随机配置法的统计时序分析方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607186B2 (en) * 2010-04-13 2013-12-10 Synopsys, Inc. Automatic verification of merged mode constraints for electronic circuits

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070089076A1 (en) * 2005-10-14 2007-04-19 Sun Microsystems, Inc. Application of consistent cycle context for related setup and hold tests for static timing analysis
CN101877017A (zh) * 2009-04-30 2010-11-03 新思科技有限公司 使用快速估计技术的有效的采用穷尽法的基于路径的sta
CN102054090A (zh) * 2009-10-28 2011-05-11 复旦大学 基于改进自适应随机配置法的统计时序分析方法及装置
CN102054108A (zh) * 2010-12-31 2011-05-11 北京大学深圳研究生院 集成电路下层硬件映射方法、时空图压缩方法及装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447215B (zh) * 2014-09-24 2018-07-27 瑞昱半导体股份有限公司 数字电路设计方法及相关的系统
CN105447215A (zh) * 2014-09-24 2016-03-30 瑞昱半导体股份有限公司 数字电路设计方法及相关的系统
US10380285B2 (en) 2014-11-28 2019-08-13 International Business Machines Corporation Static timing analysis in circuit design
CN105701266A (zh) * 2014-11-28 2016-06-22 国际商业机器公司 用于电路设计中的静态时序分析的方法和系统
US10528698B2 (en) 2014-12-17 2020-01-07 International Business Machines Corporation Enhancing integrated circuit noise performance
CN105760560B (zh) * 2014-12-17 2019-05-07 国际商业机器公司 用于优化集成电路噪声性能的方法和装置
CN105760560A (zh) * 2014-12-17 2016-07-13 国际商业机器公司 用于优化集成电路噪声性能的方法和装置
US10242149B2 (en) 2014-12-17 2019-03-26 International Business Machines Corporation Enhancing integrated circuit noise performance
US10528699B2 (en) 2014-12-17 2020-01-07 International Business Machines Corporation Enhancing integrated circuit noise performance
CN108226743A (zh) * 2016-12-22 2018-06-29 深圳市中兴微电子技术有限公司 一种测试向量的生成方法及装置
CN109710998A (zh) * 2018-02-27 2019-05-03 上海安路信息科技有限公司 内存优化型静态时序分析方法及其系统
CN109710998B (zh) * 2018-02-27 2021-01-05 上海安路信息科技有限公司 内存优化型静态时序分析方法及其系统
CN110457839B (zh) * 2019-08-15 2023-04-07 中国科学院微电子研究所 一种加速芯片级电路时序分析方法
CN110457839A (zh) * 2019-08-15 2019-11-15 中国科学院微电子研究所 一种加速芯片级电路时序分析方法
CN111046619A (zh) * 2019-12-27 2020-04-21 盛科网络(苏州)有限公司 组合逻辑时序收敛的方法、设备和存储介质
CN113486613A (zh) * 2021-06-29 2021-10-08 海光信息技术股份有限公司 数据链路的提取方法、装置、电子设备和存储介质
CN113486613B (zh) * 2021-06-29 2023-06-30 海光信息技术股份有限公司 数据链路的提取方法、装置、电子设备和存储介质
CN117313604A (zh) * 2023-11-30 2023-12-29 沐曦科技(成都)有限公司 时序例外约束检查方法、装置、系统及存储介质
CN117313604B (zh) * 2023-11-30 2024-02-06 沐曦科技(成都)有限公司 时序例外约束检查方法、装置、系统及存储介质

Also Published As

Publication number Publication date
CN103177145B (zh) 2016-03-30
US20130159952A1 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
CN103177145B (zh) 一种用于集成电路的多个时序模式合并的方法和系统
US11093674B2 (en) Generating clock signals for a cycle accurate, cycle reproducible FPGA based hardware accelerator
US7694242B1 (en) System and method of replacing flip-flops with pulsed latches in circuit designs
CN102799698B (zh) 一种用于专用集成电路的时钟树规划的方法和系统
US20150026494A1 (en) Intelligent mesochronous synchronizer
US20080288901A1 (en) Formally deriving a minimal clock-gating scheme
US8661378B2 (en) Asychronous system analysis
Kim et al. Pipeline optimization for asynchronous circuits: Complexity analysis and an efficient optimal algorithm
Davis et al. A practical reconfigurable hardware accelerator for Boolean satisfiability solvers
US7702009B2 (en) Timing analysis apparatus and method of timing analysis
US20110295586A1 (en) Clock simulation device and methods thereof
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
Behal et al. An automated setup for large-scale simulation-based fault-injection experiments on asynchronous digital circuits
CN104795091B (zh) 在fpga中实现zbt读写的时序稳定度的系统及方法
Zhang et al. Path delay test generation toward activation of worst case coupling effects
Stahl et al. Hazard detection in a GALS wrapper: A case study
Khatib et al. Pre-Silicon Clock Validation for Server SoC
US11042181B2 (en) Local clock injection and independent capture for circuit test of multiple cores in clock mesh architecture
Hale et al. Preallocating Resources for Distributed Memory Based FPGA Debug
Langer et al. High level synthesis using operation properties
US20130166269A1 (en) Simulation apparatus, simulation method, and recording medium
US20230035693A1 (en) Clock signal realignment for emulation of a circuit design
Dobkin et al. Assertion based verification of multiple-clock gals systems
Huang et al. An Efficient Timing Optimization Method in ASIC Design
Brzozowski Topics in Asynchronous Circuit Theory.

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

Effective date of registration: 20171107

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: 20171107

Address after: American New York

Patentee after: Core USA second LLC

Address before: New York grams of Armand

Patentee before: International Business Machines Corp.

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

Granted publication date: 20160330

Termination date: 20181220