半导体集成电路装置操作分析方法和系统及最优设计方法

文档序号:6428331阅读:144来源:国知局
专利名称:半导体集成电路装置操作分析方法和系统及最优设计方法
技术领域
本发明涉及用于半导体集成电路装置的一种操作分析方法、其中使用的分析系统以及其中使用的最优设计方法,更具体地,涉及一种对于大规模高速驱动的LSI(大规模半导体集成电路)进行高速高精确度的操作分析的方法。
背景技术
通常,定时分析对于设计半导体集成电路来说是很重要的。例如,必须实现定时分析以便确定触发器中的定时是否互相匹配,才能达到最优化。因此,这里使用了一种实现了半导体集成电路的最优化设计的方法,本方法通过执行电路操作分析来计算一个延迟值,以便将延迟值抑制在容限内。然而,半导体集成电路的速度和集成度越高,构成半导体集成电路的晶体管、寄存器、电容等的量值也会随之稳定地增加。因此,虽然设计该电路减少每个电路元件的功率消耗,但由于电路元件的量值增加了,还是会同时使用很大电压。同时,要实现对每个电路元件的分析,也需要量值庞大的计算。
因此,重要的是在计算高精确度的延迟值的同时防止计算量值的增加。因而,提出了很多方法。
在现有技术中,实现了一个应用于分析电路操作的逻辑模拟,该模拟不仅考虑了有代表性的延迟状态,而且考虑了电源电压的变化、操作温度的变化、过程的变化。然而,电路中由于每个元件的操作电压所引起的每个元件的延迟变化没有被考虑到。因此,随着集成程度的提高,不可能忽略对应于每个元件延迟的延迟变化的影响。
因此,这里提出了一种延迟计算方法,本方法通过计算由电源线路所引起的电压下降来考虑每个元件的电压下降(见未经审查的日本专利申请No.2000-195960)进而提高可靠性。
根据本方法,在计算每个元件的电源电压时,考虑了设计目标电路的电源线路中的电压下降,这样通过使用每个元件所计算的电源电压,计算每个元件的延迟值。
然而,依照这种方法,电压下降的计算是基于从存储着每个元件的电阻压降值的库中所读取的元件电压下降阻值信息和在操作中的每个元件的平均电源电流值。因此,其中所计算的每个元件类型的电压下降信息给出了电路中每个元件类型的平均电压信息。
更具体地,如图56中所示,电压分析装置2002基于来自电路信息2001的在操作中每个元件类型的平均电源电流,来执行一个电压分析操作以便计算一个平均电压下降值2003,随后延迟计算装置2005获得一个延迟值,该延迟值是基于参考库2004的作为结果的平均电压下降值的,并随后输出以标准延迟格式2006所形成的延迟值(SDFStandard Delay Format,由美国非赢利目的组织Silicon Integration Initiative建立,目的是表现延迟时间),随后定时分析装置2007使用该延迟值来执行定时分析,并且将由定时分析装置所得的分析结果作为定时报告2008来输出,随后最优化装置2009基于该分析结果来执行对设计的改变以便最优化定时。
在此,库2004包括一个单元库2013,用于存储每个单元的延迟值信息;一个宏库2023,用于存储每个所述宏的延迟值,其中单元的集合被看作是一个块(lump)。以这种方式,基于来自单元信息2011的代表性的单元操作中的平均电源电流计算一个平均电压下降值,随后该计算出的值被抽象(abstract)(特征化),该特征化后的值被存储在元件库2013中。相反,基于来自宏信息2021的代表性的宏操作中的平均电源电流计算一个平均电压下降值,这样该计算出的值被特征化,该特征化的值被存储在宏程序库2023中。
此外,为了实现该逻辑模拟,在该逻辑模拟中,考虑到了切换一个逻辑单元时电压变化对延迟时间的影响,因此基于逻辑门的一个电源端的电压提出了模拟延迟时间的方法。(见未经审查的日本专利申请No.HEI-7--239865)然而,在本方法中,所执行的模拟是基于一个在所模拟的电路的测试模式的执行时间的平均值来实现的。
另外,提出了一种方法,本方法在考虑了电压变化的模拟期间响应于时序电压变化信息,计算电路元件的延迟信息。(见未经审查日本专利申请No.2000-194732)本发明所要解决问题在上述专利文献1的实际电路操作中,当单元(实例)操作时,电压会变化。相反,在本方法中,由于平均电压下降值被用来计算延迟值,在不可能的(impossible)时刻开始计算延迟值,因而需要一个用于该延迟值计算的实用的定时分析。
此外,在专利文献2和3中,为计算延迟值而考虑了一个时序电压,但没有考虑该实例运转时所引起的电压变化。
然而,在实际的电路操作时,操作中的电压变化都是一个大问题。
本发明是在考虑到上述事实的情况下所作出的,其目的之一是提供一个能够以高精确度操作并通过考虑到动态电压下降而具有卓越性能特性的半导体集成电路。
并且,本发明另一个目的是通过考虑动态的电压下降来实现一个高精确度以及高可靠性的定时验证。

