CN1637423A - 延迟库生成方法和延迟库生成装置 - Google Patents
延迟库生成方法和延迟库生成装置 Download PDFInfo
- Publication number
- CN1637423A CN1637423A CNA2004101028424A CN200410102842A CN1637423A CN 1637423 A CN1637423 A CN 1637423A CN A2004101028424 A CNA2004101028424 A CN A2004101028424A CN 200410102842 A CN200410102842 A CN 200410102842A CN 1637423 A CN1637423 A CN 1637423A
- Authority
- CN
- China
- Prior art keywords
- limits value
- timing
- value
- regularly
- timing limits
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
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
在短时间周期之内有效生成高精度的延迟库。最终,通过静态分析来计算准备时间,而不用考虑布线引起的延迟;设置用于下一个对分搜索周期的搜索范围的初始值,以使准备时间为搜索范围的中间值(例如,设置0.5ns的范围);并且利用基于搜索范围的初始值的对分搜索,获取正确的准备时间α。
Description
相关申请的交叉引用
本申请要求于2003年12月26日在日本提出的专利申请No.2003-435316的优先权,其全部内容通过参考引入本申请。
技术领域
本发明涉及一种用于生成含有定时限制值(timing constraintvalue)和延迟值的延迟库(delay library)的方法和装置,其用于校验半导体集成电路的操作定时。
背景技术
采用一种延迟库校验半导体集成电路的操作定时,所述延迟库包含有关其构成半导体集成电路的每个逻辑电路(逻辑单元)的电路特征的信息,例如定时限制值、延迟值等。通过用称为“特征工具”的装置提取每个单元的特征,生成延迟库。具体地,根据表示每个单元中的晶体管的连接的网表、表示输入信号转变的测试矢量(testvector)等,由模拟器(simulator)来模拟每个单元的操作。然后,从模拟结果中提取特征例如延迟值等,以生成延迟库(例如,“synspec reference manual”,Excellent Design Inc,1997年4月(作者未知))。
例如,通过重复设置定时限制值和模拟的预测值并收敛定时限制值、同时根据模拟结果来改变预测值来获得定时限制值,诸如不能由模拟周期获得的触发器电路的准备时间。更具体地,采用对分搜索(binary search)方法,确定预测值是否大于待获取的定时限制值。然后,将用于定时限制值的搜索范围的任何一半确定为新的搜索范围,并且再次为新的搜索范围设定预测值。重复所述模拟和判定,由此相对有效地获取定时限制值(例如,日本未审专利公开No.7-43407)。
这里,在包含上述对分搜索处理的模拟中,考虑信号布线产生的延迟时间。特别是近年来,随着器件变得越来越小,单元中含有的晶体管的延迟时间也减少。另一方面,因为布线之间的距离减少且布线宽度减少,所以布线之间的电容和布线电阻就增加。结果,布线引起的延迟时间就会增加。因此,在整个单元的工作期间产生的延迟时间之中,高精度地估测出由布线引起的延迟时间就很重要。基于此,例如,在存在非均匀传输线的情况下,其二维剖面形状(即,特征阻抗)根据传输线上的位置而改变,就将传输线分为多段,且将每段模拟为均匀的传输线。级联并大致分析模拟的传输线段(例如,CQ出版有限公司,2003年4月,《设计波杂志》,第141-146页,Hideki ASAI和Takayuki WATANABE人的“用于高速数字电路设计的模拟电路模拟介绍,第5部分,用于布线模拟的参数提取方法(1)”。
对于每个单元,上述定时限制值不是一个固定值,而是根据不同操作条件而改变的一个值。例如,在触发器电路的情况下,准备时间根据数据信号和时钟信号波形的边缘斜率(gradients of edges)(电压的变化率)而改变。即,可以将定时限制值表示为操作条件的函数。在延迟库中存储定时限制值(候选值),其对应于操作条件的多个值(在多种操作条件下,多个操作条件值的组合)。当校验半导体集成电路的操作定时,就通过内插来获得最佳的定时限制值。随着在延迟库中存储的定时限制值的数量增加,通过内插获得的定时限制值的精度也提高。当生成延迟库时,就对每个操作条件值或对于操作条件值的每种组合进行上述模拟和对分搜索。
然而,为了获得定时限制值,上述传统方法需要一个长时间。
在采用对分搜索方法来获得定时限制值的情况下,通常难于预测含有定时限制值的范围。因此,就必须提供足够宽度范围作为搜索范围的初始值。结果,在预测值收敛之前,就需要一个长时间。特别地,假设搜索范围的初始值为10ns并且待获得的定时限制值精度的范围为0.01ns,因为对于每个模拟周期,搜索范围减半,因此就需要10个模拟周期。通过减少搜索范围的初始值(即,使初始搜索范围变窄),就能够减少模拟周期的数量。然而,如果待获得的定时限制值不包含在所述搜索范围之内,那么就必须重新设置搜索范围并再次进行对分搜索。结果,就需要相当长的时间。因此,难于预测定时限制值,例如,对于设置搜索范围的初始值,具有大约0.5ns精度的范围。
为了正确估测由非均匀传输线引起的布线延迟、在将模拟的传输线划分为多段且每段模拟为均匀传输线的情况下,获得的定时限制值的精度就随着段的增加而提高。然而,计算量也增加,并且因此,用于一个模拟周期所需的时间也增加。结果,用于获得定时限制值所需的时间也增加。
当根据操作条件例如输入信号波形边缘斜率等获得较高分辨率的定时限制值时,模拟周期量就会增加。因此,上述问题就会变得更加引人注目。
发明内容
考虑到上述问题,本发明的目的在于在一个短时间周期之内有效地生成高精度的延迟库。
为了实现上述目的,根据本发明,在采用电路操作模拟和对分搜索方法来获得逻辑电路的定时限制值的处理中,首先以低于目标精度的精度获得定时限制值,以致将对分搜索方法的搜索范围的初始值设定为小(即,将对分搜索方法的初始搜索范围设定为狭窄)。因此,减少了模拟周期的数量。结果,在一个短时间周期内就有效地生成了高精度的延迟库。
具体地,例如,采用根据在逻辑电路中包含的元件的延迟值计算的定时限制值,即通过静态分析计算的定时限制值,作为在对分搜索处理中的定时限制值的初始值。由于这种定时限制值具有一定程度的精度,因此就容易地将搜索范围的初始值设定为小(即,易于将初始搜索范围设定为狭窄)。
在对于多个相同类型的逻辑电路或其包含公共电路元件的多个逻辑电路获得定时限制值的情况下,采用对于任何一个逻辑电路所获得的定时限制值作为在对分搜索处理中的定时限制值的初始值,用于获得其它逻辑电路的定时限制值。同样地,利用这种结构,就易于将搜索范围的初始值设定为小数值(即,易于将初始搜索范围设定为狭窄)。
对于简化的电路模型获得具有一定程度的精度的定时限制值,并采用获得的定时限制值作为在用于详细电路模型而获得定时限制值的处理中的初始值。同样地,利用这种结构,就易于将搜索范围的初始值设定为小(即,易于将初始搜索范围设定为狭窄)。
在根据输入信号的变化率获得多个定时限制值的情况下,例如,首先获得对应于预定变化率的定时限制值,并且采用通过利用获得的定时限制值内插或外插计算的值,作为在获得对应于不同变化率的定时限制值的处理中的初始值。同样利用这种结构,就易于将搜索范围的初始值设定为小(即,易于将初始搜索范围设定为狭窄)。
例如,就能够以对应于(相关于)待获得的定时限制值或延迟时间的信号传输路径的不同精度,进行上述模拟,由此进一步减少用于生成延迟库所需的时间。
附图说明
图1是示出了实施例1的延迟库生成装置的结构的方框图。
图2是示出了D触发器电路结构的电路图。
图3是示出了D触发器电路的一部分的详细结构的电路图。
图4是示出了D触发器电路的另一部分的详细结构的电路图。
图5图示说明了D触发器电路的准备时间。
图6是示出了D触发器电路的准备时间的时序图。
图7图示说明了D触发器电路的维持时间。
图8是示出了D触发器电路的维持时间的时序图。
图9是说明实施例1的延迟库生成装置的操作的流程图。
图10是说明实施例1的延迟库生成装置的详细操作的流程图。
图11是说明实施例2的延迟库生成装置的操作的流程图。
图12是说明实施例3的延迟库生成装置的操作的流程图。
图13示出了非均匀传输线的模拟实例。
图14是图示说明准备时间和数据信号和时钟信号的波形边缘的斜率之间的关系的图。
图15是说明实施例4的延迟库生成装置的操作的流程图。
图16是说明根据实施例4的第一绘制的准备时间的图。
图17是示出了用于扫描测试的触发器电路结构的电路图。
图18是示出了用于扫描测试的触发器电路的一部分详细结构的电路图。
图19是示出了用于扫描测试的触发器电路的另一部分详细结构的电路图。
图20是示出实施例5的延迟库生成装置结构的方框图。
图21是说明实施例5的延迟库生成装置的操作的流程图。
具体实施方式
以下,参照附图来详细说明本发明的实施例。具体地,例如,将说明在触发器电路中的用于获得定时限制值诸如准备时间、维持时间等的延迟库生成装置的实例。
(实施例1)
参照图1,实施例1的延迟库生成装置1包括:模拟器101,用于模拟电路操作,诸如SPICE(Simulation Program with IntegratedCircuit Emphasis)等;以及特征工具102,用于根据模拟结果来提取特征值。具体地,特征工具102包括模拟器控制部分103、延迟特征提取/模拟结果判定部分104和定时限制值搜索控制部分105。
模拟器控制部分103将模拟所需的数据输入到模拟器101,以便命令执行模拟。例如,模拟所需的数据包括:
(1)网表,包含晶体管的电路连接信息、每个单元的寄生电阻和寄生电容,所述网表将包含在进行模拟的延迟库中;
(2)用于模拟器101的模型参数;
(3)模拟执行条件,包含电源电压和温度、模拟的时间步骤、用作考虑到输入信号波形的变形来计算延迟的输入信号波形的边缘斜率、用作考虑到输出负载电容中的变化来计算延迟的电容值,等等;以及
(4)测试矢量,其表示信号输入到输入端子的电平的转变和根据所述电平转变确定的从输出端子输出的信号电平的期望值。
如果待获得的特征值是可以从模拟结果中直接提取而不用进行对分搜索例如延迟特征的值,那么延迟特征提取/模拟结果判定部分104就输出自身提取的值,作为延迟库。如果特征值是其需要对分搜索的值,例如定时限制值,那么延迟特征提取/模拟结果判定部分104就确定所述定时限制值的预测值是否大于实际的定时限制值并将判定结果输出到定时限制值搜索控制部分105。
定时限制值搜索控制部分105根据对分搜索方法控制对于定时限制值的搜索处理。具体地,定时限制值搜索控制部分105控制搜索处理,由此将定时限制值的搜索范围划分为两个部分,并且根据通过延迟特征提取/模拟结果判定部分104获得的判定结果,选择出所述两个部分的任何一个作为新的搜索范围。选择新的搜索范围中的一个值(通常为中间值)作为新的预测值,并且重复以上设置处理和由模拟器101的模拟。以下将进行说明,通过静态分析来确定定时限制值的搜索范围的初始值。
现在,说明上述的延迟库生成装置的操作实例,其中获得了图2中所示的D触发器电路201的准备时间和维持时间,它们是D触发器电路201的定时限制值。
首先,简要说明D触发器电路201的结构、准备时间和维持时间。例如,D触发器电路201具有图3和4中所示的结构。图3示出了一种电路,所述电路产生时钟信号PCK和基于在时钟输入端子处输入的时钟信号CK的反相时钟信号NCK。所述电路包括两个反相器202和203。图4示出了在数据输入端子和用于输出信号Q和NQ的输出端子之间的一种电路结构,其中将数据信号D输入到所述数据输入端子。此电路结构包括传输门204-207和反相器208。在图3中,“tck”图示出了从时钟输入端子到传输门204和206的延迟时间。在图4中,“t1”和“t2”分别图示出了从数据输入端子到传输门204和传输门206的延迟时间。
图5图示说明了延迟时间t2和tck与准备时间ts之间的关系。图5示出了准备时间等于延迟时间t2和延迟时间tck之间的差值。图6是只满足准备时间的实例的时序图。在时钟信号CK的上升缘接收数据信号D的信号状态的情况下,除非在从L(低)电平到H(高)电平的时钟信号CK的信号转变到达传输门204和206之前、通过数据输入端子已经输入并到达传输门206的信号电平进入稳定状态,否则就不可能接收正确的信号值。因此,通过从延迟时间t2(从数据输入端子到传输门206)中提取延迟时间tck(从时钟输入端子到传输门204和206)而获得的时间就是D触发器电路201的准备时间ts。
图7图示说明了延迟时间t1和tck以及维持时间th之间的关系。维持时间th等于延迟时间t1和延迟时间tck之间的差值。图8是只满足维持时间th的实例的时序图。在时钟信号CK的上升缘接收数据信号D的信号状态的情况下,除非在从L(低)电平到H(高)电平的时钟信号CK的信号转变到达传输门204和206之前、已经到达传输门204的信号电平进入稳定状态,否则就不可能接收正确的信号值。因此,通过从延迟时间tck(从时钟输入端子到传输门204和206)中减去延迟时间t1(从数据输入端子到传输门204)而获得的时间就是D触发器电路201的维持时间th。
通过静态分析,就很快获得了减去延迟时间t1、t2和tck而获得的准备时间ts和维持时间th。在由此获得的时间(准备时间ts等)中,不考虑由信号布线、串扰等导致的延迟,并且因此,与其中考虑这种因素的动态分析相比时,这些时间的精度就低。然而,由这些因素产生的误差就非常小,并且因此,对于在对分搜索处理中降低搜索范围的初始值(即,使初始搜索范围变窄),上述延迟时间就具有足够的精度。具体地,在10ns或更小范围内、更优选地在大约0.5ns范围内,就易于获得延迟时间。
以下,参照图9和10具体地说明用于计算上述准备时间而进行的延迟库生成装置的操作。
(S101)首先,如上所述,通过静态分析来计算准备时间。
(S102)然后,设置搜索范围的初始值(最小值a,最大值b),以致上述准备时间是中间值。可以将此搜索范围设置为考虑到由静态分析产生的误差而确定的值,例如0.5ns。
(S103)采用对分搜索、根据搜索范围的初始值来获得正确的准备时间α。具体地,进行图10中所示的处理。
(S201)确定搜索范围是否等于或小于所需的最小分辨率t(|a-b|<t)。
(S202)如果搜索范围等于或小于S201中的最小分辨率t,就收敛搜索范围的最小值a或最大值b并设置为准备时间α,并结束处理。
(S203)如果搜索范围不等于或小于S201中的最小分辨率t,就将搜索范围的中间值((a+b)/2)设置为预测值M。
(S204)模拟当在仅满足预测值M的定时下输入数据信号和时钟信号时进行的触发器电路的操作。这种模拟是高精度的模拟,其中考虑了由信号线、串扰等引起的延迟。
(S205)作为上述模拟的结果,确定是否已经适合地闭锁数据信号并且是否已经改变了输出信号的电平。如果没有改变输出信号的电平,那么就不满足实际的准备时间α,即,实际的准备时间α就比预测值M更长(α>M)。如果已经改变了输出信号的电平,那么就满足实际的准备时间α,即,实际的准备时间α等于或短于预测值M(α≤M)。
(S206,S207)如果在S205中已经改变了输出信号的电平,那么就将搜索范围的最小值和预测值M分别设置为下一个模拟周期的搜索范围的最小值和最大值。如果在S205中没有改变输出信号的电平,那么就将搜索范围的预测值M和最大值b分别设置为下一个模拟周期的搜索范围的最小值和最大值。此后,重复从步骤S201开始的上述处理。利用上述步骤,在进行模拟的每个时间周期内减半搜索范围。最终,准备时间α就收敛于等于或低于所需的最小分辨率t。
尽管以上已经说明了获得准备时间的实例,但所述操作同样与获得另一种定时限制值诸如维持时间等的实例完全相同。
如上所述,采用通过静态分析计算的定时限制值作为初始值来进行对分搜索,由此将用于获得正确的定时限制值所需的时间减少到一个短时间。
具体地,其中搜索范围的初始值为X(ns)且最小分辨率(resolution)为0.01ns,所需的模拟周期的数量为以下表达式中的n的最小数量:
X×(1/2)n≤0.01
因此,当X=0.5ns时,n=6。假设静态分析所需的时间等于一个模拟周期,那么就可以在总共为7个模拟周期的时间内获得正确的定时限制值。即,与未进行静态分析的上述预测且如上所述搜索范围的初始值为10ns(所需的模拟周期的数量为10)的情况相比,所需的时间就减少了30%。
(实施例2)
当存在相同类型的多个单元或含有公共电路元件的多个单元时,这些单元的定时限制值在多数情况下基本相等。在这种情况下,通过与实施例1中所述的相同处理,获得任何单元的正确的定时限制值,并且然后,根据获得的定时限制值,设置其它单元的搜索范围的初始值,由此减少模拟周期的数量,并且在短时间周期内获得定时限制值。
如图11中所示,除了定时限制值搜索控制部分105的操作不同之外,进行上述处理的延迟库生成装置实质上具有与实施例1(图1)中所述的相同结构。
(S301-S303)通过与实施例1(图9)的步骤S101-S103的相同处理,获得了第一单元(典型单元)的正确的定时限制值。
(S304)作为在含有第一单元的组中的另一个单元,设置搜索范围的初始值,以使第一单元的定时限制值为所述搜索范围的中间值。如果各单元的相似性高,因为第一单元的定时限制值是正确的值,所以就可以将搜索范围设置为相对窄的范围,例如0.5ns。
(S305)根据搜索范围的初始值采用如步骤S303中的对分搜索来获得正确的定时限制值。
(S306)确定在相同组中的所有单元是否已经获得了定时限制值。如果没有,那么就重复步骤S304和S305的处理,直到获得所有单元的定时限制值。
如上所述,采用对一个单元所获得的正确的定时限制值,以便获得另一个单元的定时限制值,由此就易于设置搜索范围的初始值,以使搜索范围变得更窄。因此,就将用于获得所有单元的定时限制值所需的时间减少为一个短时间周期。
具体地,假设对于第一单元的模拟周期的数量与在实施例1中确定的数量相同,即,7(包括静态分析的一个周期),并且对于其它单元,搜索范围的初始值为0.5ns且最小分辨率为0.01ns,那么对于每个单元所需的模拟周期数量就为6。而所有单元的数量为N,那么总的模拟周期的数量就为:
7+(N-1)×6=6×N+1
例如,当N=10时,总的模拟周期数量就为61。
如果对于其它单元不采用典型单元的定时限制值且搜索范围的初始值为10ns,那么在每个单元上就进行10个模拟周期。即,总共进行100个模拟周期(10×10=100)。与这种情况相比较,在上述实施例2的实例中,所需的时间就减少了39%。
应当注意,不必采用如实施例1的用于对第一单元设置搜索范围的初始值的静态分析。在这种情况下,假设在第一单元上进行1 0个模拟周期(其中搜索范围的初始值为10ns),那么总的模拟周期数量就为:
10+(N-1)×6=6×N+4
因此,当N=10时,总的模拟周期数就为64。与这种情况相比较,在上述实施例2的实例中,所需的时间就减少了36%。
(实施例3)
根据电路模型产生电路操作的模拟中给出的数据(逻辑电路信息,例如网表等)。当电路模型变得更加详细时,从电路模型中获得的结果的精度就会变得更高,而且模拟所需的时间就会变得更长。考虑到此,在实施例3中,根据简化的电路模型的逻辑电路信息通过模拟和对分搜索来获得定时限制值,并且然后根据获得的定时限制值来重新设置搜索范围的初始值,以便根据详细电路模型的逻辑电路信息来进行模拟和对分搜索,由此快速获得所需精度的定时限制值。
除了定时限制值搜索控制部分105进行以下结合图12中所述的操作之外,进行上述处理的延迟库生成装置具有基本上相当于实施例1(图1)的一种结构。
(S401)首先,根据简化的电路模型来生成网表。具体地,如图13中所示,例如,在一个单元中采用逐渐改变它的宽度且由纵向位置的函数表示它的阻抗的信号布线(非均匀的传输线)301的情况下,用信号布线301为信号布线302的假设来模拟所述单元,以生成网表(netlist),信号布线302具有恒定宽度和在整个长度或预定的纵向范围上的恒定的阻抗Z00。根据上述简化的电路模型的模拟精度并不高,但可以接受,只要定时限制值精确,以致在步骤S406(此后说明)中对正确的定时限制值搜索期间,足够地减少了模拟周期的数量,即,可以获得设置搜索范围的初始值为小(即,将初始搜索范围设置为窄)例如0.5ns的这种精度的定时限制值。预先在步骤S401和步骤S404(此后说明)中生成网表,以致在这些步骤中简单地读取网表。
(S402)为了获得用于上述简化的电路模型的定时限制值,设置搜索范围的初始值。这种搜索范围必须根据经验设置为足够大(例如,大约10ns),以致在搜索范围中一定包含定时限制值。
(S403)根据如实施例1(图9)的步骤S103中的搜索范围的上述初始值、采用对分搜索来获得定时限制值。应当注意,因为如上所述地采用简化的电路模型,所以更快地进行步骤S402中的模拟。
(S404)根据比信号布线302更加详细的电路模型来生成网表。具体地,例如,利用非均匀传输线的信号布线301是图13的信号布线303的假设来模拟一个单元,通过将分别具有恒定阻抗Z01-Z05的布线部分303a-303e级联来产生信号布线303。采用这种模拟就生成一个网表。可以根据由在步骤S406(此后说明)中获得的定时限制值所需的精度来设置划分到布线部分303a-303e中的程度。
(S405)再次设置搜索范围的初始值,以使在步骤S403中获得的定时限制值为中间值。可以将此搜索范围设置为根据定时限制值的精度而确定的范围,例如,0.5ns。
(S406)根据如步骤S403中的上述搜索范围的初始值采用对分搜索来获得定时限制值。在此情况下,根据如上所述的详细电路模型来进行模拟。因此,就会获得具有高精度的定时限制值。尽管由于电路模型的高度详细,一个模拟周期所需的时间比在步骤S403中所需的时间更长,但因为如上所述地将搜索范围的初始值设置为小(即,将初始搜索范围设置为窄),所以就减少了模拟周期的数量。结果,总的处理时间就变得短。
采用如上所述的不同细节的电路模型、通过两个步骤获得定时限制值,由此如下所述地减少了处理时间。
例如,其中根据详细电路模型的10个模拟周期所需的时间(10是当搜索范围的初始值为10ns且最小分辨率为0.01ns时所需的模拟周期的数量)为T(s),根据简化的电路模型模拟所需的时间就为α×T(s)(α<1),第一步骤的定时限制值的精度是这样以致用于获得第二步骤的定时限制值而设置的搜索范围的初始值为0.5ns,并且用于获得第二步骤的定时限制值而设置的最小分辨率就为0.01ns,因为如实施例1中模拟周期的数量为6,所以用于获得第二步骤的定时限制值所需的时间就为0.6×T(s)。因此,所需的总时间就为α×T+0.6×T(s)。
在α=0.2例如所需的总时间为0.8×T的情况下,与具有详细电路模型的搜索范围的初始值为10ns的情况相比,其就缩短了20%。
应当注意,简化的电路模型的实例不限于上述结构。根据本发明,可以采用布线之间的电容大致为布线和地之间的电容的实例,忽略所有电阻元件和电容元件或低于预定值的电阻元件和电容元件的实例,等等。
(实施例4)
现在,说明延迟库生成装置的实例,其中在获得对应于各种操作条件的定时限制值的处理中易于减少所需的时间。例如,如图14中示意性所示,触发器电路的准备时间根据数据信号和时钟信号的波形的边缘斜率(电压的变化率)而变化。因此,必须计算出对应于各种信号波形的边缘斜率的准备时间,并在延迟库中存储计算的准备时间。这就意味着通过减少用于获得各个准备时间所需的时间来显著减少用于生成延迟库所需的总时间。
除了定时限制值搜索控制部分105进行以下说明的结合图15的操作之外,实施例4的延迟库生成装置具有基本上相当于实施例1(图1)的结构。
(S501-S503)首先,如图16中所示,与实施例1一样,在4种执行条件之下获得准备时间,根据时钟信号波形的边缘斜率的最小值a和最大值b与数据信号波形的边缘斜率的最小值c和最大值d的组合来确定所述4种执行条件。
(S504)对于时钟信号波形的边缘斜率的值与数据信号波形的边缘斜率的值的其它组合、通过线性内插来获得准备时间,由此获得的准备时间包括误差,但通常大致为实际的准备时间。
(S505)设置搜索范围的初始值,以使通过线性内插获得的准备时间为中间值。因为上述准备时间接近实际的准备时间,所以将这种搜索范围设置为相对窄的范围,例如,0.5ns。
(S506)根据如步骤S503中的搜索范围的上述初始值、采用对分搜索来获得定时限制值。
采用从对于一些时钟信号波形和数据输入信号波形的边缘斜率精确计算的准备时间中通过内插获得的值,由此就易于将搜索范围的初始值设置为小(即,就易于将初始搜索范围设置为窄)。因此,就显著减少了用于获得各种时钟信号波形和数据输入信号波形的边缘斜率的定时限制值所需的时间。
具体地,假设通过步骤S501-S503获得的4个准备时间的模拟周期的数量与实施例1中确定的数量相同,即,4×7(包括静态分析的一个周期),并且作为对于通过步骤S505和S506获得的准备时间,搜索范围的初始值为0.5ns且最小分辨率为0.01ns,每个单元必须的模拟周期的数量就为6。而待获得的所有准备时间的数量为N,则总的模拟周期的数量为:
4×7+(N-4)×6=6×N+4
例如,当N=20时,总的模拟周期的数量就为124。
如果未执行通过内插的上述预测且对于所有准备时间的搜索范围的初始值为10ns,那么在每个准备时间中就执行10个模拟周期。即,总共执行200个模拟周期(20×10=200)。与这种情况相比较,在实施例4的实例中,所需的时间就减少了38%。
应当注意,不必如实施例1采用静态分析来设置用于第一4个准备时间的搜索范围的初始值。在此情况下,假设在第一4个准备时间的每一个上执行10个模拟周期(其中搜索范围的初始值为10ns),那么总的模拟周期的数量为:
4×10+(N-4)×6=6×N+16
因此,当N=20时,总的模拟周期的数量就为136。与这种情况相比较,在实施例4的实例中,所需的时间就减少了32%。
在上述实例中,根据两个参数来确定待获得的定时限制值,即,时钟信号波形的边缘斜率和数据信号波形的边缘斜率,但本发明并不限于此。根据本发明,例如,而且在短时间周期之内就可以获得根据一个参数或根据三个或更多参数确定的定时限制值。此外,内插不限于线性内插,而可以是具有二次方曲线的内插。可选择地,可以采用外插来代替内插。
(实施例5)
在以下说明的实施例5的实例中,在输入端子和输出端子之间的信号传输路径(弧形)之中模拟精度不同,以致减少了模拟所需的时间,并且因此,就减少了用于获得延迟时间、定时限制值等所需的时间。
例如,设计用于扫描测试的触发器电路401,在扫描链中采用所述触发器电路401,用于监测半导体集成电路,以致例如,如图17中所示地输入并输出信号。具体地,触发器电路401包括图18中所示的内部时钟产生电路401a和图19中所示的数据保持电路401b。即,设计触发器电路401,以致除了公共采用的D触发器电路的输入信号之外,输入扫描测试启动信号NT和扫描测试数据输入信号DT。当扫描测试启动信号NT处于L电平时,数据信号D就变成有效,以致触发器电路401执行如公共采用的D触发器电路的操作。当扫描测试启动信号NT处于H电平时,扫描测试数据输入信号DT就变成有效,以致触发器电路401就维持扫描测试数据输入信号DT。
在具有上述结构的触发器电路401中,至于与数据信号D相关的弧形(与常规操作模式相关的弧形),为了提高操作速度并降低芯片面积,通常就将延迟余值设置为小。因此,就必须执行精确的模拟,以便校验操作定时。因此,在延迟库中,就必须获得高精度的数据信号D的输入端子和输出信号Q和NQ的输出端子之间的延迟时间、定时限制值诸如数据信号D和时钟信号CK的准备时间等。另一方面,至于与测试模式相关的弧形,甚至在扫描测试数据输入信号DT的输入端子和输出信号Q和NQ的输出端子之间的延迟时间精度、定时限制值诸如扫描测试数据信号D和时钟信号CK的准备时间等相对低时的一些情况下,也不会产生问题。这是因为与测试模式相关的弧形的延迟特征只用于测试模式的定时校验而不用于常规操作模式的定时校验,并且此时,通常在测试模式下,将操作频率设置为低频。因此,在许多情况下,在定时中具有足够余量,并且可以容易地提供足够的延迟余量。结果,能够补偿低模拟精度导致的误差。
参照图20,实施例5的延迟库生成装置包括用于模拟电路操作的模拟器501和用于根据模拟结果来提取特征值的特征工具502。更具体地,特征工具502包括模拟器控制部分503和用于从模拟结果中提取延迟特征的延迟特征提取部分504。
除了根据待进行模拟的弧形来改变模拟精度之外,模拟器501和模拟器控制部分503具有与实施例1(图1)的模拟器101和模拟器控制部分103的类似的结构。
此后,将参照图21来说明用于计算延迟时间的实施例5的延迟库生成装置的操作。
(S601)首先,输入精度确定信息,用于识别需要高精度模拟的弧形和根据弧形是否与常规操作模式或测试模式相关来接受相对低精度的弧形。应当注意,精度水平不限于两个级别,而可以是三个或更多个级别。
(S602)然后,根据精度确定信息,设置用于计算对应于各个弧形的延迟时间的模拟条件。具体地,例如,根据精度确定信息来设置模拟等的时间步骤(时间间隔)。
(S603)根据上述设置来执行模拟,以计算各个延迟时间。当模拟的时间步骤数量小时,模拟结果就快速收敛,并且因此,减少了模拟所需的时间。
(S604)在通过模拟获得的延迟时间中,将延迟余量根据模拟精度加到通过低精度模拟获得的延迟时间中。例如,至于与测试模式相关的弧形,如上所述,在许多情况下,在定时中就有足够的余量,并且因此就可以容易地添加延迟余量而不会在电路操作中产生任何麻烦。因此,就容易防止由模拟低精度产生的误差效果。
如上所述,根据所述弧形就部分地降低了模拟精度,以致易于减少用于获得定时限制值和延迟时间所需的时间。
具体地,对于在高精度计算延迟时间时所需的一个单元的模拟时间为T(s),可以以相对低的精度模拟的弧形与整个弧形的比例为α,并且在减少精度时所需的模拟时间为β×T,那么模拟所需的总时间为:
(α×β×T)+(1-α)×T(s)
在α=0.5和β=0.5的情况下(模拟时间减半为弧形的1/2),模拟时间的减少比例为:
1-{(0.5×0.5×T)+(1-0.5)×T}/T=0.25
即,模拟时间减少25%。
在实施例5的上述实例中,延迟库生成装置获得延迟时间,但本发明并不限于此。例如,甚至在其中采用对分搜索来获得定时限制值的实施例1-4的延迟库生成装置中,通过根据每个弧形所需的精度而设置模拟条件,进一步减少所需的时间。
在实施例5的上述实例中,根据所述弧形来改变模拟自身的精度。代替此或除此之外,在根据输入信号波形的边缘斜率和输出负载电容的组合来获得延迟时间的情况下、或者在根据触发器电路中的数据信号和时钟信号的输入信号波形的边缘斜率的组合来获得定时限制值的情况下,就根据所述弧形来改变这种组合的数量,由此减少模拟周期数量。
在理论可能的范围之内,上述实施例中说明的元件可以进行各种组合。具体地,采用实施例1(图9)中说明的静态分析,来获得实施例2(图11)中的各个单元的定时限制值,但可以通过根据在实施例3(图12)中说明的简化的电路模型的模拟来替代。此外,为了获得将用于在实施例4(图15)中说明的内插的第一4个准备时间,可以采用已经在实施例2和3中说明的各个单元或简化的电路模型的定时限制值。
如上所述,根据本发明,在短时间周期之内就能够有效地生成高精度的延迟库。
Claims (22)
1.一种用于生成延迟库的方法,所述延迟库包含用作校验逻辑电路的操作定时的定时限制值,所述方法包括:
定时限制值获取步骤,用比目标精度更低的精度来获取定时限制值;以及
定时限制值搜索步骤,通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用所述定时限制值和预定搜索范围作为初始值来获得收敛的定时限制值。
2.根据权利要求1的延迟库生成方法,其中所述定时限制值获取步骤包括定时限制值计算步骤,根据在所述逻辑电路中包含的元件的延迟值来计算出所述定时限制值。
3.根据权利要求1的延迟库生成方法,其中:
所述定时限制值获取步骤包括第一定时限制值搜索步骤,通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用所述定时限制值和预定搜索范围作为初始值来获得对于多个逻辑电路的至少一个的收敛的定时限制值。
所述定时限制值搜索步骤包括第二定时限制值搜索步骤,通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用在所述第一定时限制值搜索步骤中获得的所述定时限制值和预定搜索范围作为初始值来获得对其他逻辑电路的收敛的定时限制值。
4.根据权利要求1的延迟库生成方法,其中:
所述定时限制值获取步骤包括第一定时限制值搜索步骤,通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用所述定时限制值和预定搜索范围作为初始值来获得对于简化的电路模型的收敛的定时限制值;以及
所述定时限制值搜索步骤包括第二定时限制值搜索步骤,通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用在所述第一定时限制值搜索步骤中获得的所述定时限制值和预定搜索范围作为初始值来获得对于比所述简化的电路模型更详细的电路模型的收敛的定时限制值。
5.根据权利要求4的延迟库生成方法,其中所述简化的电路模型是其中将非均匀传输线假定为均匀传输线的一种电路模型。
6.根据权利要求1的延迟库生成方法,其中:
所述定时限制值获取步骤包括内插/外插步骤,根据对应于所述逻辑电路的至少一种预定操作条件包括至少第一和第二值的情况下的至少第一和第二定时限制值,通过内插或外插来计算出对应于所述预定操作条件为第三值的情况的第三定时限制值;以及
所述定时限制值搜索步骤包括在所述预定操作条件为所述第三值的条件之下通过重复操作模拟以及根据所述操作模拟结果通过对分搜索重新设置所述搜索范围和所述定时限制值,采用所述第三定时限制值和预定搜索范围作为初始值获得收敛的第三定时限制值的步骤。
7.根据权利要求6的延迟库生成方法,还包括内插/外插定时限制值搜索步骤,通过重复操作模拟并根据所述操作模拟结果通过对分搜索重新设置所述搜索范围和所述定时限制值,采用预定定时限制值和所述预定搜索范围作为初始值来获得收敛的第一或第二定时限制值。
8.根据权利要求6的延迟库生成方法,其中所述预定操作条件是输入到所述逻辑电路的输入信号的变化率。
9.根据权利要求1的延迟库生成方法,其中:
所述定时限制值搜索步骤包括:
模拟步骤,在其满足所述初始定时限制值或所述重新设置定时限制值的操作条件之下执行所述逻辑电路的操作模拟,以及
搜索范围/定时限制值重新设置步骤,根据所述操作模拟结果来判定所述定时限制值是否合适,以便通过对分搜索重新设置所述搜索范围和所述定时限制值;以及
重复所述模拟步骤和所述搜索范围/定时限制值重新设置步骤,直至所述搜索范围收敛于预定范围之内,由此获得定时限制值。
10.根据权利要求9的延迟库生成方法,其中所述模拟步骤包括设置模拟条件的步骤,以致用对应于定时限制值的信号传输路径的不同精度来执行所述模拟。
11.一种用于生成延迟库的方法,所述延迟库包括用作校验逻辑电路的操作定时的定时限制值或延迟值,所述方法包括:
模拟条件设置步骤,设置模拟条件以致用对应于定时限制值或延迟值的信号传输路径的不同精度来执行所述模拟;
模拟步骤,在所述模拟条件之下执行电路操作的模拟;以及
特征值计算步骤,根据所述模拟结果来计算出定时限制值或延迟值。
12.一种用于生成延迟库的装置,所述延迟库包括用作校验逻辑电路的操作定时的定时限制值,所述装置包括:
定时限制值获取装置,用于用比目标精度更低的精度来获取定时限制值;以及
定时限制值搜索装置,用于通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用所述定时限制值和预定搜索范围作为初始值来获得收敛的定时限制值。
13.根据权利要求12的延迟库生成装置,其中所述定时限制值获取装置包括定时限制值计算装置,用于根据在所述逻辑电路中包含的元件的延迟值来计算出所述定时限制值。
14.根据权利要求12的延迟库生成装置,其中:
所述定时限制值获取装置包括第一定时限制值搜索装置,用于通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用所述定时限制值和预定搜索范围作为初始值来获得对于多个逻辑电路的至少一个的收敛的定时限制值;以及
所述定时限制值搜索装置包括第二定时限制值搜索装置,用于通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用在所述第一定时限制值搜索装置中获得的所述定时限制值和预定搜索范围作为初始值来获得对其他逻辑电路的收敛的定时限制值。
15.根据权利要求12的延迟库生成装置,其中:
所述定时限制值获取装置包括第一定时限制值搜索装置,用于通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用所述定时限制值和预定搜索范围作为初始值来获得对于简化的电路模型的收敛的定时限制值;以及
所述定时限制值搜索装置包括第二定时限制值搜索装置,用于通过在预定操作条件之下重复操作模拟和根据所述操作模拟结果通过对分搜索的所述搜索范围和所述定时限制值的重新设置,采用在所述第一定时限制值搜索装置中获得的所述定时限制值和预定搜索范围作为初始值来获得对于比所述简化的电路模型更详细的电路模型的收敛的定时限制值。
16.根据权利要求15的延迟库生成装置,其中所述简化的电路模型是其中将非均匀传输线假定为均匀传输线的一种电路模型。
17.根据权利要求12的延迟库生成装置,其中:
所述定时限制值获取装置包括内插/外插装置,用于根据对应于所述逻辑电路的至少一种预定操作条件包括至少第一和第二值的情况下的至少第一和第二定时限制值,通过内插或外插来计算出对应于所述预定操作条件为第三值的情况的第三定时限制值;以及
所述定时限制值搜索装置在所述预定操作条件为所述第三值的条件之下通过重复操作模拟以及根据所述操作模拟结果通过对分搜索重新设置所述搜索范围和所述定时限制值,采用所述第三定时限制值和预定搜索范围作为初始值获得收敛的第三定时限制值。
18.根据权利要求17的延迟库生成装置,还包括内插/外插定时限制值搜索装置,用于通过重复操作模拟并根据所述操作模拟结果通过对分搜索重新设置所述搜索范围和所述定时限制值,采用预定定时限制值和所述预定搜索范围作为初始值来获得收敛的第一或第二定时限制值。
19.根据权利要求17的延迟库生成装置,其中所述预定操作条件是输入到所述逻辑电路的输入信号的变化率。
20.根据权利要求12的延迟库生成装置,其中:
所述定时限制值搜索装置包括:
模拟装置,用于在其满足所述初始定时限制值或所述重新设置定时限制值的操作条件之下执行所述逻辑电路的操作模拟,以及
搜索范围/定时限制值重新设置装置,根据所述操作模拟结果来判定所述定时限制值是否合适,以便通过对分搜索重新设置所述搜索范围和所述定时限制值;以及
重复操作所述模拟装置和所述搜索范围/定时限制值重新设置装置,直至所述搜索范围收敛于预定范围之内,由此获得定时限制值。
21.根据权利要求20的延迟库生成装置,其中所述模拟装置设置模拟条件,以致用对应于定时限制值的信号传输路径的不同精度来执行所述模拟。
22.一种用于生成延迟库的装置,所述延迟库包括其用作检验逻辑电路的操作定时的定时限制值或延迟值,所述装置包括:
模拟条件设置装置,用于设置模拟条件,以致用对应于定时限制值或延迟值的信号传输路径的不同精度来执行所述模拟;
模拟装置,用于在所述模拟条件之下执行电路操作的模拟;以及
特征值计算装置,用于根据所述模拟结果来计算出定时限制值或延迟值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003435316A JP2005196265A (ja) | 2003-12-26 | 2003-12-26 | 遅延ライブラリ作成方法および遅延ライブラリ作成装置 |
JP435316/2003 | 2003-12-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1637423A true CN1637423A (zh) | 2005-07-13 |
Family
ID=34708949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004101028424A Pending CN1637423A (zh) | 2003-12-26 | 2004-12-24 | 延迟库生成方法和延迟库生成装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050149895A1 (zh) |
JP (1) | JP2005196265A (zh) |
CN (1) | CN1637423A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006039621A (ja) * | 2004-07-22 | 2006-02-09 | Nec Electronics Corp | タイミング制約ライブラリの作成方法及び作成システム |
DE102004044668B4 (de) * | 2004-09-15 | 2011-08-18 | Infineon Technologies AG, 81669 | Verfahren und Vorrichtung zum Überprüfen einer Schaltung auf Einhaltung von Setup- und Holdzeiten |
US7328416B1 (en) * | 2005-01-24 | 2008-02-05 | Sun Microsystems, Inc. | Method and system for timing modeling for custom circuit blocks |
US7325210B2 (en) * | 2005-03-10 | 2008-01-29 | International Business Machines Corporation | Hybrid linear wire model approach to tuning transistor widths of circuits with RC interconnect |
US20070234253A1 (en) * | 2006-03-29 | 2007-10-04 | International Business Machines Corporation | Multiple mode approach to building static timing models for digital transistor circuits |
JP4901702B2 (ja) * | 2007-11-27 | 2012-03-21 | 株式会社東芝 | 回路設計方法 |
JP2010033369A (ja) * | 2008-07-29 | 2010-02-12 | Fujitsu Ltd | 解析装置および解析方法 |
JP2010113528A (ja) * | 2008-11-06 | 2010-05-20 | Panasonic Corp | 遅延シミュレーション装置、遅延シミュレーション方法、pldマッピング装置、pldマッピング方法、及び半導体集積回路 |
US8713502B1 (en) | 2013-02-26 | 2014-04-29 | International Business Machines Corporation | Methods and systems to reduce a number of simulations in a timing analysis |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW346657B (en) * | 1996-08-29 | 1998-12-01 | Matsushita Electron Co Ltd | Simulation device for time degradation of LSI and simulation method thereof |
JP3851357B2 (ja) * | 1997-08-20 | 2006-11-29 | 株式会社ルネサステクノロジ | トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 |
-
2003
- 2003-12-26 JP JP2003435316A patent/JP2005196265A/ja not_active Withdrawn
-
2004
- 2004-12-21 US US11/016,805 patent/US20050149895A1/en not_active Abandoned
- 2004-12-24 CN CNA2004101028424A patent/CN1637423A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20050149895A1 (en) | 2005-07-07 |
JP2005196265A (ja) | 2005-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1130764C (zh) | 半导体集成电路的定时劣化模拟装置和模拟方法 | |
CN101826124B (zh) | 分析集成电路效能的系统与方法 | |
US20030182640A1 (en) | Signal integrity analysis system | |
JP3082987B2 (ja) | ミックスモードシミュレーション方法 | |
US8726211B2 (en) | Generating an equivalent waveform model in static timing analysis | |
US20150331981A1 (en) | Timing Verification of an Integrated Circuit | |
KR101423862B1 (ko) | 동작 전압의 디바이스 특유적 구성 | |
CN1885295A (zh) | 使用逻辑单元建置集成电路 | |
CN1959684A (zh) | 混合信号电路模拟器 | |
JP2006285960A (ja) | ライブラリ・セルの高精度電流モデルに基づいた、ディジタル回路内の電流の計算 | |
CN1492497A (zh) | 半导体集成电路的设计方法 | |
CN1637423A (zh) | 延迟库生成方法和延迟库生成装置 | |
US8255199B2 (en) | Characterizing performance of an electronic system | |
CN1251326C (zh) | 电路部件的验证方法及其集成电路装置的制造方法 | |
CN1539113A (zh) | 层次集成电路设计和分析系统中对子模块设计的表达 | |
CN111079293A (zh) | 一种包含动态电源噪声的jitter仿真分析方法 | |
CN1595638A (zh) | 半导体集成电路及其设计方法 | |
US8713500B2 (en) | Computer program and apparatus for evaluating signal propagation delays | |
WO2020223955A1 (en) | Simulation method for use in functional equivalence check | |
US7698672B1 (en) | Methods of minimizing leakage current | |
US8302055B2 (en) | Semiconductor device design support apparatus and semiconductor device design support method | |
Xiu et al. | Timing-driven placement by grid-warping | |
JP2004145410A (ja) | 回路の設計方法および回路設計支援システム | |
Hamour et al. | Analog IP design flow for SoC applications | |
CN1233850A (zh) | 半导体器件的测试及半导体器件制造方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |