一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

确定电源电压数据的方法、装置、电子设备和介质与流程

2021-11-10 04:26:00 来源:中国专利 TAG:


1.本公开的实施例涉及一种在集成电路的静态时序分析中确定电源电压数据的方法、集成电路的静态时序分析方法、在集成电路的静态时序分析中确定电源电压数据的装置、集成电路的静态时序分析装置、电子设备和计算机可读存储介质。


背景技术:

2.随着集成电路设计规模越来越大,工艺越来越先进,频率越来越高,对高准确度的时序签核(signoff)的标准要求越来越高。对于高性能cpu、gpu来说,由于芯片面积很大,整个电源网络复杂且庞大,电压降对时序的影响显得尤为重要。


技术实现要素:

3.本公开至少一个实施例提供一种在集成电路的静态时序分析中确定电源电压数据的方法,集成电路包括多个逻辑单元,方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
4.例如,在本公开一实施例提供的确定电源电压数据的方法中,对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据,包括:针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及基于电压波动表征参数,确定每个逻辑单元的目标电压数据。
5.例如,在本公开一实施例提供的确定电源电压数据的方法中,时序路径包括时钟路径,针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,包括:确定每个时序路径中位于时钟路径上的至少一个时钟路径逻辑单元;以及对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理。
6.例如,在本公开一实施例提供的确定电源电压数据的方法中,多个仿真周期为n个仿真周期,n为大于0的整数,针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,包括:针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在n个仿真周期中的每个仿真周期中的第一电压
值;对每个逻辑单元在n个仿真周期的每相邻的两个仿真周期中的第一电压值求取差值而获得n

1个差值,并且对n

1个差值分别取绝对值而获得n

1个电压差绝对值;以及对n

1个电压差绝对值进行计算而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
7.例如,在本公开一实施例提供的确定电源电压数据的方法中,每相邻的两个仿真周期包括第一仿真周期和第二仿真周期,确定每个逻辑单元在n个仿真周期中的每个仿真周期中的第一电压值,包括:将第一仿真周期中电源电压仿真子数据中的最大值作为第一仿真周期的第一电压值;以及将第二仿真周期中电源电压仿真子数据中的最小值作为第二仿真周期的第一电压值。
8.例如,在本公开一实施例提供的确定电源电压数据的方法中,对n

1个电压差绝对值进行计算而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,包括:计算n

1个电压差绝对值的平均值和/或标准差而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
9.例如,在本公开一实施例提供的确定电源电压数据的方法中,基于电压波动表征参数,确定每个逻辑单元的目标电压数据,包括:基于每个逻辑单元的电源电压仿真子数据,确定每个逻辑单元在多个仿真周期中的平均电压值;以及基于平均电压值和电压波动表征参数,确定每个逻辑单元的目标电压数据。
10.例如,在本公开一实施例提供的确定电源电压数据的方法中,电压波动表征参数包括n

1个电压差绝对值的平均值和标准差,基于平均电压值和电压波动表征参数,确定每个逻辑单元的目标电压数据,包括:基于n

