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

上传人:GAME****980 文档编号:1569646 上传时间:2018-06-25 格式:PDF 页数:18 大小:692.91KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110456741.7

申请日:

2011.12.20

公开号:

CN103177145A

公开日:

2013.06.26

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 17/50登记生效日:20171107变更事项:专利权人变更前权利人:格芯美国第二有限责任公司变更后权利人:格芯公司变更事项:地址变更前权利人:美国纽约变更后权利人:开曼群岛大开曼岛|||专利权的转移IPC(主分类):G06F 17/50登记生效日:20171107变更事项:专利权人变更前权利人:国际商业机器公司变更后权利人:格芯美国第二有限责任公司变更事项:地址变更前权利人:美国纽约阿芒克变更后权利人:美国纽约|||授权|||实质审查的生效IPC(主分类):G06F 17/50申请日:20111220|||公开

IPC分类号:

G06F17/50

主分类号:

G06F17/50

申请人:

国际商业机器公司

发明人:

牛佳; 戴红卫; 程铁鹏; 李恭琼; 李侠; 周凡

地址:

美国纽约阿芒克

优先权:

专利代理机构:

北京市金杜律师事务所 11256

代理人:

酆迅;李峥宇

PDF下载: PDF下载
内容摘要

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

权利要求书

权利要求书
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所述的装置,其中还包括生成装置,被配置为将合并的结果生成时序约束文件。

说明书