发明内容
为了实现上述目的,本发明的一种用于半导体集成电路装置的操作分析方法包括步骤通过基于半导体集成电路装置的电路信息来计算电源端中半导体集成电路中每个实例的电压波形并分析每个实例的电压波形,形成电压波形信息;通过抽象电压波形信息,形成电压抽象信息;基于电压抽象信息计算该实例的延迟值。
根据该配置,延迟值不是基于平均电压来计算的,面是这样的延迟值是通过测量每个实例的时间和一个电压,即半导体集成电路装置中的每个单元或宏,通过把作为包括时间数据的动态数据所得的电压设置成电压波形信息,并通过抽象该电压波形信息来计算的。因而,分析的精确度可以得到很大改善。
在这里,假定实例包括个体单元,电路元件,或作为电路元件集合的宏。那么,每个实例中的电压值在两个或更多的时间点作为电压信息而被理解,并且通过使用该信息得到电压波形信息。
此外,在本发明的用于半导体集成电路装置的操作分析方法中,在上述方法中,形成电压波形信息的步骤包括计算半导体集成电路装置所有实例的电压波形信息的步骤。
根据该配置,所有实例的电压波形信息都能获得,并且这些电压波形信息被抽象化。因而,可以实现高效率的分析。
而且,可以导出部分实例的电压波形信息,随即可以抽象出电压波形信息。因而,能够加速处理速度。
此外,本发明的用于半导体集成电路装置的操作分析方法中,在上述方法中,计算延迟值的步骤参考一个响应于电压抽象信息的库,从该库中读取相关延迟值,把延迟值作为延迟信息输出。
根据该配置,延迟值从基于电压抽象信息的库中读取。因而,可以防止特性的恶化,并且可以缩减数据的量值。
进一步地,在上述方法中,本发明用于半导体集成电路装置的操作分析方法进一步包括基于电路信息计算每个实例的作用(active)时间的步骤,该步骤优先于形成电压抽象信息的步骤。
根据该配置,每个实例的作用时间基于电路信息先被预先计算。因而,由于抽象时只有相关的作用时间信息或其外围可以被抽象,因此计算被简化。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,该库(library)包括一个用于存储所抽象的单元信息的单元库和一个用于存储所抽象的宏信息的宏库。
根据该配置,就可以有效地实现数据量值的缩减。
进一步地,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,形成电压波形信息的步骤是通过参考先前基于电路信息而形成的库来形成波形电压的。
根据该配置,由于电压波形信息是通过参考先前基于电路信息而形成的库来形成的,因此这种电压波形信息可以很容易地在短时间内形成。此外,该信息可以作为利用库抽象的电压波形信息而输出。
此外,如果实际测量的输出信号不是参考库而使用的,那么就可以提取出一个高精确度的波形信息。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,形成电压抽象信息的步骤包括把电压波形分割成预定的单元窗,并且在单元窗中将该波形线性化的线性化步骤。
根据该配置,数据的抽象可以很容易地被实现。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,线性化步骤通过用一条直线连接在单元窗中的电压波形的开始点和结束点从而将其线性化来形成线性信息。
根据该配置,数据的抽象可以有效地实现。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,线性化步骤包括通过最小平方的方法线性化在单元窗中的电压波形以形成线性信息的步骤。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,预定的单元窗设置成所有实例的延迟时间的最大值。
在本方法中,电压波形没有分割成时间间隔,但是单元窗被设置成所有实例的延迟时间的最大值,并且内部通过PWL或类似方式模型化。根据该设置,可以使用最小量值的数据来实现更加适合的分析。
在本例中,单元窗不局限于延迟时间的最大值,电压波形可以响应于单元的操作时间等等来分割。例如,单元窗可以预先被确定为单元操作周期的将近1/10至1/50。
根据本方法,由于用在延迟计算中的单元窗中的电压值是恒定的,因此在执行延迟计算时不应该考虑电压的改变。因而,通常按原状使用静态定时分析(STA)。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,形成电压抽象信息的步骤包括形成阶梯性信息的步骤如果单元窗中线性信息的斜率的绝对值大于1,则从线性信息中选取单元窗中的最大值;如果斜率的绝对值小于1,则选择单元窗中的最小值。
根据本方法,由于用在延迟计算中的单元窗中的电压值是恒定的,因此在执行延迟计算时不应该考虑电压的改变。因而,根据本方法,通常使用的静态定时分析(STA)可以用在这里。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤包括步骤计算来自电路信息的实例的一个输入信号和一个输出信号的变换(translation)时间;通过基于计算步骤中所计算的变换时间来变换输入信号和输出信号从而提取单元窗;基于所提取的单元窗,确定输出信号是否通过单元窗被变换;基于确定步骤的确定结果,计算延迟值。在本例中,提取单元窗的步骤可以通过基于变换时间从抽象信息中提取单元窗来实现,并也能通过基于确定步骤的确定结果从电路信息中计算延迟值来实现。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤是当确定步骤确定了输出信号不在各单元窗范围内变换并且实例的延迟值比单元窗小时,在延迟计算中使用一个稳定电压作为一个在单元窗的电压下降后所得的电压。
根据上述方法,单元窗中的电压可以是恒定的。因而,即使常规的延迟计算方法如STA等等在该同期中被使用,仍然可以实现高精确度的计算。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤是当实例的延迟比单元窗大时,使用与两个变换后的单元窗计算中的电压值有关的计算所得值,作为一个在单元窗的电压下降后所得的电压。
根据本方法,单元窗中的电压可以是恒定的。因而,即使常规的延迟计算方法如STA等等在该周期中被使用,仍然可以实现高精确度的计算。此外,通过模型化波形,就可以加速处理过程。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤是当一个实例的延迟时间比单元窗大时,通过按照实例和由该实例驱动的线路网络模型化该实例来计算延迟值。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤是当确定步骤中已确定输出信号在各单元窗范围内变换并且实例的输入/输出信号在单元窗中变换时,计算变换单元窗中的电源电压(电压波形)的平均值并且基于该平均值计算延迟值。
根据本方法,由于没有必要使用变换后的阶梯性电压波形来计算延迟,因此延迟值的计算得到了简化。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤是当确定步骤中已确定输出信号在各单元窗范围内变换并且实例的输入/输出信号在单元窗中变换时,基于变换后的单元窗中的变换后的位置计算一个加权的电源电压平均值,并基于该加权的平均值计算延迟值。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤包括步骤当确定步骤中已确定输出信号在各单元窗范围内变换时,把实例的电压考虑周期扩大成该实例的一个输入信号波形的阈值电压。
根据本方法,因为电压考虑周期被扩大了,操作晶体管的电源电压就可以在延迟时间内被精确地反映。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤包括步骤当确定步骤已确定输出信号在各单元窗范围内变换时,从一个所得的电压下降值中计算在延迟计算中的电源电压,直到实例的一个输入信号波形上升到延迟测量阈值电压。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,通过在每个单元中组合多个时间和电压或构成了单元的集合的每个宏(macro),来构成库(library)。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,多个时间中的最长时间间隔等于单元窗的宽度。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,在二进制化电压时,抽象化步骤根据每个时间的电压波长值是否大于一个中间点来确定电压。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,形成抽象信息的步骤把半导体集成电路分割成类似网的多个区域,以使每个区域的实例共享同一电压数据。
如果保持了所有实例的时序电压抽象信息,使用的存储器的量值就会增加。然而,根据该配置,由于相同区域中的实例共享电压数据,不仅减少了所使用的存储器的量值,而且改善了操作速度。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,相同的数据是在该区域中一个中心实例的电压数据。
根据该配置,可以很容易地保持时序的电压数据。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,相同的数据是某区域中所有实例的平均值。
根据该配置,时序的电压数据可以用作在网中代表性的数据。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,基于电源线路的寄生元件信息来计算电源线路的一个时间常数,并且相同的组在该时间常数的特定范围内保持共用电压数据。
根据该配置,一定量值的数据可以被压缩为具有接近实际值的数据值。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,当该范围电源电压的波形差在一个预定范围内时,相同的组保持电压数据。
根据该配置,如上述方法,一定量值的数据可以被压缩为具有接近实际值的数据值。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,(基于电源线路的寄生元件信息计算电源线路的一个时间常数,并且相同的组在该时间常数的一定范围保持共用电压数据,随后)由分组的实例组的和一个退化的电源线路RC电路的电流波形生成宏,并且通过使用各自的宏实现电压分析。
如果所有的实例都使用电压分析,存储器的使用量值和处理的时间都会增加。然而,根据该配置,由于实例被分了组,并且计算各自组内的电压值,处理的量值就能减少并且信息的量值也能被压缩。此外,存储器的使用量值也减少了,并改善了操作速度。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,分析步骤包括计算半导体集成电路中每个电路元件的电压波形的步骤,以及基于电源端的每个电路元件的电压波形计算电路元件的延迟值的步骤。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤包括当一个目标单元在时间窗中最后操作时同时检测电压下降值的步骤,以及在一个检测最大延迟时间的计算过程中,基于所检测的值来计算延迟值的步骤。
在现有技术中,延迟时间是基于相关单元的最大电压下降量值而计算的。因而,由于延迟时间是基于某一时刻的电压下降量值而计算的,所以导致了额外的寄生分析结果,其中在该时刻中实际上有可能不引起任何时间误差。因此,在本发明的方法中,计算了操作时间,并且通过利用目标单元在窗中最后操作时的电压下降来实现时间的计算。根据本方法,由于操作时间上的延迟时间可以通过计算和定时有关的电压下降量值来利用,因此能减少不利情况,其中在操作时间上实际上有可能导致误差。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤包括当目标单元首先在时间窗内操作时检测电压下降值的步骤,以及在一个检测最小延迟时间的计算过程中基于所检测的值来计算延迟值的步骤。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤包括抽象化驱动一个时钟的单元的步骤;以及有选择地只计算驱动时钟的单元的值的步骤。在现有技术中,用于考虑电压变化的保持延迟约束认证还没有实现,所有单元的电压下降基于某时间点的电压下降值,通过使用电压下降值被确认。然而,根据该配置,由于计算目标的量值可以减少,因此延迟计算所需的时间也减少了。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤在一个出现多个时间窗的电路里,基于电压波形执行一个时间窗中时间关系的各自组合的延迟计算。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤包括响应于时钟域的单元窗里的电压变化量计算作为检验的目标的延迟值的步骤。
在现有技术中,由于基于相关单元的最大电压下降量值和最小电压下降量值来计算延迟值,而不考虑时钟周期,因此在延续了多个人时间窗的一个时间周期内,基于电压变化量来执行延迟计算。因而,在保持时间变化中生成了一个实际上没有引起的很大的时钟延迟差(偏移(skew)),从而导致了很不利的结果。
根据本方法,额外的不利的结果可以被消除,并且可以响应于实际操作基于电源变化来执行延迟分析。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,计算延迟值的步骤包括步骤计算粗略的电压下降量值,检测电压下降量值成为最大值的实例,确定达到该实例的时间路径是否有容差,并且在电压下降量值有容差的实例不计算延迟值。
在现有技术中,考虑电压下降的延迟计算被应用到所有单元中。在本例中,在某路径的实例,它有一个对于在最大时间下降量值时的时间迟滞(timing slack)的容差(margin),该路径的实例在时间上完全不会引起设置(set up)时间误差,其中在该时间中反映为电压下降量值比最大电压下降量值小。因而,计算粗略电压下降量值,以便先于详细下降量值的计算来计算最大电压下降量值,并且没有执行基于详细的降落的路径上的实例的延迟计算,其中该实例在最大电压下降量值时的时间迟滞中有容差。
因此,可以减少延迟计算的量值,并且缩短计算时间。
此外,在本发明的用于半导体集成电路的操作分析方法中,在上述方法中,分析步骤包括步骤计算半导体集成电路中的各个电路元件的电压波形,并基于一个电源端上各个电路元件的电压波形来计算电路元件的延迟值。
此外,本发明的一种用于半导体集成电路装置的最优方法,包括步骤基于使用操作分析方法得到的分析结果,报告一个影响了在电压下降时变弱的一个单元中的单元窗的实例;基于该报告步骤实现最优化。
此外,在本发明的用于半导体集成电路装置的最优化方法中,在上述方法中,实现最优化的步骤包括移动报告步骤所报告的一个影响单元或实例的步骤。
此外,在本发明的用于半导体集成电路装置的最优化设计方法中,在上述方法中,实现最优化的步骤包括在报告步骤所报告的一个影响单元或实例的附近插入一个电容单元的步骤。
此外,如果重复处理步骤和分析步骤,一直到分析步骤中确定了一个时间差比一个预定值小,这样就可以有效地实现高可靠度的处理。
用在本发明的半导体集成电路的操作分析方法中的库,通过组合多个时间和多个电压以及它们的延迟值来形成。延迟值计算方法计算延迟值,该延迟值相应于抽象化步骤中形成的电压抽象信息,并涉及到该库。
根据该配置,只有参考没有任何实际计算的库,可以在接近于实际操作的状态中得到延迟值。
这里,可以采用一个库,其使用在两个或更多的时间点检测到的电压。在本例中,如果使用在时间窗的三个时间点例如一个起点、一个终点、一个中间点检测到的数据,那么,取决于电压波形信息的电压波形是否高于,也就是,大于抽象步骤的中间点上的电压波形信息的电压,就可以将中间点的数据确定为起点数据或终点数据。