1个电压差绝对值的平均值和标准差,确定置信区间;以及基于平均电压值和置信区间确定每个逻辑单元的目标电压数据。
11.例如,在本公开一实施例提供的确定电源电压数据的方法中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,基于平均电压值和置信区间确定每个逻辑单元的目标电压数据,包括:确定置信区间中两个端点值中较大的端点值作为波动值;将平均电压值与1/2倍的波动值之间的差值作为每个逻辑单元在发送时钟路径上的目标电压数据;以及将平均电压值与1/2倍的波动值之和作为每个逻辑单元在接收时钟路径上的目标电压数据。
12.例如,在本公开一实施例提供的确定电源电压数据的方法中,置信区间为[μ
‑3×
σ,μ 3
×
σ],μ为电压差绝对值的平均值,σ为标准差。
[0013]
例如,在本公开一实施例提供的确定电源电压数据的方法中,针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,包括:针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期之间的电压差的最大值;确定最大值对应的两个仿真周期中的最小电压值和最大电压值;以及将最小电压值和最大电压值作为电压波动表征参数。
[0014]
例如,在本公开一实施例提供的确定电源电压数据的方法中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件
的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,基于电压波动表征参数,确定每个逻辑单元的目标电压数据,包括:将最小电压值作为每个逻辑单元在发送时钟路径上的目标电压数据;以及将最大电压值作为每个逻辑单元在接收时钟路径上的目标电压数据。
[0015]
例如,在本公开一实施例提供的确定电源电压数据的方法中,获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,包括:获取集成电路对应的仿真网表和仿真激励文件,仿真激励文件包括电路的信号信息;以及基于仿真网表和仿真激励文件对集成电路进行电源电压波动仿真以获得电源电压仿真数据。
[0016]
本公开至少一个实施例提供一种集成电路的静态时序分析方法,集成电路包括多个逻辑单元,方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
[0017]
例如,在本公开一实施例提供的静态时序分析方法中,时序路径包括时钟路径和数据路径,每个时序路径中的至少一个逻辑单元包括位于时钟路径中的至少一个时钟路径逻辑单元和位于数据路径中的至少一个数据路径逻辑单元,对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据包括:对每个时序路径中的至少一个时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个时钟路径逻辑单元各自的目标电压数据;以及对每个时序路径中的至少一个数据路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个数据路径逻辑单元各自的目标电压数据。
[0018]
例如,在本公开一实施例提供的静态时序分析方法中,对每个时序路径中的至少一个时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个时钟路径逻辑单元各自的目标电压数据,包括:针对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元,对每个时钟路径逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个时钟路径逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及基于电压波动表征参数,确定每个时钟路径逻辑单元的目标电压数据。
[0019]
例如,在本公开一实施例提供的静态时序分析方法中,对每个时序路径中的至少一个数据路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个数据路径逻辑单元各自的目标电压数据,包括:针对每个时序路径中的每个数据路径逻辑单元,确定每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的最小值,将最小值作为每个数据路径逻辑单元的目标电压数据;或者针对每个时序路径中的每个数据路径逻辑单元,计算每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的平均值,将平均值作为每个数据路径逻辑单元的目标电压数据。
[0020]
本公开至少一个实施例提供一种在集成电路的静态时序分析中确定电源电压数据的装置,包括:第一获取模块,配置为获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;第一确定模块,配置为确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;第一处理模块,配置为对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及第二确定模块,配置为将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
[0021]
本公开至少一个实施例提供一种集成电路的静态时序分析装置,集成电路包括多个逻辑单元,装置包括:第二获取模块,配置为获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;第三确定模块,配置为确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;第二处理模块,配置为对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及第四确定模块,配置为将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
[0022]
本公开至少一个实施例提供一种电子设备,包括处理器;存储器,包括一个或多个计算机程序模块;一个或多个计算机程序模块被存储在存储器中并被配置为由处理器执行,一个或多个计算机程序模块包括用于实现本公开任一实施例提供的在集成电路的静态时序分析中确定电源电压数据的方法或者集成电路的静态时序分析方法的指令。
[0023]
本公开至少一个实施例提供一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时可以实现本公开任一实施例提供的在集成电路的静态时序分析中确定电源电压数据的方法或者集成电路的静态时序分析方法。
附图说明
[0024]
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0025]
图1a示出了本公开至少一实施例提供的一种在集成电路的静态时序分析中确定电源电压数据的方法的流程图;
[0026]
图1b示出了本公开至少一实施例提供的一种时序路径的示意图;
[0027]
图2a示出了本公开至少一实施例提供的图1a中步骤s30的方法流程图;
[0028]
图2b示出了本公开至少一实施例提供的图1b中标准单元202的电源电压仿真子数据的示意图;
[0029]
图3示出了本公开至少一实施例提供的图2a中步骤s31的方法流程图;
[0030]
图4示出了本公开至少一实施例提供的图2a中步骤s32的方法流程图;
[0031]
图5示出了本公开至少一实施例提供的基于平均电压值和置信区间确定每个逻辑单元的目标电压数据的方法流程图;
[0032]
图6示出了本公开至少一实施例提供的图2a中步骤s31的另一种方法流程图;
[0033]
图7a示出了本公开至少一实施例提供的集成电路的静态时序分析方法的流程图;
[0034]
图7b示出了本公开至少一实施例提供的图7a中步骤s730的方法示意图;
[0035]
图8示出了本公开至少一实施例提供的另一种静态时序分析方法的流程图;
[0036]
图9a示出了本公开至少一个实施例提供的一种在集成电路的静态时序分析中确定电源电压数据的装置900的示意框图;
[0037]
图9b示出了本公开至少一个实施例提供的一种集成电路的静态时序分析装置1000的示意框图;
[0038]
图10示出了本公开至少一个实施例提供的一种电子设备的示意框图;
[0039]
图11示出了本公开至少一个实施例提供的另一种电子设备的示意框图;以及
[0040]
图12示出了本公开至少一个实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
[0041]
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0042]
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0043]
静态时序分析(static timing analysis,sta)是集成电路设计中的重要组成部分。sta的主要目的是通过分析时序路径的延迟,计算出集成电路设计的各项时序性能指标,以及时发现违反时序要求的路径。对于高性能cpu、gpu来说,由于芯片面积很大,整个电源网络复杂且庞大,电压降对时序的影响的显得尤为重要。因此,通常需要对集成电路的电压降进行仿真,然后利用仿真得到的电源电压数据进行sta,以确定集成电路的设计是否符合时序性能指标。
[0044]
在相关技术中,通常利用eda工具进行电源动态电压降仿真,然后再利用eda工具对动态电压降仿真的仿真结果进行时钟抖动仿真而得到时钟的不确定性,然后sta工具利用时钟的不确定性进行静态时序分析。在相关技术中,同一时钟域往往包含多个时序路径,对于同一时钟域,通常将该时钟域中的所有时序路径中时钟抖动的最大值作为该时钟域时
钟的不确定性反标到sta工具,这样导致静态时序分析的结果过于悲观,不够准确。
[0045]
本公开至少一个实施例提供一种在集成电路的静态时序分析中确定电源电压数据的方法、集成电路的静态时序分析方法、装置、电子设备和计算机可读存储介质。该方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。该方法可以得到针对每个逻辑单元的电源电压数据,因此可以降低电源电压数据的悲观性,从而利用电源电压数据进行静态时序分析得到的结果也不会过于悲观,使得静态时序分析的结果更加准确。
[0046]
图1a示出了本公开至少一实施例提供的一种在集成电路的静态时序分析中确定电源电压数据的方法的流程图。
[0047]
如图1a所示,该方法可以包括步骤s10~s40。
[0048]
步骤s10:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据。
[0049]
步骤s20:确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元。
[0050]
步骤s30:对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据。
[0051]
步骤s40:将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
[0052]
该方法可以根据电源电压仿真数据得到针对每个逻辑单元的电源电压数据,从而可以利用每个逻辑单元的电源电压数据进行静态时序分析,而不是例如在相关技术中对于同一时钟域中的所有时序路径都采用时钟抖动的最大值作为该时钟域时钟的不确定性来进行静态时序分析,因此该方法能够提高用于sta的电源电压数据的准确性,降低静态时序分析的悲观量,从而提高sta的准确性。
[0053]
对于步骤s10,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。
[0054]
在本公开的一些实施例中,步骤s10可以包括获取集成电路对应的仿真网表和仿真激励文件,仿真激励文件包括集成电路的信号信息,以及基于仿真网表和仿真激励文件对集成电路进行电源电压波动仿真以获得电源电压仿真数据。
[0055]
在本公开的一些实施例中,例如,集成电路对应的仿真网表记录了该集成电路在某一个逻辑层次(例如,门级电路)下的各个逻辑单元之间的连接关系。例如,仿真激励文件可以记录了eda仿真工具对集成电路进行仿真而产生的信号信息。在本公开的一些实施例中,仿真激励文件例如可以是value change dump(简称“vcd”)文件。
[0056]
在本公开的一些实施例中,例如,仿真网表和仿真激励文件可以被预先存储在存储介质(存储器)中。例如,直接访问该存储介质从而获取集成电路对应的仿真网表和仿真激励文件。
[0057]
在本公开的一些实施例中,例如可以通过仿真器对集成电路进行电源电压波动仿真。例如,将仿真网表和仿真激励文件(例如,vcd文件)输入仿真器中,同时将集成电路对应的寄生参数文件(例如,标准寄生交换格式文件,包括电源网络数据)也输入仿真器中,从而利用仿真器对集成电路进行电源电压波动仿真而获得电源电压仿真数据。
[0058]
仿真器对集成电路进行电源电压波动仿真可以得到每个逻辑单元在每个仿真周期中的电源电压仿真值。这里,将一个逻辑单元在每个仿真周期中的电源电压仿真值称为该逻辑单元对应的电源电压仿真子数据,并且集成电路中的多个逻辑单元对应的电源电压仿真子数据的集合即为该集成电路的电源电压仿真数据。
[0059]
在本公开的一些实施例中,仿真器例如可以是任何可以对集成电路进行电源电压波动仿真的工具,本公开对仿真器不作限定。例如,仿真器可以是redhawk工具或者cadance公司的voltus电压降仿真工具等。
[0060]
对于步骤s20,例如,利用静态时序分析工具(例如,tempus或者primetime)来获取集成电路的至少一个时序路径。例如,利用静态时序分析工具读入网表文件,寄生参数文件以及时序约束文件,然后根据网表文件,寄生参数文件以及时序约束文件确定集成电路的时序路径。
[0061]
图1b示出了本公开至少一实施例提供的一种时序路径的示意图。
[0062]
如图1b所示,在该时序路径中可以包括时钟源201和多个逻辑单元。多个逻辑单元例如可以包括标准单元202、标准单元203、第一触发器204、组合逻辑单元205、标准单元206和第二触发器207。
[0063]
例如,第一触发器204可以是用于发送数据的触发器,第二触发器207可以是用于接收数据的触发器。
[0064]
在本公开的一些实施例中,时序路径包括时钟路径和数据路径,时钟路径用于传输时钟信号,数据路径用于传输数据信号。时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为用于发送数据的触发器的时钟路径,接收时钟路径为用于接收数据的触发器的时钟路径。
[0065]
例如,在图1b所示的情景中,发送时钟路径可以是时钟源201