说明书一种用于集成电路的多个时序模式合并的方法和系统
技术领域
本发明一般涉及集成电路设计,更具体地,涉及一种用于集成电路的多个时序模式合并的方法和系统。
背景技术
集成电路设计的流程的一个很重要的步骤就是时序分析(Timing Analysis),时序分析中,首先可以对于时钟效应的预计采用理想时钟模型(Ideal Clock Model),进行静态时序分析,然后插入时钟树(Insert Clock Tree),插入时钟树也称时钟树规划。现有的时钟树规划过程可以手工完成,也可以由电子设计自动化(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一个实际的集成电路设计的不同时序要求

在多个时序模式下,集成电路的逻辑器件工作在不同的时钟频率下,设计人员一个直观的想法是:如果该设计在最大时钟频率都已经满足时序要求,那么就可以满足所有的其它时序要求。但是,实际上这种观点是不完全正确的。对于表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电路使用集成电路设计工具进行合并的结果

另外对于图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描述多个时序模式下的逻辑组之间关系的数据表结构

图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下的关系

优选地,在步骤S305,将合并的结果生成时序约束文件。也就是说,通过合并成的一张诸如表3所示的表,生成时序约束文件。然后,设计人员就可以进一步进行时钟树规划等等设计步骤,从而完成整个设计。以表4为例,首先取出i=j=1的表项(以下i表示逻辑组行,j表示逻辑组列),即DTA=20ns,时钟最小脉冲宽度=10ns,则可以转化为下列时序约束代码:
表5图1的逻辑组1和逻辑组2在时序模式2下的关系

表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下的关系

表8图2的逻辑组1和逻辑组2在时序模式2下的关系

表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控制器耦合到系统。
网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个例子。
从上述描述应当理解,在不脱离本发明真实精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受所附权利要求书的限制。

一种用于集成电路的多个时序模式合并的方法和系统.pdf_第1页
第1页 / 共18页
一种用于集成电路的多个时序模式合并的方法和系统.pdf_第2页
第2页 / 共18页
一种用于集成电路的多个时序模式合并的方法和系统.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种用于集成电路的多个时序模式合并的方法和系统.pdf》由会员分享,可在线阅读,更多相关《一种用于集成电路的多个时序模式合并的方法和系统.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103177145 A(43)申请公布日 2013.06.26CN103177145A*CN103177145A*(21)申请号 201110456741.7(22)申请日 2011.12.20G06F 17/50(2006.01)(71)申请人国际商业机器公司地址美国纽约阿芒克(72)发明人牛佳 戴红卫 程铁鹏 李恭琼李侠 周凡(74)专利代理机构北京市金杜律师事务所 11256代理人酆迅 李峥宇(54) 发明名称一种用于集成电路的多个时序模式合并的方法和系统(57) 摘要本发明公开了一种用于集成电路的多个时序模式合并的方法和系统,方法包括:对电路中的逻辑器件根据驱。

2、动该逻辑器件的时钟创建逻辑组;对所述电路在多个给定的时序模式下进行静态时序分析;根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。该方法和系统使得设计人员能够迅速合并多个时序模式,从而减少设计时间、提高设计效率。(51)Int.Cl.权利要求书2页 说明书12页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书12页 附图3页(10)申请公布号 CN 103177145 ACN 103177145 A1/2页21.一种用于集成电路的多个时序模式合并的方法,包括。

3、:对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;对所述电路在多个给定的时序模式下进行静态时序分析;根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。2.根据权利要求1所述的方法,其中创建的逻辑组中,由同一时钟驱动的逻辑器件在一个逻辑组中。3.根据权利要求2所述的方法,其中所述每个时序模式的逻辑组之间的关系包括:逻辑组之间是否存在交互、交互的方向、交互的参数以及逻辑组内部交互的参数。4.根据权利要求3所述的方法,其中逻辑组之间是否存在交互以及交互的方向是通过如下方式之一获得的:利用在静态时序。

4、分析过程中将时钟在电路中进行传播来得到逻辑组之间是否存在交互以及交互的方向;利用对逻辑组内各个逻辑器件进行向前或向后追踪来得到该逻辑组与其它逻辑组之间是否存在交互以及交互的方向;利用遍历电路中所有逻辑器件之间的连接关系来得到逻辑组之间是否存在交互以及交互的方向。5.根据权利要求3或4所述的方法,其中所述逻辑组之间交互的参数是通过所述静态时序分析结果中的包含时序信息的电路获得的。6.根据权利要求3-5之一所述的方法,其中所述逻辑组之间交互的参数包括延迟和时序调整参数DTA,所述逻辑组内部交互的参数还包括时钟最小脉冲宽度参数。7.根据权利要求6所述的方法,其中所述将获得的多个给定的时序模式的每个时。

5、序模式的逻辑组之间的关系进行合并包括:对于任意两个逻辑组,根据在所述多个时序模式的每个时序模式中的所述两个逻辑组之间的DTA参数获得最小DTA参数;对于逻辑组内部,根据获得的最小DTA参数对应的时序模式中的时钟最小脉冲宽度参数,获得最大的时钟最小脉冲宽度参数。8.根据权利要求1所述的方法,其中还包括:将合并的结果生成时序约束文件。9.一种用于集成电路的多个时序模式合并的系统,包括:分组装置,被配置为对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;静态时序分析装置,被配置为对所述电路在多个给定的时序模式下进行静态时序分析;关系获得装置,被配置为根据静态时序分析结果获得多个给定的时序模式的每。

6、个时序模式的逻辑组之间的关系;以及合并装置,被配置为将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。10.根据权利要求9所述的系统,其中所述分组装置创建的逻辑组中,由同一时钟驱动的逻辑器件在一个逻辑组中。权 利 要 求 书CN 103177145 A2/2页311.根据权利要求10所述的系统,其中所述每个时序模式的逻辑组之间的关系包括:逻辑组之间是否存在交互、交互的方向、交互的参数以及逻辑组内部交互的参数。12.根据权利要求11所述的系统,其中逻辑组之间是否存在交互以及交互的方向是通过如下方式之一获得的:利用在静态时序分析过程中将时钟在电路中进行传播来得到逻辑组之间是否存在。

7、交互以及交互的方向;利用对逻辑组内各个逻辑器件进行向前或向后追踪来得到该逻辑组与其它逻辑组之间是否存在交互以及交互的方向;利用遍历电路中所有逻辑器件之间的连接关系来得到逻辑组之间是否存在交互以及交互的方向。13.根据权利要求11或12所述的系统,其中所述逻辑组之间交互的参数是通过所述静态时序分析结果中的包含时序信息的电路获得的。14.根据权利要求11-13之一所述的系统,其中所述逻辑组之间交互的参数包括延迟和时序调整参数DTA,所述逻辑组内部交互的参数还包括时钟最小脉冲宽度参数。15.根据权利要求14所述的系统,其中所述合并装置进一步被配置为:对于任意两个逻辑组,根据在所述多个时序模式的每个时。

8、序模式中的所述两个逻辑组之间的DTA参数获得最小DTA参数;对于逻辑组内部,根据获得的最小DTA参数对应的时序模式中的时钟最小脉冲宽度参数,获得最大的时钟最小脉冲宽度参数。16.根据权利要求9所述的装置,其中还包括生成装置,被配置为将合并的结果生成时序约束文件。权 利 要 求 书CN 103177145 A1/12页4一种用于集成电路的多个时序模式合并的方法和系统技术领域0001 本发明一般涉及集成电路设计,更具体地,涉及一种用于集成电路的多个时序模式合并的方法和系统。背景技术0002 集成电路设计的流程的一个很重要的步骤就是时序分析(Timing Analysis),时序分析中,首先可以对于。

9、时钟效应的预计采用理想时钟模型(Ideal Clock Model),进行静态时序分析,然后插入时钟树(Insert Clock Tree),插入时钟树也称时钟树规划。现有的时钟树规划过程可以手工完成,也可以由电子设计自动化(EDA)工具来完成的,最流行的时钟树都采用自动化工具来完成。其基本原理是根据各时序器件到时钟源的距离,在适当的位置放置缓冲器(buffer)以使时钟源到每个时序器件的时钟偏差(skew)最小化。插入的由缓冲器组成的树状的信号中继网络被称为时钟树。插入的时钟树要求能够满足时序约束文件中的时序约束,从而保持时序的收敛性,达到设计的效果。最后进行带时钟的时序分析以及时钟树调节。。

10、时钟树规划、时钟树插入以及时钟树调节的耗时往往要以天甚至周来计算,是集成电路设计过程中影响设计周期的重要因素。0003 尤其当前的集成电路设计中,常常一个芯片具有多个时序模式,也就是说,该芯片的逻辑电路可以在多个不同的时钟频率下工作,在这种情况下,传统的设计中,一种解决办法是对每个时序模式,都进行静态及动态时序分析,使多个时序模式都达到时序收敛,仅仅是一个时序模式的时序分析,已经需要大量时间,对多个时序模式的时序分析,显然需要消耗更大量的时间,使得整个设计周期大大加长;由用户自己将多个时序模式合并成较少的时序模式,最好是合并成一个时序模式,在这种方法中,一种解决办法是:采用最大时钟频率的时序要。

11、求,但是这种解决方案在电路的逻辑域彼此有交互的情况下是有问题的;现有技术中的另一种方案,首先接收多个在不同时序下所要求的时序约束文件,并且生成合并的时序约束文件,这个时序约束文件合并时将多个时序约束完整地汇总为一个超级模式(super mode),所有时序约束文件中的所有的时钟波形都会保存在超级模式中,然后可以用于物理设计工具进行多次的物理设计迭代,但是这种合并方式只考虑了时序约束,没有考虑电路;另外,在合并过程中也没有考虑时序冗余,后续将会详细介绍对于某些集成电路设计,这种合并方法不能解决问题。发明内容0004 因此,需要一种集成电路的多个时序模式合并的方法和系统,使得设计人员能够迅速合并多。

12、种时钟模式,从而减少设计时间、提高设计效率。0005 根据本发明的一个方面,提供了一种用于集成电路的多个时序模式合并的方法,包括:0006 对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组;0007 对所述电路在多个给定的时序模式下进行静态时序分析;说 明 书CN 103177145 A2/12页50008 根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及0009 将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。0010 根据本发明的另一个方面,提供了一种用于集成电路的多个时序模式合并的系统,包括:0011 分组装置,被配置为对电路中的逻。

13、辑器件根据驱动该逻辑器件的时钟创建逻辑组;0012 静态时序分析装置,被配置为对所述电路在多个给定的时序模式下进行静态时序分析;0013 关系获得装置,被配置为根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系;以及0014 合并装置,被配置为将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。附图说明0015 通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。0016 图1示出了一个实际的集成电路设计例子;0017 图2示出了另外一个实际的集。

14、成电路设计的不同的时序模式;0018 图3示意性地示出了根据本发明的一种实施方式的用于集成电路的多个时序模式合并的方法的流程图;0019 图4是一个常规电路示意图;以及0020 图5示出了用于集成电路的多个时序模式合并的系统500的结构框图。具体实施方式0021 将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。0022 图1示出了一个实际的集成电路设计例子,该电路包含两个逻辑域(Logic Dom。

15、ain)P1和P2以及两个时序模式,如表1所示。每个逻辑域在不同的时序模式下的时序要求不同,其中例如数据20ns表示第一逻辑域P1在第一时序模式下的时钟周期为20纳秒(ns)。其中DTA参数(延迟和时序调整Delay and Timing Adjust)主要用于计算时序检查时的时序调整,例如计算源头为寄存器时钟输出,信号末端为寄存器时钟接收,信号源头到达时间是AT1,信号末端到达时间是AT2,时序分析会作信号建立时间的检查,可用公式标示为:0023 AT2(AT1+DTA参数-信号建立时间)0024 表1中在第一时序模式下,逻辑域P2到逻辑域P1的DTA参数为10ns。说 明 书CN 1031。

16、77145 A3/12页60025 图2示出了另外一个实际的集成电路设计的不同的时序模式。该电路主要功能是高速数据的接收。在功能时序分析的时候,高速核给逻辑域B提供时钟,片上锁相环为逻辑域A提供时钟,逻辑域A和逻辑域B之间有交互,但是因为时钟来源不同,彼此间没有时序检查;但设计的集成电路常常要做ASST(AT Speed Structural Test)测试,ASST时序主要用来检查芯片上会被测试机高速测试的路径是否已经完成了时序收敛,在作ASST时序分析的时候,逻辑A和逻辑域B的时钟均由同一锁相环提供,逻辑域A和逻辑域B之间的交互发生了时序检查。图2中的第一条路径(即圆圈1指示的路径)为AS。

17、ST模式路径,第二条路径(即圆圈2指示的路径)为功能模式路径,正常情况下,这两个模式路径的时序要求应该是相同的,但是,在该示例中,由于两个模式路径走了不同的路径,他们的时序要求就不同了。0026 表1一个实际的集成电路设计的不同时序要求0027 0028 在多个时序模式下,集成电路的逻辑器件工作在不同的时钟频率下,设计人员一个直观的想法是:如果该设计在最大时钟频率都已经满足时序要求,那么就可以满足所有的其它时序要求。但是,实际上这种观点是不完全正确的。对于表1的示例,如果对逻辑域的时序要求简单地使用最大频率(即最小时钟周期)进行合并,合并的DTA将会选择不同逻辑域的时序要求的最大公约数,则使用。

18、集成电路设计工具进行合并的结果如表2所示,显然,合并的DTA并不能满足第一时序模式的要求,因此,上述简单的合并在逻辑域之间有交互时并不能满足设计的要求。0029 下面简单介绍一下时序检查的冗余。例如对于图1中的例子,逻辑域P1内部会作DTA20ns,DTA40ns的建立时间检查,逻辑域P2内部会作DTA50ns,DTA40ns的建立时间检查,逻辑域2到逻辑域1之间会作DTA10ns,DTA40ns的建立时间检查.但是其中逻辑域内部P1的DTA40ns的检查是冗余的,因为它已经做了小于40ns的10ns的检查。这种冗余检查虽然不会造成结果的变化,但是会造成设计周期变长。同样,对于图2,这种冗余检。

19、查也会造成设计周期变长。0030 表2图1电路使用集成电路设计工具进行合并的结果0031 说 明 书CN 103177145 A4/12页70032 另外对于图2中的例子,使用现有技术中的另一种方案,也就是接收多个在不同时序下所要求的时序约束文件,并且生成合并的时序约束文件。这种做法只是将所有时序约束文件进行合并,不能够知道电路内部的时序路径,即不检查电路,因此它并不知道高速核的内部时序路径是什么样的,不知道是存在路径1还是路径2,因此它即使合并了所有的时序约束文件,也不能保证ASST时序模式可以被包含在最终合并后的时序约束文件下所作的时序模式中。0033 本发明的发明人通过分析发现:不同时序。

20、模式的合并不仅要求具有完整性,即合并后的时序模式涵盖了所有的时序模式要求,还要求具有唯一性,即合并后的时序模式没有时序冗余。也就是说,合并就可以将所有的时序模式合并成一个最差时序模式,只要在最差时序模式进行时序分析,达到时序收敛,就可以使得所有的时序模式都达到时序收敛。最差时序模式可能是要求的时序模式之一,也可能与所有的要求的时序模式都不同。0034 图3示意性地示出了根据本发明的一种实施方式的用于集成电路的多个时序模式合并的方法的流程图,根据图3,在步骤S301,对电路中的逻辑器件根据驱动该逻辑器件的时钟创建逻辑组。在该步骤中,可以利用集成电路设计工具对电路中的逻辑器件反向追踪驱动它的时钟来。

21、进行分组,也可以从时钟开始,追踪其驱动的逻辑器件来分组。优选地,在分组过程中,由同一时钟驱动的逻辑器件在一个逻辑组中。0035 在步骤S302,对所述电路在多个给定的时序模式下进行静态时序分析。静态时序分析可以采用现有的集成电路时序分析工具进行,例如Synopsys的PrimeTime,或者IBM EinsTimer。静态时序分析输入无任何时序信息的电路图,以及多个给定的时序模式下的时序约束文件,其输出包括包含时序信息的电路,例如电路每个节点上的时钟相位和到达时间,每两个时钟之间的DTA参数,每个寄存器是否存在建立时间检查违例等等。优选地,可以只进行一次静态时序分析,就可以利用该静态时序分析结。

22、果进行后续步骤。当然,本领域技术人员可以知道,也可以进行多次静态时序分析,选择较好的结果,但是这样需要花费的时间更长。0036 在步骤S303,根据静态时序分析结果获得多个给定的时序模式的每个时序模式的逻辑组之间的关系。逻辑组之间的关系包括逻辑组之间是否存在交互、交互的方向、交互的参数以及逻辑组内部交互的参数。0037 在一种获得多个给定的时序模式下的每个时序模式的逻辑组之间的交互以及交互的方向的实施方式中,是利用在静态时序分析过程中将时钟在电路中进行传播来得到逻辑组之间是否存在交互以及交互的方向的。由于在作静态时序分析的过程中,会将时钟在电路中进行传播,例如逻辑组A的时钟源头的时钟名字是cl。

23、kA,逻辑组B的时钟源头的时钟说 明 书CN 103177145 A5/12页8名称是clkB,传播完毕之后,如果逻辑组B中出现了clkA的时钟,说明逻辑组A会发射信号到逻辑组B中,也就是逻辑组A与逻辑组B交互.使用这种方法去获得逻辑组之间的关系只要保证各个时钟源头上的时钟使用不同的名字即可。0038 在另外一种获得多个给定的时序模式下的每个时序模式的逻辑组之间的交互以及交互的方向的实施方式中,利用对逻辑组内各个逻辑器件进行向前或向后追踪来得到该逻辑组与其它逻辑组之间是否存在交互以及交互的方向。例如,可以对逻辑组A内各个逻辑器件进行向前或向后追踪,如果向前追踪到逻辑组B中的逻辑器件,则表示逻辑。

24、组B会发射信号到逻辑组A.如果向后追踪到逻辑组B中的逻辑器件,则表示逻辑组A会发射信号到逻辑组B,从而得到逻辑组之间的交互。0039 在又一种获得多个给定的时序模式下的每个时序模式的逻辑组之间的交互以及交互的方向的实施方式中,利用遍历电路中所有逻辑器件之间的连接关系来得到逻辑组之间是否存在交互以及交互的方向的,例如,可以将电路结构以一种数据结构在计算机中保存,包括电路中所有逻辑器件之间的连接关系,每个连接关系包括起始节点和终止节点,遍历所有的连接关系,如果发现连接关系的起始节点和终止节点在不同的逻辑组中,则表示逻辑组A和B交互。0040 此外,还有很多种本领域技术人员公知的其它获得多个给定的时。

25、序模式下的每个时序模式的逻辑组之间的交互以及交互的方向的实施方式,这里不再列举。逻辑组内部交互的参数通常是由用户自定义的。0041 以下以图4的电路示意图为例,定义一种描述多个时序模式下的逻辑组之间关系的数据结构,包括逻辑组之间的交互、交互的方向、以及相关参数。该数据结构可以采用表3进行描述,或者采用其它类似的数据结构,只要能够表达这些关系即可,例如数组,链表等。0042 表3描述多个时序模式下的逻辑组之间关系的数据表结构0043 说 明 书CN 103177145 A6/12页90044 图4是一个常规电路示意图,该电路中,锁相环输出时钟,通过时钟波形产生器(分频器,波形对齐,门控时钟等器件。

26、组合而成)之后,输出给不同的逻辑域,实现逻辑功能。根据表3,第一列为逻辑组的序号,其中每一行包含一个逻辑组,如逻辑组1,逻辑组2.,逻辑组i,第二列为本逻辑组的时钟物理源头,例如图4的时钟波形产生器的输出管脚;第三列为本逻辑组时钟物理源头的所有时钟,例如图4的时钟波形产生器的输出管脚上的所有时钟;第四列,第五列,.,第i列分别对应各个逻辑组,每个逻辑组行和逻辑组列交叉的部分表示了两个逻辑组之间交互的参数,上述静态时序分析的输出为包含时序信息的电路,能够从包含的时序信息中获得两个逻辑组之间交互的参数,这些参数包括DTA,静态时序分析获得的输出包括每两个逻辑组之间每两个时钟相位之间的DTA参数DT。

27、A1、DTA2、DTA3.。当表3中i和j相等时,也就是逻辑组内部,还包括时钟最小脉冲宽度参数。在每一个时序模式下,都可以得到一张诸如表3所表示的该时序模式下的逻辑组之间关系。0045 优选地,逻辑组之间的交互还可以包含很多其它参数,例如时序例外中的伪路径,时序例外中的建立时间检查,时序例外中的保持时间检查等等参数。这些参数一般也是通过上述静态时序分析输出的包含时序信息的电路中获得的。0046 回到图3,在步骤S304,将获得的多个给定的时序模式的每个时序模式的逻辑组之间的关系进行合并。合并时,可以将所述多个给定的时序模式合并成一个时序模式,这样后续的时序分析最节省时间。当然,本领域技术人员知。

28、道,也可以合并成多个时序模式,只说 明 书CN 103177145 A7/12页10要少于给定的多个时序模式的个数,就能够节省后续时序分析的时间。具体合并过程中,采用的方法是一样的。以下以合并成一个时序模式为例,陈述合并方法。具体合并时,获得所有时序模式表中的逻辑组i,逻辑组j的表项,也就是说,如果有m个时序模式,会有m个诸如表3所示的表;然后比较m个诸如表3所示的表中对应表项的DTA,取出最小的DTA,例如i1,j0,m3,m个表中对应表项的DTA分别为10ns、20ns、30ns,则取出最小的DTA为10ns;然后比较m个诸如表3所示的表中当ij时的时钟最小脉冲宽度参数,例如ij1,m3,。

29、m个诸如表3所示的表中对应表项的DTA和时钟最小脉冲宽度参数分别为10ns、4.5ns;10ns、5ns;20ns、10ns,则先选最小DTA,然后再从最小DTA对应的时序模式的时钟最小脉冲宽度参数中选最大的时钟最小脉冲宽度参数,即选择10ns、5ns;可以总结合并的步骤包括:对于任意两个逻辑组,根据在所述多个时序模式的每个时序模式中的所述两个逻辑组之间的DTA参数获得最小DTA参数;对于逻辑组内部,根据获得的最小DTA参数对应的时序模式中的时钟最小脉冲宽度参数,获得最大的时钟最小脉冲宽度参数。0047 优选地,还可以比较m个诸如表3所示的表中对应表项的其它用户自定义参数,例如时序例外参数,用。

30、户自定义最大延迟参数等。对于用户自定义最大延迟参数,例如在模式1中要求电路节点1到电路节点2最大的延迟为5ns,模式2中要求电路节点1到电路节点2最大的延迟为2ns,在合并模式为2ns。0048 这样,就将m个诸如表3所示的表合并成一张诸如表3所示的表,也就是得到了合并的结果,即合并的时序模式的关系。0049 以下以图1为例,使用本发明图3所示的方法,首先创建逻辑组1和逻辑组2,在表4和表5中给出得到的逻辑组1和逻辑组2之间的在不同时序模式下(时序模式1和时序模式2)的关系,最后进行合并,表6也给出了合并后的时序模式关系。0050 表4图1的逻辑组1和逻辑组2在时序模式1下的关系0051 0052 优选地,在步骤S305,将合并的结果生成时序约束文件。也就是说,通过合并成的一张诸如表3所示的表,生成时序约束文件。然后,设计人员就可以进一步进行时钟树规划等等设计步骤,从而完成整个设计。以表4为例,首先取出ij1的表项(以下i表示逻辑组行,j表示逻辑组列),即DTA20ns,时钟最小脉冲宽度10ns,则可以转化为下列时序约束代码:0053 表5图1的逻辑组1和逻辑组2在时序模式2下的关系0054 说 明 书CN 103177145 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1