在以下的附图中图1示出了本发明的第一实施例;图2示出了本发明第一实施例中作为分析目标的一个LSI芯片的相关部分;图3说明性地示出了本发明第一实施例中对电压的抽象的示意图;图4说明性地示出了本发明第一实施例中电压的一个抽象步骤的示意图;图5说明性地示出了本发明第一实施例中电压的另一个抽象步骤的示意图;图6说明性地示出了本发明第二实施例中电压的一个抽象步骤的示意图;图7是示出了本发明第三实施例的一个方法的流程图;图8说明性地示出了本发明第三实施例的方法中的一个电压波形的示意图;图9说明性地示出了本发明第三实施例的方法中的另一个电压波形的示意图;图10说明性地示出了本发明第三实施例的方法的示意图;图11(a)和11(b)说明性地示出了本发明第三实施例的方法的示意图;图12是示出了本发明第四实施例的一个方法的流程图;图13说明性地示出了本发明第四实施例的方法的示意图;图14说明性地示出了本发明第三实施例的方法的示意图;图15说明性地示出了本发明第五实施例的一个方法的示意图;图16是示出了本发明第五实施例的方法的流程图;图17(a)和17(b)说明性地示出了本发明第五实施例的方法的示意图;图18说明性地示出了本发明第六实施例的方法的示意图;图19(a)和19(b)是示出了本发明第六实施例的方法的流程图;图20说明性地示出了本发明第七实施例的一个方法的示意图;图21(a)和21(b)说明性地示出了本发明第七实施例的方法的示意图;图22是示出了本发明第八实施例的方法的流程图;图23(a)和23(b)说明性地示出了本发明第八实施例的方法的示意图;
图24(a)、24(b)和24(c)说明性地示出了本发明第九实施例的一个方法的示意图;图25(a)、25(b)和25(c)说明性地示出了本发明第九实施例的方法;图26说明性地示出了本发明第十实施例的一个方法的示意图;图27说明性地示出了本发明第十一实施例的一个方法的示意图;图28说明性地示出了本发明第十二实施例的一个方法的示意图;图29说明性地示出了本发明第十三实施例的一个方法的示意图;图30是示出了本发明第十四实施例的一个方法的流程图;图31说明性地示出了本发明第十四实施例的方法的示意图;图32说明性地示出了本发明第十四实施例的方法的示意图;图33是示出了本发明第十五实施例的一个方法的示意图;图34说明性地示出了本发明第十五实施例的方法的示意图;图35(a)和35(b)说明性地示出了本发明第十五实施例的方法的示意图;图36(a)和36(b)说明性地示出了本发明第十六实施例的一个方法的示意图;图37说明性地示出了本发明第十六实施例的方法的示意图;图38(a)和38(b)说明性地示出了本发明第十六实施例的方法的示意图;图39说明性地示出了本发明第十六实施例的方法的示意图;图40说明性地示出了本发明第十六实施例的方法的示意图;图41说明性地示出了本发明第十六实施例的方法的示意图;图42(a)和42(b)说明性地示出了本发明第十七实施例的一个方法的示意图;图43说明性地示出了本发明第十七实施例的方法的示意图;图44说明性地示出了本发明第十七实施例的方法的示意图;图45说明性地示出了本发明第十八实施例的一个方法的示意图;图46说明性地示出了本发明第十八实施例的方法的示意图;图47说明性地示出了本发明第十八实施例的方法的示意图;图48说明性地示出了本发明第十八实施例的方法的示意图;图49(a)和49(b)说明性地示出了本发明第十九实施例的一个方法的示意图;图50说明性地示出了本发明第十九实施例的方法的示意图;
图51(a)和51(b)说明性地示出了本发明第二十实施例的一个方法的示意图;图52说明性地示出了本发明第二十实施例的方法的示意图;图53(a)、53(b)和53(c)说明性地示出了本发明第二十一实施例的一个方法的示意图;图54说明性地示出了本发明第二十一实施例的方法的示意图;图55说明性地示出了本发明第二十二实施例的一个方法的示意图;并且图56说明性地示出了现有技术的一个方法的示意图;具体实施方式
将参考下面的附图详细地解释根据本发明的一个操作分析方法。
(第一实施例)图1示出了本实施例中分析操作过程的原理。
如图1所示,本发明的该实施例中的操作分析方法的特征在于代替图56所示的分析方法中计算平均电压值的步骤2003,从电路信息1001中分析每个实例的动态电压(1002)以形成电压信息,并且基于由抽象该电压波形所得的电压抽象信息1033,执行一个延迟计算。此外,一个和该延迟计算相关的库1004被抽象成一个平均电压下降单元库或平均电压下降宏。本实施例的特征在于通过用一个抽象方法使用一个准备的库,本方法可以保持一个动态特性而不是保持平均值。其余特征和上面的图56相似。另外,在电压分析步骤1002中,可以生成具有平均电流值的单元或宏和分组的实例组的平均线路RC电路,并且通过使用各自的宏(这将在后面加以描述)执行电压分析。这里,例如,通过基于电源线路的寄生元件信息计算电源线路的时间常数、然后在预定时间常数范围内将实例分到相同的组中以共享电压数据,来实现分组。
更具体地,根据本方法,如图1中所示的示意图,包括一个电压分析装置1002从电路信息1001中计算电源端的半导体集成电路的每个实例的电压波形,然后分析每个实例的电压以形成电压波形1031,一个电压抽象装置1003抽象电压波形1031以形成电压抽象信息1033,一个延迟值计算装置1005参考库1004并基于电压抽象信息1033来计算延迟值。
接下来的步骤和图56所示的现有技术中的操作分析方法相似。
然后,以标准延迟格式1006形成该延迟值,定时分析装置1007通过使用该值执行一个定时分析,将经定时分析装置1007分析得到的结果作为定时报告1008输出,然后最优化装置1009基于该分析结果改变设计以最优化该时间。
这里,库1004包括一个用于存储每个单元的延迟值信息的单元库1013,以及一个用于存储每个所谓的宏的延迟值信息的宏库1023,其中单元的集合被看作一个块(lump)。然后,基于来自单元信息1011的所有单元操作中的操作电流,计算一个电压下降,该计算所得的值被抽象(特征化),该特征化的值存储在单元库1013中。相反,基于来自宏信息1021的所有宏操作中的电流,计算一个电压下降,该计算所得的值被特征化(1022),该特征化的值存储在宏库1023中。该抽象方法将在后面描述。
然后,将在下面解释通过电压分析从电路信息中形成电压波形的方法。
首先,假定该电路包括多个来自芯片的电路信息的要分析的实例,例如,如图2所示。然后,各实例的电压波形根据电源端信息形成。如图2中所看到的,单元排列为一行(align),其中单元排列成一行的区域的各实例连接到电源(VSS,VDD)。
图3说明性地示出了对电压的抽象的示意图。假定该电压波形如图3中所示的实线形成。基于一个单元作用(active)时间确定时间间隔,其被设置成一个单元窗Tw。例如,该时间间隔被划分成一个操作周期的1/10到1/50。需要基于一个理想的电源执行延迟计算,并应使用其中最大的延迟时间。
例如,通过用所示的虚线连接单元窗中的起始点和终点,电压被线性化,然后被PWL(穿孔方式线性化)系统抽象(模型化)。该模型化信息可用作电压抽象信息1033。
假定从作为结果的电路信息1001中通过电压分析步骤1002得到电源电压波形曲线a,如图4中所示。在图4中,Vid表示一个理想的电源电压,电源电压曲线a对应于下降了压降(IR下降)的电源电压。
如图5中所示,该信息被单元窗Tw分割。如图3中的模型,通过将单元窗中的起始点和终点连接来线性化该电压,这种抽象由图5中所示的直线b来表示。该模型信息对应于电压抽象信息1033。
此外,尽管后面描述的,基于抽象信息可计算延迟值和功率消耗,这些信息可以存储在宏库1023中并可以作为宏信息使用。如果该操作被应用到该单元,则单元库1013可以以相似的方式形成。
然后,参考基于电压抽象信息1032的库1004而提取对应于宏的电压抽象信息1032的延迟值(延迟计算步骤1005)。该延迟值存储在SDF1006中,基于该值执行定时分析步骤1007来实现时间的估计以及时间误差的分析,以输出定时报告1008从而最优化时间。
在本方法中,由于得到了所有实例的电压波形信息,并且该电压波形信息被抽象化,因此可以实现高效率和高精度的分析。
在该例中,可以基于电压波形信息恰当地选择是否都执行所有实例的分析。如果电压波形信息被分成组并且该信息通常保持在同一个组中,则可以实现数据压缩。
此外,根据该配置,由于从库1004中读取的延迟值是依据被抽象的电压抽象信息的,因此可以防止特性的恶化并减少数据量。
在该方式中,由于抽象步骤(1012)中所抽象的单元信息1011存储在单元库1013中,并且由于抽象步骤(1022)中所抽象的宏信息1021存储在宏库1023中,因此可以减少数据量。
在第一实施例中,实际的电源电压波形被预定的单元窗所分割,并通过连接单元窗中的起始点和终点来线性化该实际的电源电压波形以便形成线性信息。在本例中,可以使用最小平方的方法线性化电源电压波形。
这里,单元窗具有响应于单元操作时间的预定间隔。在本例中,如果恰当地选择该间隔,就可以很好地实现对数据的模型化。
(第二实施例)接下来,下面将解释作为本发明的第二实施例的一种形成抽象信息的方法。
在第一实施例中,电压波形信息被线性化。在本例中,由于在单元窗中电压产生了改变,所以要执行延迟计算是很困难的。因而,在本例中,单元窗中的电压被设置成具有一个恒定值。
在如图6中所示的形成抽象信息的步骤(图1中的1003)中,如果线性信息的斜率的绝对值大于1,就从图5所示的第一实施例得到的线性化信息中提取单元窗的最大值。反之如果斜率的绝对值小于1,则从线性化信息中提取单元窗的最小值,并且形成如直线c所示的阶梯性信息。
结果,可以基于该电压值从库1004中的信息提取延迟值,而不考虑电压的改变,并且如第一实施例一样执行定时分析。
根据本方法,电压值可以在延迟计算中使用单元窗中保持恒定。因此,可以在不考虑电压变化的情况下执行延迟计算,而且也可以应用现在所使用的延迟计算方法如STA等等。
(第三实施例)接下来,下面将解释本发明第三实施例中的一个加速延迟计算的方法。在该例中,如流程图7所示,可以观察到从电路信息中计算相关单元输入信号和输出信号的变换时间(计算步骤701)。基于计算步骤701所计算的变换时间,从抽象信息中提取被变换了输入信号和输出信号的时间窗(提取步骤702)。
基于所提取的时间窗,确定是否在各单元窗范围内变换输出信号(确定步骤703)。
然后,如果确定步骤703中确定没有在各单元窗范围内变换输出信号,则使用响应于电源电压先前形成的库执行延迟计算(步骤706)。
相反,如果确定步骤703中确定了在各单元窗范围内变换输出信号,则确定所提取的单元窗中的电源电压是否不同(确定步骤704)。然后,如果确定电源电压不是不同的,则执行如上所述的响应于电源电压的通常延迟计算(步骤706)。
图8示出了如果电源电压不是不同的情况下,所抽象的电压波形。在图8中,曲线a是实际电源电压波形信息,曲线b是模型化的电源电压波形。如果确定步骤703中没有确定输出信号在各单元窗范围内变换而且相关单元的延迟时间比单元窗的宽度小,那么在计算延迟的时间的通常电压被设置成电压下降后的单元窗的电压。
如图9中所示,如果确定步骤703中没有确定输出信号在各单元窗范围内变换,并且相关单元的延迟时间比单元窗的宽度大,则执行下面的处理。
例如,如果在确定步骤704中确定了所提取的单元窗中的电源电压是不同的,则与该变换的单元窗相关联的电源电压被平均化(705),如图10所示,基于该值计算该延迟值(例如,该计算方法公布于Proc.IEEE Int.Conf.计算机辅助设计,pp.512-515,1989,11)。
在本例中,由于不需要使用阶梯性电源电压波形进行计算,可以简化进行延迟计算,并且减少计算量。
进一步地,如果相关单元的延迟时间比单元窗的宽度大,其中该单元窗处于不会发生电压下降的理想电压状态,则实现对线路网络的模型化,以便使该单元的输出激励点的工况变为同一的。
图11示出了该状态。如图11A所示,基于单元1和由单元1驱动的线路网,单元1利用电压源、内电阻和电容所模型化,任何算法都会引起线路网的退化。例如,在“将用于精确的延迟估计的电阻互连激励点特性模型化”中提出的方法(Peter R.O’brien和Thomas L.Savarino1989 IEEE)可以作为退化方法使用。
如图11A所示,通过把电压源划分成许多区域来计算单元的输出信号波形,因而解决了每个区域的电路平衡,其中电压源是不变的。
如图11B所示,单元1的输出信号波形有一个其上电压改变的单一的点。在本例中,由于在该点给出了一个持续的波形,可以实现门电平上的延迟计算。
(第四实施例)接下来,下面将解释本发明第四实施例的加速延迟计算的方法。在第三实施例中,单元窗是固定的。在本例中,通过扩大单元窗来执行模型化。在本例中,如图12所示的流程图,与图7所示的第三实施例相同,从所观测的电路信息中计算输入信号和输出信号的变换时间(计算步骤701)。然后,从抽象信息中提取包含变换时间的单元窗(提取步骤702)。如果确定步骤703确定了输出信号在各定时窗范围内被变换,并且确定步骤704中确定了提取的单元窗中的电压是不同的,那么在第三实施例里与该变换相关的单元窗中的电源电压被平均化。相反,本例中,执行了对电源电压考虑周期的扩展(步骤707),然后基于输入信号波形的变换使用电源电压(步骤708),并且响应于电源电压执行通常延迟计算(步骤709)。
图13示出了电源电压考虑周期的扩展。如果单元的输入/输出信号在各单元窗范围内被变换,电压考虑周期被扩展到输入信号波形的一个晶体管阈值电压Vth。这里,在现有技术中,当考虑电源电压扩展步骤中实际晶体管的操作时,电压考虑周期被设置成从一个时间点到另一个时间点。在前一个时间点上,单元A的输入波形超过了该时间点的一个延迟测量阈值电压;在后一个时间点上,单元B的输入波形超过了晶体管阈值电压。相反,在本例中,电压考虑周期被设置成从一个时间点到另一个时间点。在前一个时间点上,单元A的输入波形超过了该时间点的晶体管阈值电压;在后一个时间点上,单元B的输入波形超过了晶体管阈值电压。
从而,操作晶体管的电源电压可以刚好在延迟时间内反映出来。
此外,如图14所示,从在所要求的时间内产生的电压下降值中计算用于计算延迟的电源电压,直到输入信号波形从晶体管阈值电压达到延迟测量阈值电压。
结果,由于不需要使用阶梯电源电压波形进行计算,可以简化延迟计算,并且减少计算量。
(第五实施例)接下来,下面将要解释图1的1003所示的形成抽象信息步骤中的数据压缩,它减少了存储器的使用量并且改善了操作速度。
在本例中,如图15所示,数据可以分成例如网孔状,用于在同一区域中保持共用电压数据。
图16示出了一个流程图。基于电路信息(布置信息)1601,一个芯片被分成了像网孔的区域,如图17所示,相同区域中的实例共享电压数据。
然后,从组中提取一个代表性电压,一个平均值或中心值被选择作为该代表性电压(步骤1632)。图17A示出了一个网孔,可以理解该网孔中包括了多个的实例。图17B示出了网孔中的电压数据,其中纵坐标轴表示下降的电压,横坐标轴表示时间。
因而,由此得到了电压提取信息(步骤1632)。
在该方式中,如果所有实例的时序电压提取信息被保持,那么就增加了使用的存储器量。然而,根据该配置,由于同一区域中的该实例拥有共用电压数据,因此减少了存储器的使用量,并且提高了操作速度。
接下来,由于通过对这些实例分组而压缩了信息量,就能够减少存储器的使用量,并且提高操作速度。
此外,在上述方法中,可以使用区域中中心实例的电压数据,或使用网孔中所有实例的平均值。
(第六实施例)在第五实施例中,芯片被划分成了网孔状的样子,并且在同一区域中使用恒定的电压值。相反,在本方法中,基于电源线路的寄生元件信息计算电源线路信息的时间常数,并且如果该时间常数位于一个特定的时间常数范围内,相同的组共享该电压数据。
图18示出了一个方法的流程图。芯片依据基于电路信息(寄生元件信息)1801按时间常数(RC)被分组,每个组中的实例保持共用电压数据。这里,如图19A所示,芯片被理解为电阻和电容的连接体,其由一个线路网络N和一个实例In构成。如图19B所示,在预定值内包括作为结果的时间常数的范围被看作一个区域,并在同一区域中的电压数据被安排为一个数据。
根据本方法,由于考虑了电源线路,可以提高精确度。
(第七实施例)在本实施例中,当电源电压波形差被抑制在一个延迟计算误差内,其作为同一组共享电压数据。在本例中,可以使用每个实例操作时间的电压波形差。
首先,如图20所示,基于从单元库2011和宏库2021所读取的数据,电压误差容许计算装置2009得到一个电压误差值。然后,通过实例分组装置2010得到电压提取信息2033。
类似图21A和21B所示的实例和电源电压波形差,如果电源电压波形差被抑制在(先前确定的)延迟计算误差内,则电压数据被共同使用并作为一个电压数据被存储。
结果,可以很大程度地压缩信息量并且改善处理速度。
(第八实施例)在第七实施例中,基于各个实例中的电源电压波形差,通过把电压分成组来实现数据压缩。在本实施例中,实例被分成组,并且计算每个组的电压值,因而可以减少处理量并且可以压缩信息量。
图22是示出了第八实施例的方法的流程图。
如图23A所示,基于电路信息(寄生元件信息)2201,通过把实施分组,得到缩减电路信息2212。这意味着,如图23A所示,在预定值内包括作为结果的时间常数的范围,被理解为一个区域,并且宏形成在同一区域(宏生成装置2250)。因而,形成宏实例MIn和缩减线路网络MN。
基于电源线路的寄生元件信息,计算电源线路的一个时间常数。包括在预定时间常数中的实例被分组。在分组后的实例组中,生成了具有电流波形的宏和缩减的电源线路RC电路,然后通过使用各个宏执行电压分析(宏电压分析装置2260)。因而,得到了提取电压信息。
结果,减少了存储器的使用量并且改善了操作速度。
以这种方式,如果将该电压分析应用到所有实例,会增加存储器的使用量和处理所需的时间。然而,根据该配置,由于实例被分成了组,计算每个组中的电压值,可以减少处理量并可以压缩信息量。结果,减少了存储器的使用量并且改善了操作速度。
(第九实施例)上述第八实施例中,通过把各个实例分组并计算每个组的电压值,减少了处理量并压缩了信息量。在本实施例中,将在下面解释需分析的时间间隔的减少,以减少处理量。
为了减少存储器的容量,需要一个需分析短的时间间隔。在本例中,与现有技术的在分析中使用平均值信息的例子相比,必须使用考虑到单元窗的一个分析时间间隔。
通过对基于电源电压波形差的各自实例进行分组,执行数据压缩。在一个多处使用了时钟信号的多循环电路的情况下,使用多个的单元窗分析延迟时间。
如图24B中的框图所示,假定连接单元C1、C2,并且时钟CK1、CK2分别输入到单元中。因而,如图24A所示,假定输入信号D1输入到单元C1,单元C1被时钟CK1所驱动。并且输入信号D2输入到单元C2,其经过一个预定电路连接到单元1的输出端,单元C2被时钟CK2所驱动。这时,时钟CK1、CK2是相同定时操作的时钟信号,如图24C给出了单元C2的一个输出。
在本例中,由于使用多个(这里是2个)单元窗Tw执行操作分析,该分析可以在不减少精确度的情况下进行。
相反,如图25所示,如果使用了分别具有不同周期的两个时钟CK1和CK2,估计分析范围应该被扩展到最小公倍数,并且应在最坏及最小的情况下估计电压下降。
(第十实施例)在本实施例中,计算最大延迟值时,应该提取一个时间点,其中在时间窗内的该时间点上目标单元被最后操作,然后基于在该提取的时间点上的最大下降电源电压来计算延迟值。这里,“时间窗”表示一个时间周期,其中静态时间分析时,应执行基于每个时钟周期限制所准备的一个时间计算。因此,在许多情况下于此应用时钟周期本身。
在现有技术中,由于基于相关单元的最大电压下降量值计算了延迟时间,而没有考虑电压波形,所以在一些情况下基于一个时间点上的电压下降量值计算该延迟时间,其中在该时间点上实际没有引起时间误差。换句话说,如图26所示,对应于最大电压下降量值a的延迟值,其在分析目标的时间窗Tw的中间点上生成,而不影响关键路径的延迟。因此,在现有技术的方法中生成了很不利的分析结果。
例如,在该时间点的延迟值不总是影响关键路径的延迟,其中在该时间点上单元窗Tw的最大电压下降量值变为最大。因此,在本实施例中,如图26所示,当要计算最大延迟时间时,提取包括最后操作时间的最后操作窗Twf,然后检测最后操作窗Twf中的最大电压下降量值b,并计算对应于该值的延迟值。
以该方式,在本实施例中,提取包括最后操作时间的最后操作窗Twf,然后检测最后操作窗Twf中的最大电压下降量值b,并计算对应于该值的延迟值。
结果,实际上通过对关于时间的电压下降量值的计算,可以利用有引起误差的可能的操作时间的延迟值,因而减少了不利的情况。
相反,在计算最小延迟时间时,可以在全操作时间窗中生成第一个事件时,基于时间窗(Twa)中该时间的最小电源下降电压来计算延迟时间。
(第十一实施例)在本实施例中,提取驱动时钟的单元,有选择地计算驱动时钟的该单元的延迟值,进行考虑到电压下降的时间验证。例如,将在下面考虑图27所示的例子。在该例子中,如果触发器电路FF1到FF3以一个三级的方式连接,一个时钟clk由三个支路的时钟clk1、clk2、clk3驱动,则需要时间验证,其用于检验在一个时间后数据接收FF1的一个输入是否已被变换,其中该时间由数据接收FF1(保持时间)的时钟操作来确定。
在现有技术中,如果执行了保持延迟限制的验证,计算和验证考虑到所有单元的电压波形的延迟值。在本例中,增加了数据量,而且不总是需要这样的延迟值。在保持验证中,数据部分中存在一个验证延迟时间变为最短的状态所需的时间。延迟时间在不考虑下降的情况下是最短的。因而延迟时间不会过分最优地获得,即使是在没有考虑下降的状态中。因而,在本实施例中,考虑到电压变化的延迟计算仅仅被应用于时钟部分,但是除了通过使用理想电源状态中的延迟值的时钟部分以外,都要在其他各部分中计算延迟值。
此外,如果执行了设置延迟约束验证,当计算了除时钟部分之外其他部分的不利的延迟值,通过将只考虑了电压波形的延迟验证应用到时钟部分,就可以更好地执行消除有利的情况的验证。
在这样的情况下,根据本实施例的配置,由于减少了所计算的目标的量值,就可以减少延迟计算时间。
(第十二实施例)在本实施例中,将在下面考虑一个例子,该例中在保持时间验证中验证了一个呈现多个时间窗的电路。
在本实施例中,在存在多个时间窗的电路中,基于电压波形来执行的延迟计算被应用于时间窗的所有时间关系中。
例如,如图28所示,本方法中,如果电路中存在分别具有一个长周期A和一个短周期B的两个时间窗,如在每个时间窗中执行考虑到在时间窗X1-X2中的电压波形的延迟计算,及考虑到在时间窗X2-X3中的电压波形的延迟计算。
与时间关系相联系周期B的时间窗中的电压波形和周期A的不同。因此,如果执行考虑电压波形的延迟计算,就不能保证电路的操作,除非每个时间窗都执行考虑到电压波形的分析。
如果应用了本方法,最终地执行所有可能情况的延迟计算。因而,有可能响应于实际操作来执行延迟分析。
如上所述,根据本方法,对应于时间窗确定了单元窗,并且可以响应于消除过分最优的实际操作,实现基于电源电压变化而应用的延迟分析。
在本例中,时间窗是用于执行每个寄存器规定的时间分析的基本单元,并且通常基于输入到寄存器中的时钟同期而被规定。根据该电路配置,存在时间窗与时钟周期不一致的例子。
(第十三实施例)本实施例被用来利用这样一个关系路径的实例具有一个对于在最大电压下降量值时的时间迟滞的容差,当该电压下降量值比最大电压下降量值小时,该实例完全不会引起设置时间误差。本实施例的特征是,在具有路径时间容差的实例中,不计算延迟值。如图29所示,计算延迟值的步骤包括计算一个粗略的电压下降量值的步骤2901,一个计算时间迟滞的步骤2902,一个计算粗略电压下降数据成为最大的实例的时间迟滞值的步骤2903,以及一个执行实例的详细延迟计算的步骤2904,这里在该实例中电压下降数据在时间迟滞值上成为一个误差。
这里,例如,图56中电压分析步骤的所有实例的最大电压下降值,可以被作为计算粗略电压下降量值的步骤来使用。
在本例中,在现有技术中,考虑到电压下降(作为平均值)的延迟计算被应用到所有单元。但是反映路径的实例具有一个对于在最大电压下降量值时的时间迟滞的容差,当电压下降量值比最大电压下降量值小时,该实例不会引起设置时间误差。因此,在详细下降量值计算之前,通过预先执行粗略下降量值计算,来计算最大电压下降量值,并且基于详细下降量值而执行的延迟计算不应用于路径的实例,其中该实例具有一个对于在最大电压下降量值时的时间迟滞的容差。
结果,可以减少延迟计算的量值,并且可以缩短计算时间。
此外,在执行最优化时,基于分析结果报告影响在电压下降时变弱的单元的时间窗的单元或实例,该分析结果是通过使用上述操作分析方法得到的,因而实现了最优化。
(第十四实施例)接下来,将在下面解释基于该分析结果来执行的最优化方法。
如图30所示,本实施例包括报告通过用于本发明的半导体集成电路装置的操作分析方法得到的结果的步骤,以及基于该结果,移动该影响单元或实例或在影响单元或实例附近插入一个电容单元。
更具体地,如图31和图32所示,从如图1所示的报告结果中提取信号的一个关键路径32例如一个具有最大延迟值的路径(步骤3001),然后依据所提取的信息提取单元窗(步骤3002),响应于该提取结果提取一个电流路径(步骤3003),提取一个单元作为影响单元33,其中经该单元流过电流并需要消耗很大的功率对单元窗有影响(步骤3004),移动该影响单元(步骤3005)或该电容单元被插入到该影响单元附近(步骤3006)。
其间,如果由于时钟路径的电压下降的影响,从如图32所示的时钟源到FFs产生时钟偏移(skew),则提取一个单元窗,该单元窗上运行时钟路径中受电压下降很大影响的CTS缓冲器器,然后提取单元窗的电流路径并且提取对该路径有影响的影响单元,并且如上述地移动该影响单元(步骤3005)或插入该电容单元(步骤3006)。否则,如果电容在时钟路径中的CTS缓冲器附近,其中该时钟路径并没有受电压下降影响,则可以通过减少时钟路径中通向FF的电容来调整时钟偏移(步骤3007)。
本方法中,执行了该处理。如果处理步骤和分析步骤一直重复直到在分析步骤中确定一个时间差被抑制得比一个预定值小,那么就可以高效地执行该高可靠度的处理。
(第十五实施例)在上述的实施例中,如果执行了延迟计算,则通过参考库计算该延迟值。在本实施例中,下面将解释对单元的抽象。本方法可应用于如图1所示的单元库1013和宏库1023。
这里,在该操作分析方法中使用的库由多个时间点和多个电压以及它们的延迟值的组合所组成。该延迟值计算方法通过参考库来计算与在抽象步骤中所形成的电压抽象信息相应的延迟值。
首先,在本例中,如图33所示,通过使用多个时间t1、ta、t2和多个电压vdd、vdd1、vdd2的组合来形成库。
例如,当时间从t1、ta到t2分别改变为电压Vdd、Vdd和Vdd1时,根据组合输入转换(slew)速率和负载电容测量延迟时间并生成库A。
如果使用以这种方法所形成的库,即库由多个时间和多个电压的组合所形成,就可以从包括时间和电压的组合的库中计算延迟值,其具有相似的电压波形。
根据该配置,由于该库通过组合电压波形的改变而形成(图33和图35B),因此可以在接近实际操作的状态下得到该延迟值,而不执行实际的计算。此外,该操作变得接近该实际操作并且可以得到高精确度的延迟值。此外,由于数据是作为库来准备的,故延迟操作变得极为容易。
解释在该例子中,使用作为单元窗的开始点t1、终点t2、中间点ta这三个时间的抽象处理。如图34A所示,按照是否大于电压vdd和vdd1的中间点的电压(vdd+vdd1)/2对电压波形信息中的开始点t1、终点t2、中间点ta的电压执行抽象,在图34A所示的实例中,开始点t1、终点t2和中间点ta的电压用作为改变为Vdd、Vdd和Vdd1的波形。
此外,上述对比的点并不仅限于该中间点,可以使用多个点。
在本例中,在库中列出基于例如延迟时间信息、功率消耗信息、时间检查值信息、输入引脚容量信息、阈值信息和单元特征的信息。
延迟时间信息作为由输入转换(slew)速率(输入信号波形的变换时间)和负载电容所组成的延迟时间表而被存储。
功率消耗信息作为由输入转换速率(输入信号波形的变换时间)和负载容量所组成的功率消耗表而被存储。
时间抑制信息作为由时钟和数据的输入变换速率(输入信号波形的变换时间)所组成的设置、保持抑制表而被存储。
以上是实际的宏库。
此外,在上述实施例中,通过检测三个时间点的各自的电压,并计算延迟值信息,形成该库。如果有两个或两个以上的时间点的信息,则可以形成该库。如图35所示,可以使用两个时间点的信息。
根据该配置,通过利用多个时间t1、t2和多个电压的组合来形成库。因而,由于假定单元窗中有三种类型的电压如单调递增、单调递减和恒定电压,因此可以减少数据量。
(第十六实施例)接下来,下面将解释第十五实施例所使用的形成库的方法。
图2中所示的半导体芯片被划分成了宏M1到M8。如图36A所示,每个宏中使用一个宏插脚作为电源端,得到每个宏插脚的电流波形图(图36B)。这里,“宏”意味着一个指示了例如DSP、存储器等的功能模块的一个单元,并且指示比标准单元大的一个单元。按本方式,由于芯片不是理解为一个单元个体(unit)而是一个宏单元,还有操作和功耗,因此在库中阐述,该实施例使得在芯片设计中使用这些数据成为可能。
更具体地,图37说明性地示出了一个电压下降分析宏电流模型,一个芯片370被划分成多个的宏371,在芯片插脚370p和芯片插脚371p之间形成了一个芯片电源网络370N,其中芯片插脚370p作为在芯片外围形成的一个外部连接端,芯片插脚371p作为提供给宏的连接端。该网络导致了电压下降。
首先,选择宏M1并且得到电流波形。在本例中,根据芯片中宏的位置,电流波形是不同的。例如,如图38A和图38B所示,例如,宏M1的一个宏插脚H到图38B中的芯片中一个电源焊点的距离比如图38A中安排的要近,因而减少了距离芯片的阻抗。因而,图38B中的电流比图38A中的要大。
如从中所理解的,当考虑宏在芯片中的位置时,执行电流分析(电压分析),电流分析的精确度会更高。此外,如果使用该分析结果形成库,可以得到高精确度的库。
这里,在执行关于于芯片中宏的位置的电流分析时,如图37所示,计算从芯片插脚370p扩展到芯片插脚371p的芯片电源网络370N,并且通过考虑该网络计算宏电流。
换句话说,如图39所示的流程图,从电路信息1001中提取宏电路信息3911和宏电源线路RC信息3912,并且基于该信息计算一个宏电流(步骤3920),然后计算一个宏插脚部分电流波形(步骤3921),执行一个波形处理步骤(步骤3922),形成一个插脚连接电流模型(步骤3923)。
在本例中,芯片的电源插脚和宏插脚之间的芯片电源网络对宏的位置排列有影响。在很多情况下,在执行一般宏抽象步骤的时间点上,芯片电源网络的值是未确定的。
因此,在一个变型方案中,通过使用一个芯片阻抗表,将由宏的排列位置所造成的RC信息的差异形成为一个阻抗表,如图40所示,和电感L、电阻R、电容C形成作为库。因此,可以响应于该位置被选择并引入R、L、C。
这里,一个和上述实施例相同的流程图。如图41的流程图所示,通过引入一个芯片阻抗表3913(步骤3920)执行一个宏电流计算。其余的与图39中相似。
在本例中,生成和芯片阻抗表中的R、C、L的组合量值相同的连接插脚电流模型。
此外,在执行芯片电压下降分析时,计算芯片的阻抗值并且选择合适的连接插脚电流模型以适合该芯片阻抗值。
按照这种方式,不仅高速地得到了高精确度的电压下降值,而且得到了与之对应的延迟值。
(第十七实施例)接下来,将在下面解释本发明的第十七实施例。
通常,宏有几个主要模式,在存储器宏的情况下,其具有写模式、读等和用于这些模式的不同的内部电路。
因此,在本实施例中,通过考虑模式的影响形成更高精确度的电流模型。
图42A和图42B是分别为读模式和写模式中的每个宏插脚的电流模型。
这里,可以形成图43所示的一个宏模式表,通过使用该宏模式表,可以将各模式的波形信息准备为库,并且该波形信息是从关于模式的库中选择和引入的。
如图44所示另一流程图。通过引入宏模式表4413计算宏电流(步骤3920)。其他的和上述实施例相同。
在本例中,同样生成和宏模式表中模式组合的量值相同的插脚连接电流模型。
此外,在执行芯片电压下降分析时,选择对应于所使用的模式的插脚连接电流模型。
在本方式中,可以实现高速的处理,可以得到高精确度的电压下降值,并且可以得到相应于该值的延迟值。
(第十八实施例)接下来,下面将解释本发明的第十八实施例。
在本实施例中,通过经由等效阻抗连接宏中的线路,形成线路结构,并准备其作为库,以实现高速高精确度的电压分析。
更具体地,如图45所示,宏插脚通过一个阻抗电阻连接,形成各宏插脚之间的阻抗作为库。同时,如图46所示,通过使用插脚选择宏线路表,选择用于计算阻抗电阻所必需的第一对插脚。因而得到如图47所示的一个宏线路表。
图48的流程图示出了一种在宏中考虑到电源线路路径的形成宏线路表的方法。
首先,从电路信息中提取宏电源线路电阻(R)信息4810,并且基于宏电源线路电阻R信息通过上述的插脚选择宏线路表4813,从而计算阻抗(步骤4802)。
然后,形成一个线路模型4803,该数据作为宏线路表4804存储在一个宏库中。
顺便地,在现有技术中,若必须考虑宏中的电源线路路径,由于主线路中的电源线路的所有层仅仅作为宏中的电源线路而被选择、提取、并且计算,需要一个极大的数据量。相反,在本方法中,仅仅需要(N-1)(N/2)次的计算,其中N是宏插脚的量值。因而,甚至在结合了大规模的宏的芯片中,可以在考虑到宏内部的线路阻抗的同时,高速地计算芯片电压下降。
(第十九实施例)
接下来,下面将解释本发明的第十九实施例。
在上述第十八实施例中,描述加速电压分析的方法,通过经由等效阻抗在宏中连线路路,形成如上构成的线路结构并将它们准备为库。在本实施例中,通过把内部电路元件和要模型化的晶体管级上的实际电源线路一起理解,并且将宏的内部模型化为和等效阻抗和电流模式连接的结构,以便实现高速度高精确度的分析。
换句话说,如图49A所示的宏中,通过与如图49B中所示的线路阻抗成比例地划分宏中的总电流波形,生成电流模型。
该操作过程如图50所示,这就是,通过基于宏电路信息5011计算宏的总电流,得到整个宏的电流波形信息(步骤5012),并且基于该电流波形信息和如图47所示的宏线路表划分电流波形(步骤5015),形成一个线路连接电流模型5016。
根据此方法,对宏中的电压下降的计算可与对芯片中的电压下降的分析同时进行。
(第二十实施例)接下来,将在下面解释本发明的第二十实施例。
在上述第十九实施例中,在经由等效阻抗连接宏中的线路从而形成线路结构之后,通过把内部电路元件和要模型化的晶体管级上的实际电源线路一起理解,以便在线路中形成电流模型。另外,在本实施例中,通过按线路阻抗成比例地划分宏中的总电容,生成电容模型,如图51A和图51B所示,然后通过在包括了电阻R11、R12、R21、R22......的线路中加入去耦合电容C1和C2,将线路连接的电容模型化。因而,通过将宏的内部形成库来加快电压下降分析。
换句话说,如图51A所示的宏中,通过按线路阻抗成比例地划分宏中的总电容来生成电容模型,如图51B中所示。
图52示出了上面的操作过程。这就是,基于宏电路信息5211,通过计算宏的总电流,得到整个宏的电容信息(步骤5212),并且基于该电容信息和如图47所示的宏线路表划分电容(步骤5216),然后形成一个线路连接电容模型5217。
根据本方法,对宏中的电压下降的计算可以和对芯片中电压下降的分析同时进行。
此外,可以实现一种考虑到去耦合电容元件的高精确度的电压下降分析。
(第二十一实施例)接下来,将在下面解释本发明的第二十一实施例。
该实施例执行一个定时分析,当考虑到电压下降时,并有如下特征使用一个宏处理部分5404计算该延迟值。
在本例中,将在下面解释宏内部可分析库5411分析宏的内部的情况。图53A到图53C示出了经过存储单元的数据路径、各数据路径的时间窗和电压下降。
在本方法中,如图54所示的流程图,使用包括宏内部可分析库5411的宏处理部分5404。宏内部可分析库5411由宏线路表4804、线路连接电流模型5016、线路连接电容模型5217组成。
例如,考虑图53A所示的宏中的一个存储单元。AD0和AD10是输入地址,D05和D010是输出数据。图53B示出了存储单元中各数据路径的时序图。
首先,参考芯片电路1001信息和宏处理部分5404(步骤1002)中的宏内部分析库5411执行电压分析,以得到电压波形信息1031。从电压波形信息1031得到一个宏内部电压值5412。
图53示出了宏的一个例子。图53A示出了四个数据路径AD0-D05、AD0-D010、AD10-D05、AD10-D010。图53B示出了各数据路径上的各存储单元的变换信息。图53C示出了位于各数据路径中的各存储单元的电压。
例如,在图53A中,如果经由存储单元从地址AD0到D05中提取数据,则当图53B的一个时钟信号CLK输入时,提取一个上升时间。然后,选择该时间窗来包括该时间(变换时间)(步骤5413)。通过中止由抽象各数据路径的电压波形得到的信息,得到图53C所示的电压抽象信息5414。
然后,响应于电压抽象信息5414,执行延迟计算(步骤1005)。该过程可以如图1中所示的第一实施例的过程一样执行。
按照这种方式,根据本发明的方法,当使用宏库执行高速度高精确度的电压分析时,由于图53C所示的电压下降值涉及了每个数据路径,其中该数据路径从宏的输入扩展到宏的输出,因此可以执行考虑到定时分析的高精确度的电压下降分析。
此外,由于规定了每个数据路径的时间窗,通过使用在不可能时间上的电压下降值,可以消除执行的太不利的分析的情况。
(第二十二实施例)接下来,将在下面解释本发明的第二十二实施例。
在本例中,执行考虑到定时分析的电压下降,并且执行对宏内部不可分析库的分析。本实施例的特征在于在计算延迟值时,通过执行宏电压分析,基于作为电压抽象信息的宏插脚信息以及电路信息、电源RC信息、模型信息和芯片阻抗信息,来计算宏内部电压和延迟值。
该例执行了考虑到定时分析的电压下降,并且有如下特征在计算延迟值时使用宏处理部分5504。在本例中,将在下面解释不能分析宏内部的宏内部不可分析库5511。
根据本方法,使用了宏处理部分5404,其具有如图55的流程图所示的宏内部不可分析库5511。
首先,通过参考芯片信息1001和宏处理部分5504中的宏内部不可分析库5511,执行电压分析(步骤1002),以得到电压波形信息。该宏内部不可分析库5511由宏线路表4804、线路连接和插脚连接的电流模型3922(3923)所构成。从电压抽象信息1033中得到宏插脚电压值5512,然后基于电路信息5513、电源RC信息5514、模式信息5515、芯片阻抗信息5516,执行宏电压分析,并计算宏内部电压和延迟值5518。
按照这种方式,计算宏的延迟值。此外,对于出自宏例如标准单元,响应于电压抽象信息1033执行延迟计算(步骤1005)。然后,执行与图1所示实施例相似的过程。
根据该配置,一个考虑到定时分析的高精确度电压下降可以被应用于该宏例如模拟量,因为对其来说准备延迟库是困难的。
在本例中,为了实现最优化,在实际地改变条件后,再执行一次分析,并报告结果。结果,可以经由几个过程得到最优可读布局。
如上所解释的,根据本发明,在分析半导体集成电路中的电压下降时,可以执行一个高精确度高可靠度的分析,其不是通过基于平均电压来计算信息的延迟值,而是通过计算两个点上的电压下降信息以估计基于该信息的时间并计算该延迟值。
虽然以本发明的优选形式伴随一定程度的具体化描述了本发明,但可以理解在不背离下面要求的发明的本质和范围的情况下,可以对优选形式的当前描述在构成和部分的组合和布置中作出细节的改变。
权利要求
1.一种用于半导体集成电路装置的操作分析方法,包括步骤通过基于一个半导体集成电路装置的电路信息,计算在电源端上该半导体集成电路的每个实例的电压波形,并且分析每个实例的电压波形,以便形成电压波形信息;通过抽象该电压波形信息,形成电压抽象信息;并且基于该电压抽象信息计算该实例的一个延迟值。
2.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中形成电压波形信息的步骤包括计算该半导体集成电路装置中所有实例的电压波形信息的步骤。
3.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤是响应于该电压抽象信息参考一个库,以从该库中读取一个关注的延迟值并且将该延迟值作为延迟值信息来输出。
4.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,进一步包括基于电路信息计算每个实例的作用时间的步骤,该步骤先于形成电压抽象信息的步骤。
5.根据权利要求3的一种用于半导体集成电路装置的操作分析方法,其中该库包括一个用于存储抽象的单元信息的单元库,和一个用于存储抽象的宏信息的宏库。
6.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中形成该电压波形信息的步骤是参考一个基于电路信息而先前形成的库来形成该电压波形。
7.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中形成电压抽象信息的步骤包括在形成每个预定单元窗中划分电压波形并且在单元窗中线性化该波形的线性化步骤。
8.根据权利要求7的一种用于半导体集成电路装置的操作分析方法,其中该线性化步骤是通过以用于线性化的直线来连接单元窗中的电压波形的起始点和终点而形成线性化信息的。
9.根据权利要求7的一种用于半导体集成电路装置的操作分析方法,其中线性化步骤包括通过最小平方的方法线性化单元窗中的电压波形来形成线性化信息的步骤。
10.根据权利要求7的一种用于半导体集成电路装置的操作分析方法,其中该预定的单元窗被设置成所有实例的延迟时间的最大值。
11.根据权利要求7的一种用于半导体集成电路装置的操作分析方法,其中形成电压波形信息的步骤包括形成阶梯性的信息的步骤,该步骤中,如果单元窗中线性化信息的斜率的绝对值大于1,则提取单元窗中的最大值,如果该斜率的绝对值小于1,则提取单元窗中的最小值。
12.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤包括步骤从电路信息中计算该实例的输入信号和输出信号的变换时间;基于计算步骤中所计算的变换时间,提取该通过其变换了输入信号和输出信号的单元窗;基于所提取的单元窗,确定是否通过该单元窗变换输出信号;并且基于确定步骤中的确定结果,计算该延迟值。
13.根据权利要求12的一种用于半导体集成电路装置的操作分析方法,其中当确定步骤中确定输出信号不在各单元窗范围内变换并且该实例的延迟时间小于该单元窗时,该计算延迟值的步骤在延迟计算中使用一个稳定的电压值作为一个在单元窗的电压下降后所得的电压
14.根据权利要求12的一种用于半导体集成电路装置的操作分析方法,其中当该实例的延迟时间大于该单元窗时,计算延迟值的步骤使用与两个变换后的单元窗计算中关于电压值的计算值,作为一个在单元窗的电压下降后所得的电压。
15.根据权利要求12的一种用于半导体集成电路装置的操作分析方法,其中当实例的一个延迟时间大于单元窗时,该计算延迟值的步骤通过模型化实例来计算延迟值,其中模型化是依据该实例和驱动该实例的一个线路网络的。
16.根据权利要求12的一种用于半导体集成电路装置的操作分析方法,其中当确定步骤中确定在各单元窗范围内变换输出信号和在单元窗中变换实例的输入/输出信号时,计算延迟值的步骤计算变换的单元窗的电源电压的平均值,并且基于该平均值计算延迟值。
17.根据权利要求12的一种用于半导体集成电路装置的操作分析方法,当确定步骤确定在各单元窗范围内变换输出信号和在单元窗中变换实例的输入/输出信号时,计算延迟值的步骤基于变换的单元窗的变换位置计算电源电压的一个加权的平均值,并且基于该加权的平均值计算该延迟值。
18.根据权利要求12的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤包括当确定步骤确定在各单元窗范围内变换输出信号时,把该实例的电压考虑周期扩展到该实例的输入信号波形的一个阈值值的步骤。
19.根据权利要求12的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤包括当确定步骤确定输出信号在各单元窗范围内变换时,从一个所得的电压下降值中计算在延迟计算中计算电源电压,直到实例的一个输入信号波形上升到延迟测量阈值电压。
20.根据权利要求3的一种用于半导体集成电路装置的操作分析方法,其中该库是由构成单元的每个单元或每个宏中的多个时间和多个电压的集合构成的。
21.根据权利要求20的一种用于半导体集成电路装置的操作分析方法,其中多个时间的一个最长间隔和该单元窗的宽度相等。
22.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中,在二进制化该电压时,抽象步骤基于每个时间的电压波形值是否大于一个中间点来确定电压。
23.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中形成抽象信息的步骤把半导体集成电路划分成多个如网孔的区域以使每个区域中的实例共享相同的电压数据。
24.根据权利要求23的一种用于半导体集成电路装置的操作分析方法,其中基于电源线路的寄生元件信息计算一个电源线路的时间常数,并且相同的组保持共用在一个时间常数的特定范围内的电压数据。
25.根据权利要求23的一种用于半导体集成电路装置的操作分析方法,其中当电源电压的一个波形差的范围是在一个预定的范围内时,相同的组保持共用电压数据。
26.根据权利要求24的一种用于半导体集成电路装置的操作分析方法,其中通过分组的实例组和一个退化电源线路RC电路组成的电流波形生成宏,并且通过使用各自的宏实现电压分析。
27.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤包括当一个时间窗中最后运行一个目标单元时检测电压下降值的步骤,并且包括在一个检测最大延迟时间的计算中,基于一个检测的值计算延迟值的步骤。
28.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤包括当一个时间窗中首次运行一个目标单元时检测电压下降值的步骤,以及在一个检测最小延迟时间的计算中,基于一个检测的值计算延迟值的步骤。
29.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤包括提取驱动一个时钟的单元的步骤,以及一个有选择地只计算驱动该时钟的单元的延迟值的步骤。
30.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤在一个存在多个的时间窗电路中,基于电压波形执行时间窗中所有时间关系的一个延迟计算。
31.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤包括步骤计算一个粗略的电压下降量值;检测电压下降量值变为最大的实例;并且确定达到该实例的一个路径的时间是否有容差;并且在电压下降量值中有容差的实例中,不计算延迟值。
32.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中分析步骤包括步骤计算一个半导体集成电路中的各电路元件的电压波形;并且基于一个电源端的各电路元件的电压波形,计算电压元件的延迟值。
33.根据权利要求1的一种用于半导体集成电路装置的操作分析方法,其中计算延迟值的步骤通过执行宏电压分析来计算宏内部电压和延迟值,其中宏电压分析是基于作为电压抽象信息的宏插脚信息、电路信息、电源RC信息、模式信息和芯片阻抗信息的。
34.一种优化半导体集成电路装置的方法,包括步骤通过使用如权利要求1所述的操作分析方法,得到一个分析结果,基于该结果报告一个影响所有在电压下降中变弱的单元的单元窗的实例;基于该报告步骤执行最优化。
35.根据权利要求34的一种优化半导体集成电路装置的方法,其中执行最优化的步骤包括移动一个在报告步骤中报告的影响实例的步骤。
36.根据权利要求34的一种优化半导体集成电路装置的方法,其中执行最优化的步骤包括在一个在报告步骤所报告的一个影响实例的附近,插入一个电容单元的步骤。
37.一种实现如权利要求1所述的操作分析方法的分析系统。
全文摘要
本发明包括基于电路信息通过计算电源端的一个半导体集成电路的每个实例的电压波形并且分析每个实例的电压波形,从而形成电压波形信息的步骤,通过抽象电压波形信息来形成电压抽象信息的步骤,以及基于电压抽象信息来计算实例的一个延迟值的步骤。
文档编号G06F17/50GK1574289SQ20041007941
公开日2005年2月2日 申请日期2004年6月9日 优先权日2003年6月9日
发明者岛崎健二, 佐藤和弘, 一宫敬弘, 岩西信房, 雨河直树, 平田正明, 平野将三 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1