标准单元202

标准单元203,接收时钟路径可以是时钟源201

标准单元202

标准单元206。数据路径可以包括第一触发器204

组合逻辑单元205

第二触发器207。
[0066]
对于步骤s30,例如,在图1b所示的情景中,对标准单元202的电源电压仿真子数据进行处理而获得标准单元202的目标电压数据,对标准单元203的电源电压仿真子数据进行处理而获得标准单元203的目标电压数据。类似地,对时序路径中除标准单元202和标准单元203外的逻辑单元各自对应的电源电压仿真子数据进行处理,在此不再赘述。
[0067]
对于步骤s40,例如将至少一个逻辑单元各自的目标电压数据作为各自的电源电压数据,并且将每个逻辑单元的电源电压数据配置到静态时序分析工具中,使得静态时序分析工具利用每个逻辑单元电源电压数据对每个时序路径进行静态时序分析。
[0068]
图2a示出了本公开至少一实施例提供的图1a中步骤s30的方法流程图。
[0069]
如图2a所示,步骤s30可以包括步骤s31和步骤s32。
[0070]
步骤s31:针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
[0071]
在本公开的一些实施例中,时序路径包括时钟路径,步骤s31可以包括:确定每个时序路径中位于时钟路径上的至少一个时钟路径逻辑单元,以及对至少一个时钟路径逻辑单元中的每个时钟逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理。
[0072]
在本公开的另一些实施例中,时序路径还可以包括数据路径,步骤s31除上述对每个时钟逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理外,还可以包括确定每个时序路径中位于数据路径上的至少一个数据路径逻辑单元,以及对至少一个数据路径逻辑单元中的每个数据逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理。
[0073]
由于时钟路径对于静态时序分析比较重要,而数据路径对于静态时序分析的重要程度较低,因此步骤s31可以只对每个时钟逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理,以节省资源和提高效率。
[0074]
在本公开的一些实施例中,例如可以利用eda工具获取时钟路径上的至少一个时钟路径逻辑单元。例如在图1b所示的时序路径中,至少一个时钟路径逻辑单元可以包括标准单元202、标准单元203、标准单元206。
[0075]
图2b示出了本公开至少一实施例提供的图1b中标准单元202的电源电压仿真子数据的示意图。下面结合图2b示例性说明对逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理的实施例。
[0076]
如图2b所示,在该示意图中包括时钟信号301和波形图302。例如,波形图302可以是标准单元202的电源电压仿真子数据随时钟的变化形成的。也即,波形图302反映了标准单元202的电源电压仿真子数据随时钟的波动情况。
[0077]
例如,该情景中至少包括第一时钟周期311~第四时钟周期314。当然,在实际中时钟周期不一定是4个时钟周期,例如可以是少于4个时钟周期,也可以是多于4个时钟周期,本公开仅仅是以4个时钟周期为例来说明本公开的实施方式,但对本公开不具有限定意义。
[0078]
例如,在步骤s31中,分别对第一时钟周期311和第二时钟周期312的电源电压仿真子数据处理,对第二时钟周期312和第三时钟周期313的电源电压仿真子数据处理,对第三时钟周期313和第四时钟周期314的电源电压仿真子数据处理,从而获得标准单元202的电源电压仿真子数据在相邻周期中的电压波动表征参数。
[0079]
下文参考图3示出了本公开至少一实施例提供的步骤s31的实施例,以及下文参考图6示出了本公开至少一实施例提供的步骤s31的另一种实施例,在此不再赘述。
[0080]
继续参考图2a,步骤s32:基于电压波动表征参数,确定每个逻辑单元的目标电压数据。
[0081]
例如,根据标准单元202的电压波动表征参数可以确定标准单元202的目标电压数据。类似地,时序路径中除标准单元202之外的逻辑单元也可以根据电压波动表征参数确定逻辑单元的目标电压数据,在此不再一一赘述。
[0082]
在下文中,至少参考图4示出了本公开至少一实施例提供的步骤s32的实施例,在此不再赘述。
[0083]
在实际的静态时序分析中,例如在建立时间(setup time)的分析中,相邻周期的电压变化造成的时钟抖动往往对建立时间的影响比较大。因此,在图2a所描述的实施例中,通过对多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理而获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,从而根据电压波动表征参数来确定每个逻辑单元的目标电压数据,能够使得目标电压数据体现相邻仿真周期之间的相关性,并且使得静态时序分析的结果更加符合实际情况。
[0084]
图3示出了本公开至少一实施例提供的图2a中步骤s31的方法流程图。
[0085]
如图3所示,步骤s31可以包括步骤s301~s303。
[0086]
步骤s301:针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在n个仿真周期中的每个仿真周期中的第一电压值。
[0087]
在本公开的一些实施例中,多个仿真周期为n个仿真周期,n为大于0的整数。
[0088]
例如,对于图1b所示的时序路径,至少一个逻辑单元例如可以包括标准单元202、标准单元203和标准单元206。针对标准单元202、标准单元203和标准单元206中的每一个逻辑单元,确定在n个仿真周期中的每个仿真周期中的第一电压值。例如,确定标准单元202在n个仿真周期中每个仿真周期中第一电压值,确定标准单元203在n个仿真周期中每个仿真周期中第一电压值等。
[0089]
在本公开的一些实施例中,例如,第一电压值可以是每个仿真周期中电源电压仿真子数据的最大值,或者每个仿真周期中电源电压仿真子数据的最小值。
[0090]
在本公开的一些实施例中,每相邻的两个仿真周期包括第一仿真周期和第二仿真周期。对于步骤s301包括将第一仿真周期中电源电压仿真子数据中的最大值作为第一仿真周期的第一电压值,以及将第二仿真周期中电源电压仿真子数据中的最小值作为第二仿真周期的第一电压值。
[0091]
例如,每相邻的两个仿真周期中,一个仿真周期中的电源电压仿真子数据中的最大值作为第一电压值,另一个仿真周期中的电源电压仿真子数据中的最小值作为第一电压值。
[0092]
例如,在图2b示出的标准单元202的电源电压仿真子数据中仿真周期311和仿真周期312为两个相邻的仿真周期,仿真周期312和仿真周期313为两个相邻的仿真周期,仿真周期313和仿真周期314为两个相邻的仿真周期。如图2b所示,仿真周期311中电源电压仿真子数据的最大值为0.99v,最小值为0.90v。仿真周期312中电源电压仿真子数据的最大值为0.98v,最小值为0.86v。仿真周期313中电源电压仿真子数据的最大值为0.91v,最小值为0.80v。仿真周期314中电源电压仿真子数据的最大值为0.98,最小值为0.85v。例如,仿真周期311中的电源电压仿真子数据中最大值作为第一电压值,即,仿真周期311中第一电压值v
202
(311)为0.99v。仿真周期312中的电源电压仿真子数据中最小值作为第一电压值,即,仿真周期312中第一电压值v
202
(312)为0.86v。仿真周期313中的电源电压仿真子数据中最大值作为第一电压值,即,仿真周期313中第一电压值v
202
(313)为0.91v。仿真周期314中的电源电压仿真子数据中最小值作为第一电压值,即,仿真周期314中第一电压值v
202
(314)为0.85v。或者,仿真周期311中的电源电压仿真子数据中最小值作为第一电压值,仿真周期
312中的电源电压仿真子数据中最大值作为第一电压值,仿真周期313中的电源电压仿真子数据中最小值作为第一电压值,仿真周期314中的电源电压仿真子数据中最大值作为第一电压值。
[0093]
步骤s302:对每个逻辑单元在n个仿真周期的每相邻的两个仿真周期中的第一电压值求取差值而获得n

1个差值,并且对n

1个差值分别取绝对值而获得n

1个电压差绝对值。
[0094]
例如,在上述步骤s301以标准单元202为例所描述的情景中,将标准单元202每相邻的两个仿真周期中的第一电压值求取差值而获得n

1个差值。即,计算v
202
(311)

v
202
(312)、v
202
(312)

v
202
(313)以及v
202
(313)

v
202
(314)。然后,在对v
202
(311)

v
202
(312)、v
202
(312)

v
202
(313)以及v
202
(313)

v
202
(314)分别取绝对值而得到3个电压差绝对值。即,在以图2b标准单元202为例所描述的情景中,3个电压差绝对值为分别为|v
202
(311)

v
202
(312)|、|v
202
(312)

v
202
(313)|以及|v
202
(313)

v
202
(314)|。
[0095]
对时序路径中除逻辑单元202外的逻辑单元的电源电压仿真子数据执行与对逻辑单元202的电源电压仿真子数据相同的处理操作,在此不再赘述。
[0096]
步骤s303:对n

1个电压差绝对值进行计算而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
[0097]
在本公开的一些实施例中,例如计算n

1个电压差绝对值的平均值和/或标准差而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的所述电压波动表征参数。
[0098]
例如,将n

1个电压差绝对值的平均值μ作为逻辑单元的电压波动表征参数,或者将n

1个电压差绝对值的标准差σ作为逻辑单元的电压波动表征参数,或者将n

1个电压差绝对值的平均值μ和标准差σ作为逻辑单元的电压波动表征参数。
[0099]
本领域技术人员也可以通过其他的计算方法来得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。例如,可以对n

1个电压差绝对值进行排序而得到中位数,并且将中位数作为电压波动表征参数。
[0100]
图4示出了本公开至少一实施例提供的图2a中步骤s32的方法流程图。
[0101]
如图4所示,步骤s32包括步骤s321和步骤s322。
[0102]
步骤s321:基于每个逻辑单元的电源电压仿真子数据,确定每个逻辑单元在多个仿真周期中的平均电压值。
[0103]
在本公开的一些实施例中,每个逻辑单元在多个仿真周期中的平均电压值可以是计算该逻辑单元在多个仿真周期中所有电源电压仿真子数据的平均值。
[0104]
在本公开的另一些实施例中,针对每个逻辑单元,例如可以首先计算该逻辑单元在每一个仿真周期中的电源电压仿真子数据的平均值,然后计算多个仿真周期对应的电源电压仿真子数据的平均值的平均值而得到该逻辑单元在多个仿真周期中的平均电压值。
[0105]
步骤s322:基于平均电压值和电压波动表征参数,确定每个逻辑单元的目标电压数据。
[0106]
在本公开的一些实施例中,电压波动表征参数包括n

1个电压差绝对值的平均值和标准差。步骤s322可以包括:基于n

1个电压差绝对值的平均值和标准差,确定置信区间,以及基于平均电压值和置信区间确定每个逻辑单元的目标电压数据。
[0107]
在本公开的实施例中,例如,置信区间可以是[μ

σ,μ σ]、[μ
‑2×
σ,μ 2
×
σ]或者[μ
‑3×
σ,μ 3
×
σ]等,本领域技术人员可以根据对置信水平的需求来设定置信区间。例如,若需要置信水平为99.7%,则可以将置信区间设置为[μ
‑3×
σ,μ 3
×
σ]。
[0108]
图5示出了本公开至少一实施例提供的基于平均电压值和置信区间确定每个逻辑单元的目标电压数据的方法流程图。
[0109]
如图5所示,该方法可以包括步骤s510~步骤s530。
[0110]
步骤s510:确定置信区间中两个端点值中较大的端点值作为波动值。
[0111]
例如,置信区间为[μ
‑3×
σ,μ 3
×
σ],μ为电压差绝对值的平均值,σ为标准差,则确定波动值为μ 3
×
σ。
[0112]
步骤s520:将平均电压值与1/2倍的波动值之间的差值作为每个逻辑单元在发送时钟路径上的目标电压数据。
[0113]
在本公开的一些实施例中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径。
[0114]
如图1b所示,时钟路径包括发送时钟路径:时钟源201

标准单元202

标准单元203。将标准单元202的平均电压值与1/2倍的波动值之间的差值作为标准单元202在发送时钟路径(时钟源201

标准单元202

标准单元203)上的目标电压数据。例如,将的计算结果作为标准单元202在发送时钟路径上的目标电压数据。
[0115]
步骤s530:将平均电压值与1/2倍的波动值之和作为每个逻辑单元在接收时钟路径上的目标电压数据。
[0116]
如图1b所示,时钟路径包括接收时钟路径:时钟源201

标准单元202

标准单元206。将标准单元202的平均电压值与1/2倍的波动值之和作为标准单元202在接收时钟路径(时钟源201

标准单元202

标准单元206)上的目标电压数据。例如,将的计算结果作为标准单元202在接收时钟路径上的目标电压数据。
[0117]
在本公开的一些实施例中,一些逻辑单元只位于发送时钟路径上(例如图1b中的标准单元203)或者接收时钟路径上(例如图1b中的标准单元206),那么针对只位于发送时钟路径上的逻辑单元,则根据步骤s520计算得到目标电压数据,针对只位于接收时钟路径上的逻辑单元,则根据步骤s530计算得到目标电压数据。也即,根据步骤s520计算得到发送时钟路径上的逻辑单元的目标电压数据,根据步骤s530计算得到接收时钟路径上的逻辑单元。
[0118]
在本公开的一些实施例中,逻辑单元上的电压越大则时钟延迟越小,电压越小时钟延迟较大,因此发送时钟路径中的逻辑单元的目标电压数据取较小的数值,接收时钟路径中的逻辑单元的目标电压数据取较大值,可以使得静态时序分析比较严格,从而该方法可以在至少部分地避免用于静态时序分析的电源电压数据过于悲观的同时,使得静态时序分析的结果更加全面可靠。
[0119]
图6示出了本公开至少一实施例提供的图2a中步骤s31的另一种方法流程图。
[0120]
如图6所示,步骤s31可以包括步骤s304~s306。
[0121]
步骤s304:针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在多个仿
真周期中每相邻的两个仿真周期之间的电压差的最大值。
[0122]
例如,步骤s304可以是找出哪两个相邻周期的电压差最大。在图1b所示的情景中,确定仿真周期311和仿真周期312之间的电压差的第一初始值(例如为0.99

0.86=0.13),确定仿真周期312和仿真周期313之间的电压差的第二初始值(例如为0.98

0.80=0.18),确定仿真周期313和仿真周期314之间的电压差的第三初始值(例如为0.98

0.80=0.18),然后将第一初始值、第二初始值和第三初始值进行比较而确定电压差的最大值(例如为0.18)。
[0123]
步骤s305:确定最大值对应的两个仿真周期中的最小电压值和最大电压值。
[0124]
例如,若仿真周期312和仿真周期313之间的电压差的第一初始值为最大值,则可以确定仿真周期312和仿真周期313中的最大电压值为0.98和最小电压值为0.80。
[0125]
步骤s306:将最小电压值和最大电压值作为电压波动表征参数。
[0126]
例如,将最小电压值0.80和最大电压值0.98作为电压波动表征参数。
[0127]
在本公开的一些实施例中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,在图6所示的实施例中,步骤s32基于电压波动表征参数,确定每个逻辑单元的目标电压数据,包括:将最小电压值作为每个逻辑单元在发送时钟路径上的目标电压数据,以及将最大电压值作为每个逻辑单元在接收时钟路径上的目标电压数据。
[0128]
例如,将最小电压值作为逻辑单元在发送时钟路径上的目标电压数据,并且将最大电压值作为逻辑单元在接收时钟路径上的目标电压数据。换言之,发送时钟路径上的每个逻辑单元的目标电压数据取值为上述最小电压值,接收时钟路径上的每个逻辑单元的目标电压数据取值为上述最大电压值。
[0129]
例如,在图1b和图2b所示的情景中,对于标准单元202,将最大电压值0.98作为标准单元202在接收时钟路径(即,201

202

206)上的目标电压数据。将最小电压值0.80作为标准单元202在发送时钟路径(即,201

202

203)上的目标电压数据。
[0130]
在本公开的一些实施例中,逻辑单元的电压越大,时钟的延迟越小,因此可以将较小的电压值作为逻辑单元在发送时钟路径上的目标电压数据,将较大的电压值作为逻辑单元在接收时钟路径上的目标电压数据,这样可以使得静态时序分析(例如建立时间的检测)较为的严格。
[0131]
本公开的另一些实施例提供了一种集成电路的静态时序分析方法。集成电路包括多个逻辑单元,方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,其中,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;确定集成电路中的至少一个时序路径,其中,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。该方法使用静态时序分析工具根据每个逻辑单元的电源电压数据直接对每个时序路径进行分析,从而使得静态时序分析
的分析结果更加准确,并且降低了分析结果的悲观性。
[0132]
图7a示出了本公开至少一实施例提供的集成电路的静态时序分析方法的流程图。
[0133]
如图7a所示,静态时序方法可以包括步骤s710~s740。
[0134]
步骤s710:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据。
[0135]
电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。
[0136]
该步骤s710与上文图1a中的步骤s10类似,在此不再赘述。
[0137]
步骤s720:确定集成电路中的至少一个时序路径,其中,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元。
[0138]
该步骤s720与上文图1a中的步骤s20类似,在此不再赘述。
[0139]
步骤s730:对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据。
[0140]
在本公开的一些实施例中,时序路径包括时钟路径和数据路径,每个时序路径中的至少一个逻辑单元包括位于时钟路径中的至少一个时钟路径逻辑单元和位于数据路径中的至少一个数据路径逻辑单元。
[0141]
图7b示出了本公开至少一实施例提供的图7a中步骤s730的方法示意图。
[0142]
如图7b所示,步骤s730可以包括步骤s731和步骤s732。
[0143]
步骤s731:对每个时序路径中的所述至少一个时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个时钟路径逻辑单元各自的目标电压数据。
[0144]
在本公开的一些实施例中,例如可以按照上文参考图1a中的步骤s20描述的方法对每个时序路径中的时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理。
[0145]
例如,针对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元,对每个时钟路径逻辑单元在所述多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个时钟路径逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及基于电压波动表征参数,确定每个时钟路径逻辑单元的目标电压数据。
[0146]
例如,按照上文参考图3~图6描述的方法对时钟路径逻辑单元的电源电压仿真子数据进行处理来获得时钟路径逻辑单元的电压波动表征参数,并且基于电压波动表征参数,确定每个时钟路径逻辑单元的目标电压数据。
[0147]
对于步骤s731请参考上文在集成电路的静态时序分析中确定电源电压数据的方法的多个实施例中的实施方式,在此不再赘述。
[0148]
步骤s732:对每个时序路径中的至少一个数据路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个数据路径逻辑单元各自的目标电压数据。
[0149]
在本公开的一些实施例中,例如,针对每个时序路径中的每个数据路径逻辑单元,确定每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的最小值,将最小值作为每个数据路径逻辑单元的目标电压数据。
[0150]
在本公开的另一些实施例中,例如,针对每个时序路径中的每个数据路径逻辑单元,计算每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的平均值,将平均值作为每个数据路径逻辑单元的目标电压数据。
[0151]
步骤s740:将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
[0152]
静态时序分析工具可以是本领域技术人员可以获得到的任何用于静态时序分析的工具,例如tempus、primetime等。
[0153]
例如,将每个逻辑单元的电源电压数据输入或者反标到静态时序分析工具中,静态时序分析工具根据电源电压数据计算出每个时序路径的建立时间的不确定性,从而得到静态时序分析的分析结果。
[0154]
图8示出了本公开至少一实施例提供的另一种静态时序分析方法的流程图。
[0155]
如图8所示,该方法可以包括步骤s401~s411。
[0156]
步骤s401:获取仿真网表。
[0157]
在本公开的一些实施例中,仿真网表记录了该集成电路在某一个逻辑层次(例如,门级电路)下的各个逻辑单元之间的连接关系。
[0158]
步骤s402:获取vcd文件。
[0159]
例如,vcd文件记录了eda仿真工具对集成电路进行仿真而产生的信号信息。
[0160]
步骤s403:利用eda仿真工具进行电源动态电压降仿真而获得仿真结果。
[0161]
例如,eda仿真工具利用仿真网表和vcd文件对集成电路进行电源动态电压降仿真而获得仿真结果。
[0162]
例如,仿真结果可以包括在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。
[0163]
步骤s404:从仿真结果中,确定数据路径中每个逻辑单元的电源电压仿真子数据。
[0164]
步骤s405:从仿真结果中,确定时钟路径中每个逻辑单元的电源电压仿真子数据。
[0165]
步骤s401~步骤s405例如类似于执行上文参考图1a描述的步骤s10。
[0166]
步骤s406:计算时钟路径每个逻辑单元各自的平均电压值。
[0167]
例如,在步骤s406可以执行上文参考图4描述的步骤s321,即,基于每个逻辑单元的电源电压仿真子数据,确定每个逻辑单元在多个仿真周期中的平均电压值。
[0168]
步骤s407:计算时钟路径每个逻辑单元各自的相邻周期的电压差绝对值。
[0169]
例如,在步骤s407可以执行上文参考图3描述的步骤s301和步骤s302,在此不再赘述。
[0170]
步骤s408:确定位于发送时钟路径上的每个逻辑单元的目标电压数据。
[0171]
步骤s409:确定位于接收时钟路径上的每个逻辑单元的目标电压数据。
[0172]
例如,在步骤s408和步骤s409可以类似于执行上文参考图4描述的步骤s322,在此不再赘述。
[0173]
步骤s410:确定位于数据路径上的每个逻辑单元的目标电压数据。
[0174]
例如,在步骤s410可以执行上文参考图4描述的步骤s732,在此不再赘述。
[0175]
步骤s411:静态时序分析工具利用目标电压数据进行静态时序分析。
[0176]
例如,在步骤s410可以执行上文参考图7a描述的步骤s740,在此不再赘述。
[0177]
图9a示出了本公开至少一个实施例提供的一种在集成电路的静态时序分析中确
定电源电压数据的装置900的示意框图。
[0178]
例如,如图9a所示,该装置900包括第一获取模块910、第一确定模块920、第一处理模块930和第二确定模块940。
[0179]
第一获取模块910配置为获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,其中,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。第一获取模块910例如可以执行图1a描述的步骤s10。
[0180]
在本公开的一些实施例中,获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,包括:获取集成电路对应的仿真网表和仿真激励文件,仿真激励文件包括电路的信号信息;以及基于仿真网表和仿真激励文件对集成电路进行电源电压波动仿真以获得电源电压仿真数据。
[0181]
第一确定模块920配置为确定集成电路中的至少一个时序路径,其中,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元。第一确定模块920例如可以执行图1a描述的步骤s20。
[0182]
第一处理模块930配置为对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据。第一处理模块930例如可以执行图1a描述的步骤s30。
[0183]
在本公开的一些实施例中,第一处理模块包括:第一处理子模块,配置为针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及第一确定子模块,配置为基于电压波动表征参数,确定每个逻辑单元的目标电压数据。
[0184]
在本公开的一些实施例中,时序路径包括时钟路径,第一处理子模块包括:时钟逻辑确定子模块,配置为确定每个时序路径中位于时钟路径上的至少一个时钟路径逻辑单元;以及数据处理子模块,配置为对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理。
[0185]
在本公开的一些实施例中,多个仿真周期为n个仿真周期,其中,n为大于0的整数,第一处理子模块包括:第一电压确定子模块,配置为针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在n个仿真周期中的每个仿真周期中的第一电压值;差值计算子模块,配置为对每个逻辑单元在n个仿真周期的每相邻的两个仿真周期中的第一电压值求取差值而获得n

1个差值,并且对n

1个差值分别取绝对值而获得n

1个电压差绝对值;以及绝对值计算子模块,配置为对n

1个电压差绝对值进行计算而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
[0186]
在本公开的一些实施例中,每相邻的两个仿真周期包括第一仿真周期和第二仿真周期,第一电压确定子模块包括:第一周期电压确定子模块,配置为将第一仿真周期中电源电压仿真子数据中的最大值作为第一仿真周期的第一电压值;以及第二周期电压确定子模块,配置为将第二仿真周期中电源电压仿真子数据中的最小值作为第二仿真周期的第一电压值。
[0187]
在本公开的一些实施例中,绝对值计算子模块包括:参数计算子模块,配置为计算n

1个电压差绝对值的平均值和/或标准差而得到每个逻辑单元的电源电压仿真子数据在
相邻周期中的电压波动表征参数。
[0188]
在本公开的一些实施例中,第一确定子模块包括:平均电压确定子模块,配置为基于每个逻辑单元的电源电压仿真子数据,确定每个逻辑单元在多个仿真周期中的平均电压值;以及第一目标电压确定子模块,配置为基于平均电压值和电压波动表征参数,确定每个逻辑单元的目标电压数据。
[0189]
在本公开的一些实施例中,电压波动表征参数包括n

1个电压差绝对值的平均值和标准差,第一确定子模块包括:区间确定子模块,配置为基于n

1个电压差绝对值的平均值和标准差,确定置信区间;以及第二目标电压确定子模块,配置为基于平均电压值和置信区间确定每个逻辑单元的目标电压数据。
[0190]
在本公开的一些实施例中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,第二目标电压确定子模块包括:第一波动值确定子模块,配置为确定置信区间中两个端点值中较大的端点值作为波动值;第一发送路径电压确定子模块,配置为将平均电压值与1/2倍的波动值之间的差值作为每个逻辑单元在发送时钟路径上的目标电压数据;以及第一接收路径电压确定子模块,配置为将平均电压值与1/2倍的波动值之和作为每个逻辑单元在接收时钟路径上的目标电压数据。
[0191]
在本公开的一些实施例中,置信区间为[μ
‑3×
σ,μ 3
×
σ],其中,μ为电压差绝对值的平均值,σ为标准差。
[0192]
在本公开的一些实施例中,第一处理子模块包括:电压差确定子模块,配置为针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期之间的电压差的最大值;电压值确定子模块,配置为确定最大值对应的两个仿真周期中的最小电压值和最大电压值;以及参数确定子模块,配置为将最小电压值和最大电压值作为电压波动表征参数。
[0193]
在本公开的一些实施例中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,第一确定子模块包括:第二发送路径电压确定子模块,配置为将最小电压值作为每个逻辑单元在发送时钟路径上的目标电压数据;以及第二接收路径电压确定子模块,配置为将最大电压值作为每个逻辑单元在接收时钟路径上的目标电压数据。
[0194]
第二确定模块940配置为将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。第二确定模块940例如可以执行图1a描述的步骤s40。
[0195]
图9b示出了本公开至少一个实施例提供的一种集成电路的静态时序分析装置1000的示意框图。
[0196]
例如,如图9b所示,该静态时序分析装置1000包括第二获取模块1010、第三确定模块1020、第二处理模块1030和第四确定模块1040。
[0197]
第二获取模块1010配置为获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,其中,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿
真周期中的电源电压仿真子数据。第二获取模块1010例如执行上文参考图7a描述的步骤s710或者上文参考图1a描述的步骤s10。
[0198]
第三确定模块1020配置为确定集成电路中的至少一个时序路径,其中,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元。第三确定模块1020例如执行上文参考图7a描述的步骤s720者上文参考图1a描述的步骤s20。
[0199]
第二处理模块1030配置为对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据。第二处理模块1030例如执行上文参考图7a描述的步骤s730者上文参考图1a描述的步骤s30。
[0200]
第四确定模块1040配置为将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。第四确定模块1040例如执行上文参考图7a描述的步骤s740者上文参考图1a描述的步骤s40。
[0201]
在本公开的一些实施例中,时序路径包括时钟路径和数据路径,每个时序路径中的至少一个逻辑单元包括位于时钟路径中的至少一个时钟路径逻辑单元和位于数据路径中的至少一个数据路径逻辑单元,第二处理模块包括:时钟路径处理子模块,配置为对每个时序路径中的至少一个时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个时钟路径逻辑单元各自的目标电压数据;以及数据路径处理子模块,配置为对每个时序路径中的至少一个数据路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个数据路径逻辑单元各自的目标电压数据。
[0202]
在本公开的一些实施例中,时钟路径处理子模块包括:第二处理子模块,配置为针对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元,对每个时钟路径逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个时钟路径逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及第二确定子模块,配置为基于电压波动表征参数,确定每个时钟路径逻辑单元的目标电压数据。
[0203]
在本公开的一些实施例中,数据路径处理子模块包括:第三确定子模块,配置为针对每个时序路径中的每个数据路径逻辑单元,确定每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的最小值,将最小值作为每个数据路径逻辑单元的目标电压数据;或者第四确定子模块,配置为针对每个时序路径中的每个数据路径逻辑单元,计算每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的平均值,将平均值作为每个数据路径逻辑单元的目标电压数据。
[0204]
例如,第一获取模块910、第一确定模块920、第一处理模块930、第二确定模块940、第二获取模块1010、第三确定模块1020、第二处理模块1030和第四确定模块1040可以为硬件、软件、固件以及它们的任意可行的组合。例如,第一获取模块910、第一确定模块920、第一处理模块930、第二确定模块940、第二获取模块1010、第三确定模块1020、第二处理模块1030和第四确定模块1040可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于上述各个单元的具体实现形式,本公开的实施例对此不作限制。
[0205]
需要说明的是,本公开的实施例中,在集成电路的静态时序分析中确定电源电压数据的装置900的各个单元与前述的在集成电路的静态时序分析中确定电源电压数据的方法的各个步骤对应,关于装置900的具体功能可以参考关于确定电源电压数据方法的相关
描述,此处不再赘述。图9a所示的装置900的组件和结构只是示例性的,而非限制性的,根据需要,该装置900还可以包括其他组件和结构。本公开的实施例中,静态分析装置1000的各个单元与前述的静态时序分析方法的各个步骤对应,关于静态分析装置1000的具体功能可以参考关于确定电源电压数据方法的相关描述,此处不再赘述。图9b所示的静态分析装置1000的组件和结构只是示例性的,而非限制性的,根据需要,该静态分析装置1000还可以包括其他组件和结构。
[0206]
本公开的至少一个实施例还提供了一种电子设备,该电子设备包括处理器和存储器,存储器包括一个或多个计算机程序模块。一个或多个计算机程序模块被存储在存储器中并被配置为由处理器执行,一个或多个计算机程序模块包括用于实现上述的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法的指令。该电子设备可以降低用于静态时序分析的电源电压数据的悲观量,从而使得静态时序分析的结果更加准确。
[0207]
图10为本公开一些实施例提供的一种电子设备的示意框图。如图10所示,该电子设备1100包括处理器1110和存储器1120。存储器1120用于存储非暂时性计算机可读指令(例如一个或多个计算机程序模块)。处理器1110用于运行非暂时性计算机可读指令,非暂时性计算机可读指令被处理器1110运行时可以执行上文所述的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法中的一个或多个步骤。存储器1120和处理器1110可以通过总线系统和/或其它形式的连接机构(未示出)互连。
[0208]
例如,处理器1110可以是中央处理单元(cpu)、图形处理单元(gpu)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元。例如,中央处理单元(cpu)可以为x86或arm架构等。处理器1110可以为通用处理器或专用处理器,可以控制电子设备1100中的其它组件以执行期望的功能。
[0209]
例如,存储器1120可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd

rom)、usb存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器1110可以运行一个或多个计算机程序模块,以实现电子设备1100的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
[0210]
需要说明的是,本公开的实施例中,电子设备1100的具体功能和技术效果可以参考上文中关于在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法的描述,此处不再赘述。
[0211]
图11为本公开一些实施例提供的另一种电子设备的示意框图。该电子设备1200例如适于用来实施本公开实施例提供的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法。电子设备1200可以是终端设备等。需要注意的是,图11示出的电子设备1200仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
[0212]
如图11所示,电子设备1200可以包括处理装置(例如中央处理器、图形处理器等)1210,其可以根据存储在只读存储器(rom)1220中的程序或者从存储装置1280加载到随机
访问存储器(ram)1230中的程序而执行各种适当的动作和处理。在ram1230中,还存储有电子设备1200操作所需的各种程序和数据。处理装置1210、rom 1220以及ram 1230通过总线1240彼此相连。输入/输出(i/o)接口1250也连接至总线1240。
[0213]
通常,以下装置可以连接至i/o接口1250:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1260;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1270;包括例如磁带、硬盘等的存储装置1280;以及通信装置1290。通信装置1290可以允许电子设备1200与其他电子设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备1200,但应理解的是,并不要求实施或具备所有示出的装置,电子设备1200可以替代地实施或具备更多或更少的装置。
[0214]
例如,根据本公开的实施例,上述在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1290从网络上被下载和安装,或者从存储装置1280安装,或者从rom 1220安装。在该计算机程序被处理装置1210执行时,可以实现本公开实施例提供的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法中限定的功能。
[0215]
本公开的至少一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时可以实现上述的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法。利用该计算机可读存储介质,可以降低用于静态时序分析的电源电压数据的悲观量,从而使得静态时序分析的结果更加准确。
[0216]
图12为本公开一些实施例提供的一种存储介质的示意图。如图12所示,存储介质1300用于存储非暂时性计算机可读指令1310。例如,当非暂时性计算机可读指令1310由计算机执行时可以执行根据上文所述的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法中的一个或多个步骤。
[0217]
例如,该存储介质1300可以应用于上述电子设备1100中。例如,存储介质1100可以为图10所示的电子设备1100中的存储器1120。例如,关于存储介质1100的相关说明可以参考图10所示的电子设备1100中的存储器1120的相应描述,此处不再赘述。
[0218]
有以下几点需要说明:
[0219]
(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。
[0220]
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
[0221]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献