CN113627107A - 确定电源电压数据的方法、装置、电子设备和介质 - Google Patents

确定电源电压数据的方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN113627107A
CN113627107A CN202110917357.6A CN202110917357A CN113627107A CN 113627107 A CN113627107 A CN 113627107A CN 202110917357 A CN202110917357 A CN 202110917357A CN 113627107 A CN113627107 A CN 113627107A
Authority
CN
China
Prior art keywords
simulation
data
logic unit
supply voltage
path
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
Application number
CN202110917357.6A
Other languages
English (en)
Inventor
刘小康
梁洪昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202110917357.6A priority Critical patent/CN113627107A/zh
Publication of CN113627107A publication Critical patent/CN113627107A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种在集成电路的静态时序分析中确定电源电压数据的方法、静态时序分析方法、装置、电子设备和介质。该方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据;确定集成电路中的至少一个时序路径;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。该方法可以降低用于静态时序分析的电源电压数据的悲观性,从而使得静态时序分析的结果更加准确。

Description

确定电源电压数据的方法、装置、电子设备和介质
技术领域
本公开的实施例涉及一种在集成电路的静态时序分析中确定电源电压数据的方法、集成电路的静态时序分析方法、在集成电路的静态时序分析中确定电源电压数据的装置、集成电路的静态时序分析装置、电子设备和计算机可读存储介质。
背景技术
随着集成电路设计规模越来越大,工艺越来越先进,频率越来越高,对高准确度的时序签核(signoff)的标准要求越来越高。对于高性能CPU、GPU来说,由于芯片面积很大,整个电源网络复杂且庞大,电压降对时序的影响显得尤为重要。
发明内容
本公开至少一个实施例提供一种在集成电路的静态时序分析中确定电源电压数据的方法,集成电路包括多个逻辑单元,方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
例如,在本公开一实施例提供的确定电源电压数据的方法中,对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据,包括:针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及基于电压波动表征参数,确定每个逻辑单元的目标电压数据。
例如,在本公开一实施例提供的确定电源电压数据的方法中,时序路径包括时钟路径,针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,包括:确定每个时序路径中位于时钟路径上的至少一个时钟路径逻辑单元;以及对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理。
例如,在本公开一实施例提供的确定电源电压数据的方法中,多个仿真周期为N个仿真周期,N为大于0的整数,针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,包括:针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在N个仿真周期中的每个仿真周期中的第一电压值;对每个逻辑单元在N个仿真周期的每相邻的两个仿真周期中的第一电压值求取差值而获得N-1个差值,并且对N-1个差值分别取绝对值而获得N-1个电压差绝对值;以及对N-1个电压差绝对值进行计算而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
例如,在本公开一实施例提供的确定电源电压数据的方法中,每相邻的两个仿真周期包括第一仿真周期和第二仿真周期,确定每个逻辑单元在N个仿真周期中的每个仿真周期中的第一电压值,包括:将第一仿真周期中电源电压仿真子数据中的最大值作为第一仿真周期的第一电压值;以及将第二仿真周期中电源电压仿真子数据中的最小值作为第二仿真周期的第一电压值。
例如,在本公开一实施例提供的确定电源电压数据的方法中,对N-1个电压差绝对值进行计算而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,包括:计算N-1个电压差绝对值的平均值和/或标准差而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
例如,在本公开一实施例提供的确定电源电压数据的方法中,基于电压波动表征参数,确定每个逻辑单元的目标电压数据,包括:基于每个逻辑单元的电源电压仿真子数据,确定每个逻辑单元在多个仿真周期中的平均电压值;以及基于平均电压值和电压波动表征参数,确定每个逻辑单元的目标电压数据。
例如,在本公开一实施例提供的确定电源电压数据的方法中,电压波动表征参数包括N-1个电压差绝对值的平均值和标准差,基于平均电压值和电压波动表征参数,确定每个逻辑单元的目标电压数据,包括:基于N-1个电压差绝对值的平均值和标准差,确定置信区间;以及基于平均电压值和置信区间确定每个逻辑单元的目标电压数据。
例如,在本公开一实施例提供的确定电源电压数据的方法中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,基于平均电压值和置信区间确定每个逻辑单元的目标电压数据,包括:确定置信区间中两个端点值中较大的端点值作为波动值;将平均电压值与1/2倍的波动值之间的差值作为每个逻辑单元在发送时钟路径上的目标电压数据;以及将平均电压值与1/2倍的波动值之和作为每个逻辑单元在接收时钟路径上的目标电压数据。
例如,在本公开一实施例提供的确定电源电压数据的方法中,置信区间为[μ-3×σ,μ+3×σ],μ为电压差绝对值的平均值,σ为标准差。
例如,在本公开一实施例提供的确定电源电压数据的方法中,针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,包括:针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期之间的电压差的最大值;确定最大值对应的两个仿真周期中的最小电压值和最大电压值;以及将最小电压值和最大电压值作为电压波动表征参数。
例如,在本公开一实施例提供的确定电源电压数据的方法中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,基于电压波动表征参数,确定每个逻辑单元的目标电压数据,包括:将最小电压值作为每个逻辑单元在发送时钟路径上的目标电压数据;以及将最大电压值作为每个逻辑单元在接收时钟路径上的目标电压数据。
例如,在本公开一实施例提供的确定电源电压数据的方法中,获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,包括:获取集成电路对应的仿真网表和仿真激励文件,仿真激励文件包括电路的信号信息;以及基于仿真网表和仿真激励文件对集成电路进行电源电压波动仿真以获得电源电压仿真数据。
本公开至少一个实施例提供一种集成电路的静态时序分析方法,集成电路包括多个逻辑单元,方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
例如,在本公开一实施例提供的静态时序分析方法中,时序路径包括时钟路径和数据路径,每个时序路径中的至少一个逻辑单元包括位于时钟路径中的至少一个时钟路径逻辑单元和位于数据路径中的至少一个数据路径逻辑单元,对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据包括:对每个时序路径中的至少一个时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个时钟路径逻辑单元各自的目标电压数据;以及对每个时序路径中的至少一个数据路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个数据路径逻辑单元各自的目标电压数据。
例如,在本公开一实施例提供的静态时序分析方法中,对每个时序路径中的至少一个时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个时钟路径逻辑单元各自的目标电压数据,包括:针对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元,对每个时钟路径逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个时钟路径逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及基于电压波动表征参数,确定每个时钟路径逻辑单元的目标电压数据。
例如,在本公开一实施例提供的静态时序分析方法中,对每个时序路径中的至少一个数据路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个数据路径逻辑单元各自的目标电压数据,包括:针对每个时序路径中的每个数据路径逻辑单元,确定每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的最小值,将最小值作为每个数据路径逻辑单元的目标电压数据;或者针对每个时序路径中的每个数据路径逻辑单元,计算每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的平均值,将平均值作为每个数据路径逻辑单元的目标电压数据。
本公开至少一个实施例提供一种在集成电路的静态时序分析中确定电源电压数据的装置,包括:第一获取模块,配置为获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;第一确定模块,配置为确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;第一处理模块,配置为对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及第二确定模块,配置为将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
本公开至少一个实施例提供一种集成电路的静态时序分析装置,集成电路包括多个逻辑单元,装置包括:第二获取模块,配置为获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;第三确定模块,配置为确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;第二处理模块,配置为对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及第四确定模块,配置为将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
本公开至少一个实施例提供一种电子设备,包括处理器;存储器,包括一个或多个计算机程序模块;一个或多个计算机程序模块被存储在存储器中并被配置为由处理器执行,一个或多个计算机程序模块包括用于实现本公开任一实施例提供的在集成电路的静态时序分析中确定电源电压数据的方法或者集成电路的静态时序分析方法的指令。
本公开至少一个实施例提供一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时可以实现本公开任一实施例提供的在集成电路的静态时序分析中确定电源电压数据的方法或者集成电路的静态时序分析方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1A示出了本公开至少一实施例提供的一种在集成电路的静态时序分析中确定电源电压数据的方法的流程图;
图1B示出了本公开至少一实施例提供的一种时序路径的示意图;
图2A示出了本公开至少一实施例提供的图1A中步骤S30的方法流程图;
图2B示出了本公开至少一实施例提供的图1B中标准单元202的电源电压仿真子数据的示意图;
图3示出了本公开至少一实施例提供的图2A中步骤S31的方法流程图;
图4示出了本公开至少一实施例提供的图2A中步骤S32的方法流程图;
图5示出了本公开至少一实施例提供的基于平均电压值和置信区间确定每个逻辑单元的目标电压数据的方法流程图;
图6示出了本公开至少一实施例提供的图2A中步骤S31的另一种方法流程图;
图7A示出了本公开至少一实施例提供的集成电路的静态时序分析方法的流程图;
图7B示出了本公开至少一实施例提供的图7A中步骤S730的方法示意图;
图8示出了本公开至少一实施例提供的另一种静态时序分析方法的流程图;
图9A示出了本公开至少一个实施例提供的一种在集成电路的静态时序分析中确定电源电压数据的装置900的示意框图;
图9B示出了本公开至少一个实施例提供的一种集成电路的静态时序分析装置1000的示意框图;
图10示出了本公开至少一个实施例提供的一种电子设备的示意框图;
图11示出了本公开至少一个实施例提供的另一种电子设备的示意框图;以及
图12示出了本公开至少一个实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
静态时序分析(Static Timing Analysis,STA)是集成电路设计中的重要组成部分。STA的主要目的是通过分析时序路径的延迟,计算出集成电路设计的各项时序性能指标,以及时发现违反时序要求的路径。对于高性能CPU、GPU来说,由于芯片面积很大,整个电源网络复杂且庞大,电压降对时序的影响的显得尤为重要。因此,通常需要对集成电路的电压降进行仿真,然后利用仿真得到的电源电压数据进行STA,以确定集成电路的设计是否符合时序性能指标。
在相关技术中,通常利用EDA工具进行电源动态电压降仿真,然后再利用EDA工具对动态电压降仿真的仿真结果进行时钟抖动仿真而得到时钟的不确定性,然后STA工具利用时钟的不确定性进行静态时序分析。在相关技术中,同一时钟域往往包含多个时序路径,对于同一时钟域,通常将该时钟域中的所有时序路径中时钟抖动的最大值作为该时钟域时钟的不确定性反标到STA工具,这样导致静态时序分析的结果过于悲观,不够准确。
本公开至少一个实施例提供一种在集成电路的静态时序分析中确定电源电压数据的方法、集成电路的静态时序分析方法、装置、电子设备和计算机可读存储介质。该方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。该方法可以得到针对每个逻辑单元的电源电压数据,因此可以降低电源电压数据的悲观性,从而利用电源电压数据进行静态时序分析得到的结果也不会过于悲观,使得静态时序分析的结果更加准确。
图1A示出了本公开至少一实施例提供的一种在集成电路的静态时序分析中确定电源电压数据的方法的流程图。
如图1A所示,该方法可以包括步骤S10~S40。
步骤S10:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据。
步骤S20:确定集成电路中的至少一个时序路径,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元。
步骤S30:对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据。
步骤S40:将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
该方法可以根据电源电压仿真数据得到针对每个逻辑单元的电源电压数据,从而可以利用每个逻辑单元的电源电压数据进行静态时序分析,而不是例如在相关技术中对于同一时钟域中的所有时序路径都采用时钟抖动的最大值作为该时钟域时钟的不确定性来进行静态时序分析,因此该方法能够提高用于STA的电源电压数据的准确性,降低静态时序分析的悲观量,从而提高STA的准确性。
对于步骤S10,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。
在本公开的一些实施例中,步骤S10可以包括获取集成电路对应的仿真网表和仿真激励文件,仿真激励文件包括集成电路的信号信息,以及基于仿真网表和仿真激励文件对集成电路进行电源电压波动仿真以获得电源电压仿真数据。
在本公开的一些实施例中,例如,集成电路对应的仿真网表记录了该集成电路在某一个逻辑层次(例如,门级电路)下的各个逻辑单元之间的连接关系。例如,仿真激励文件可以记录了EDA仿真工具对集成电路进行仿真而产生的信号信息。在本公开的一些实施例中,仿真激励文件例如可以是Value change dump(简称“VCD”)文件。
在本公开的一些实施例中,例如,仿真网表和仿真激励文件可以被预先存储在存储介质(存储器)中。例如,直接访问该存储介质从而获取集成电路对应的仿真网表和仿真激励文件。
在本公开的一些实施例中,例如可以通过仿真器对集成电路进行电源电压波动仿真。例如,将仿真网表和仿真激励文件(例如,VCD文件)输入仿真器中,同时将集成电路对应的寄生参数文件(例如,标准寄生交换格式文件,包括电源网络数据)也输入仿真器中,从而利用仿真器对集成电路进行电源电压波动仿真而获得电源电压仿真数据。
仿真器对集成电路进行电源电压波动仿真可以得到每个逻辑单元在每个仿真周期中的电源电压仿真值。这里,将一个逻辑单元在每个仿真周期中的电源电压仿真值称为该逻辑单元对应的电源电压仿真子数据,并且集成电路中的多个逻辑单元对应的电源电压仿真子数据的集合即为该集成电路的电源电压仿真数据。
在本公开的一些实施例中,仿真器例如可以是任何可以对集成电路进行电源电压波动仿真的工具,本公开对仿真器不作限定。例如,仿真器可以是redhawk工具或者cadance公司的voltus电压降仿真工具等。
对于步骤S20,例如,利用静态时序分析工具(例如,Tempus或者Primetime)来获取集成电路的至少一个时序路径。例如,利用静态时序分析工具读入网表文件,寄生参数文件以及时序约束文件,然后根据网表文件,寄生参数文件以及时序约束文件确定集成电路的时序路径。
图1B示出了本公开至少一实施例提供的一种时序路径的示意图。
如图1B所示,在该时序路径中可以包括时钟源201和多个逻辑单元。多个逻辑单元例如可以包括标准单元202、标准单元203、第一触发器204、组合逻辑单元205、标准单元206和第二触发器207。
例如,第一触发器204可以是用于发送数据的触发器,第二触发器207可以是用于接收数据的触发器。
在本公开的一些实施例中,时序路径包括时钟路径和数据路径,时钟路径用于传输时钟信号,数据路径用于传输数据信号。时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为用于发送数据的触发器的时钟路径,接收时钟路径为用于接收数据的触发器的时钟路径。
例如,在图1B所示的情景中,发送时钟路径可以是时钟源201-标准单元202-标准单元203,接收时钟路径可以是时钟源201-标准单元202-标准单元206。数据路径可以包括第一触发器204-组合逻辑单元205-第二触发器207。
对于步骤S30,例如,在图1B所示的情景中,对标准单元202的电源电压仿真子数据进行处理而获得标准单元202的目标电压数据,对标准单元203的电源电压仿真子数据进行处理而获得标准单元203的目标电压数据。类似地,对时序路径中除标准单元202和标准单元203外的逻辑单元各自对应的电源电压仿真子数据进行处理,在此不再赘述。
对于步骤S40,例如将至少一个逻辑单元各自的目标电压数据作为各自的电源电压数据,并且将每个逻辑单元的电源电压数据配置到静态时序分析工具中,使得静态时序分析工具利用每个逻辑单元电源电压数据对每个时序路径进行静态时序分析。
图2A示出了本公开至少一实施例提供的图1A中步骤S30的方法流程图。
如图2A所示,步骤S30可以包括步骤S31和步骤S32。
步骤S31:针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
在本公开的一些实施例中,时序路径包括时钟路径,步骤S31可以包括:确定每个时序路径中位于时钟路径上的至少一个时钟路径逻辑单元,以及对至少一个时钟路径逻辑单元中的每个时钟逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理。
在本公开的另一些实施例中,时序路径还可以包括数据路径,步骤S31除上述对每个时钟逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理外,还可以包括确定每个时序路径中位于数据路径上的至少一个数据路径逻辑单元,以及对至少一个数据路径逻辑单元中的每个数据逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理。
由于时钟路径对于静态时序分析比较重要,而数据路径对于静态时序分析的重要程度较低,因此步骤S31可以只对每个时钟逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理,以节省资源和提高效率。
在本公开的一些实施例中,例如可以利用EDA工具获取时钟路径上的至少一个时钟路径逻辑单元。例如在图1B所示的时序路径中,至少一个时钟路径逻辑单元可以包括标准单元202、标准单元203、标准单元206。
图2B示出了本公开至少一实施例提供的图1B中标准单元202的电源电压仿真子数据的示意图。下面结合图2B示例性说明对逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据处理的实施例。
如图2B所示,在该示意图中包括时钟信号301和波形图302。例如,波形图302可以是标准单元202的电源电压仿真子数据随时钟的变化形成的。也即,波形图302反映了标准单元202的电源电压仿真子数据随时钟的波动情况。
例如,该情景中至少包括第一时钟周期311~第四时钟周期314。当然,在实际中时钟周期不一定是4个时钟周期,例如可以是少于4个时钟周期,也可以是多于4个时钟周期,本公开仅仅是以4个时钟周期为例来说明本公开的实施方式,但对本公开不具有限定意义。
例如,在步骤S31中,分别对第一时钟周期311和第二时钟周期312的电源电压仿真子数据处理,对第二时钟周期312和第三时钟周期313的电源电压仿真子数据处理,对第三时钟周期313和第四时钟周期314的电源电压仿真子数据处理,从而获得标准单元202的电源电压仿真子数据在相邻周期中的电压波动表征参数。
下文参考图3示出了本公开至少一实施例提供的步骤S31的实施例,以及下文参考图6示出了本公开至少一实施例提供的步骤S31的另一种实施例,在此不再赘述。
继续参考图2A,步骤S32:基于电压波动表征参数,确定每个逻辑单元的目标电压数据。
例如,根据标准单元202的电压波动表征参数可以确定标准单元202的目标电压数据。类似地,时序路径中除标准单元202之外的逻辑单元也可以根据电压波动表征参数确定逻辑单元的目标电压数据,在此不再一一赘述。
在下文中,至少参考图4示出了本公开至少一实施例提供的步骤S32的实施例,在此不再赘述。
在实际的静态时序分析中,例如在建立时间(setup time)的分析中,相邻周期的电压变化造成的时钟抖动往往对建立时间的影响比较大。因此,在图2A所描述的实施例中,通过对多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理而获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,从而根据电压波动表征参数来确定每个逻辑单元的目标电压数据,能够使得目标电压数据体现相邻仿真周期之间的相关性,并且使得静态时序分析的结果更加符合实际情况。
图3示出了本公开至少一实施例提供的图2A中步骤S31的方法流程图。
如图3所示,步骤S31可以包括步骤S301~S303。
步骤S301:针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在N个仿真周期中的每个仿真周期中的第一电压值。
在本公开的一些实施例中,多个仿真周期为N个仿真周期,N为大于0的整数。
例如,对于图1B所示的时序路径,至少一个逻辑单元例如可以包括标准单元202、标准单元203和标准单元206。针对标准单元202、标准单元203和标准单元206中的每一个逻辑单元,确定在N个仿真周期中的每个仿真周期中的第一电压值。例如,确定标准单元202在N个仿真周期中每个仿真周期中第一电压值,确定标准单元203在N个仿真周期中每个仿真周期中第一电压值等。
在本公开的一些实施例中,例如,第一电压值可以是每个仿真周期中电源电压仿真子数据的最大值,或者每个仿真周期中电源电压仿真子数据的最小值。
在本公开的一些实施例中,每相邻的两个仿真周期包括第一仿真周期和第二仿真周期。对于步骤S301包括将第一仿真周期中电源电压仿真子数据中的最大值作为第一仿真周期的第一电压值,以及将第二仿真周期中电源电压仿真子数据中的最小值作为第二仿真周期的第一电压值。
例如,每相邻的两个仿真周期中,一个仿真周期中的电源电压仿真子数据中的最大值作为第一电压值,另一个仿真周期中的电源电压仿真子数据中的最小值作为第一电压值。
例如,在图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中第一电压值V202(311)为0.99V。仿真周期312中的电源电压仿真子数据中最小值作为第一电压值,即,仿真周期312中第一电压值V202(312)为0.86V。仿真周期313中的电源电压仿真子数据中最大值作为第一电压值,即,仿真周期313中第一电压值V202(313)为0.91V。仿真周期314中的电源电压仿真子数据中最小值作为第一电压值,即,仿真周期314中第一电压值V202(314)为0.85V。或者,仿真周期311中的电源电压仿真子数据中最小值作为第一电压值,仿真周期312中的电源电压仿真子数据中最大值作为第一电压值,仿真周期313中的电源电压仿真子数据中最小值作为第一电压值,仿真周期314中的电源电压仿真子数据中最大值作为第一电压值。
步骤S302:对每个逻辑单元在N个仿真周期的每相邻的两个仿真周期中的第一电压值求取差值而获得N-1个差值,并且对N-1个差值分别取绝对值而获得N-1个电压差绝对值。
例如,在上述步骤S301以标准单元202为例所描述的情景中,将标准单元202每相邻的两个仿真周期中的第一电压值求取差值而获得N-1个差值。即,计算V202(311)-V202(312)、V202(312)-V202(313)以及V202(313)-V202(314)。然后,在对V202(311)-V202(312)、V202(312)-V202(313)以及V202(313)-V202(314)分别取绝对值而得到3个电压差绝对值。即,在以图2B标准单元202为例所描述的情景中,3个电压差绝对值为分别为|V202(311)-V202(312)|、|V202(312)-V202(313)|以及|V202(313)-V202(314)|。
对时序路径中除逻辑单元202外的逻辑单元的电源电压仿真子数据执行与对逻辑单元202的电源电压仿真子数据相同的处理操作,在此不再赘述。
步骤S303:对N-1个电压差绝对值进行计算而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
在本公开的一些实施例中,例如计算N-1个电压差绝对值的平均值和/或标准差而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的所述电压波动表征参数。
例如,将N-1个电压差绝对值的平均值μ作为逻辑单元的电压波动表征参数,或者将N-1个电压差绝对值的标准差σ作为逻辑单元的电压波动表征参数,或者将N-1个电压差绝对值的平均值μ和标准差σ作为逻辑单元的电压波动表征参数。
本领域技术人员也可以通过其他的计算方法来得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。例如,可以对N-1个电压差绝对值进行排序而得到中位数,并且将中位数作为电压波动表征参数。
图4示出了本公开至少一实施例提供的图2A中步骤S32的方法流程图。
如图4所示,步骤S32包括步骤S321和步骤S322。
步骤S321:基于每个逻辑单元的电源电压仿真子数据,确定每个逻辑单元在多个仿真周期中的平均电压值。
在本公开的一些实施例中,每个逻辑单元在多个仿真周期中的平均电压值
Figure BDA0003206118220000151
可以是计算该逻辑单元在多个仿真周期中所有电源电压仿真子数据的平均值。
在本公开的另一些实施例中,针对每个逻辑单元,例如可以首先计算该逻辑单元在每一个仿真周期中的电源电压仿真子数据的平均值,然后计算多个仿真周期对应的电源电压仿真子数据的平均值的平均值而得到该逻辑单元在多个仿真周期中的平均电压值
Figure BDA0003206118220000152
步骤S322:基于平均电压值和电压波动表征参数,确定每个逻辑单元的目标电压数据。
在本公开的一些实施例中,电压波动表征参数包括N-1个电压差绝对值的平均值和标准差。步骤S322可以包括:基于N-1个电压差绝对值的平均值和标准差,确定置信区间,以及基于平均电压值和置信区间确定每个逻辑单元的目标电压数据。
在本公开的实施例中,例如,置信区间可以是[μ-σ,μ+σ]、[μ-2×σ,μ+2×σ]或者[μ-3×σ,μ+3×σ]等,本领域技术人员可以根据对置信水平的需求来设定置信区间。例如,若需要置信水平为99.7%,则可以将置信区间设置为[μ-3×σ,μ+3×σ]。
图5示出了本公开至少一实施例提供的基于平均电压值和置信区间确定每个逻辑单元的目标电压数据的方法流程图。
如图5所示,该方法可以包括步骤S510~步骤S530。
步骤S510:确定置信区间中两个端点值中较大的端点值作为波动值。
例如,置信区间为[μ-3×σ,μ+3×σ],μ为电压差绝对值的平均值,σ为标准差,则确定波动值为μ+3×σ。
步骤S520:将平均电压值与1/2倍的波动值之间的差值作为每个逻辑单元在发送时钟路径上的目标电压数据。
在本公开的一些实施例中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径。
如图1B所示,时钟路径包括发送时钟路径:时钟源201-标准单元202-标准单元203。将标准单元202的平均电压值与1/2倍的波动值之间的差值作为标准单元202在发送时钟路径(时钟源201-标准单元202-标准单元203)上的目标电压数据。例如,将
Figure BDA0003206118220000161
的计算结果作为标准单元202在发送时钟路径上的目标电压数据。
步骤S530:将平均电压值与1/2倍的波动值之和作为每个逻辑单元在接收时钟路径上的目标电压数据。
如图1B所示,时钟路径包括接收时钟路径:时钟源201-标准单元202-标准单元206。将标准单元202的平均电压值与1/2倍的波动值之和作为标准单元202在接收时钟路径(时钟源201-标准单元202-标准单元206)上的目标电压数据。例如,将
Figure BDA0003206118220000162
的计算结果作为标准单元202在接收时钟路径上的目标电压数据。
在本公开的一些实施例中,一些逻辑单元只位于发送时钟路径上(例如图1B中的标准单元203)或者接收时钟路径上(例如图1B中的标准单元206),那么针对只位于发送时钟路径上的逻辑单元,则根据步骤S520计算得到目标电压数据,针对只位于接收时钟路径上的逻辑单元,则根据步骤S530计算得到目标电压数据。也即,根据步骤S520计算得到发送时钟路径上的逻辑单元的目标电压数据,根据步骤S530计算得到接收时钟路径上的逻辑单元。
在本公开的一些实施例中,逻辑单元上的电压越大则时钟延迟越小,电压越小时钟延迟较大,因此发送时钟路径中的逻辑单元的目标电压数据取较小的数值,接收时钟路径中的逻辑单元的目标电压数据取较大值,可以使得静态时序分析比较严格,从而该方法可以在至少部分地避免用于静态时序分析的电源电压数据过于悲观的同时,使得静态时序分析的结果更加全面可靠。
图6示出了本公开至少一实施例提供的图2A中步骤S31的另一种方法流程图。
如图6所示,步骤S31可以包括步骤S304~S306。
步骤S304:针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期之间的电压差的最大值。
例如,步骤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)。
步骤S305:确定最大值对应的两个仿真周期中的最小电压值和最大电压值。
例如,若仿真周期312和仿真周期313之间的电压差的第一初始值为最大值,则可以确定仿真周期312和仿真周期313中的最大电压值为0.98和最小电压值为0.80。
步骤S306:将最小电压值和最大电压值作为电压波动表征参数。
例如,将最小电压值0.80和最大电压值0.98作为电压波动表征参数。
在本公开的一些实施例中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,在图6所示的实施例中,步骤S32基于电压波动表征参数,确定每个逻辑单元的目标电压数据,包括:将最小电压值作为每个逻辑单元在发送时钟路径上的目标电压数据,以及将最大电压值作为每个逻辑单元在接收时钟路径上的目标电压数据。
例如,将最小电压值作为逻辑单元在发送时钟路径上的目标电压数据,并且将最大电压值作为逻辑单元在接收时钟路径上的目标电压数据。换言之,发送时钟路径上的每个逻辑单元的目标电压数据取值为上述最小电压值,接收时钟路径上的每个逻辑单元的目标电压数据取值为上述最大电压值。
例如,在图1B和图2B所示的情景中,对于标准单元202,将最大电压值0.98作为标准单元202在接收时钟路径(即,201-202-206)上的目标电压数据。将最小电压值0.80作为标准单元202在发送时钟路径(即,201-202-203)上的目标电压数据。
在本公开的一些实施例中,逻辑单元的电压越大,时钟的延迟越小,因此可以将较小的电压值作为逻辑单元在发送时钟路径上的目标电压数据,将较大的电压值作为逻辑单元在接收时钟路径上的目标电压数据,这样可以使得静态时序分析(例如建立时间的检测)较为的严格。
本公开的另一些实施例提供了一种集成电路的静态时序分析方法。集成电路包括多个逻辑单元,方法包括:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,其中,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据;确定集成电路中的至少一个时序路径,其中,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元;对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据;以及将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。该方法使用静态时序分析工具根据每个逻辑单元的电源电压数据直接对每个时序路径进行分析,从而使得静态时序分析的分析结果更加准确,并且降低了分析结果的悲观性。
图7A示出了本公开至少一实施例提供的集成电路的静态时序分析方法的流程图。
如图7A所示,静态时序方法可以包括步骤S710~S740。
步骤S710:获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据。
电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。
该步骤S710与上文图1A中的步骤S10类似,在此不再赘述。
步骤S720:确定集成电路中的至少一个时序路径,其中,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元。
该步骤S720与上文图1A中的步骤S20类似,在此不再赘述。
步骤S730:对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据。
在本公开的一些实施例中,时序路径包括时钟路径和数据路径,每个时序路径中的至少一个逻辑单元包括位于时钟路径中的至少一个时钟路径逻辑单元和位于数据路径中的至少一个数据路径逻辑单元。
图7B示出了本公开至少一实施例提供的图7A中步骤S730的方法示意图。
如图7B所示,步骤S730可以包括步骤S731和步骤S732。
步骤S731:对每个时序路径中的所述至少一个时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个时钟路径逻辑单元各自的目标电压数据。
在本公开的一些实施例中,例如可以按照上文参考图1A中的步骤S20描述的方法对每个时序路径中的时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理。
例如,针对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元,对每个时钟路径逻辑单元在所述多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个时钟路径逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及基于电压波动表征参数,确定每个时钟路径逻辑单元的目标电压数据。
例如,按照上文参考图3~图6描述的方法对时钟路径逻辑单元的电源电压仿真子数据进行处理来获得时钟路径逻辑单元的电压波动表征参数,并且基于电压波动表征参数,确定每个时钟路径逻辑单元的目标电压数据。
对于步骤S731请参考上文在集成电路的静态时序分析中确定电源电压数据的方法的多个实施例中的实施方式,在此不再赘述。
步骤S732:对每个时序路径中的至少一个数据路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个数据路径逻辑单元各自的目标电压数据。
在本公开的一些实施例中,例如,针对每个时序路径中的每个数据路径逻辑单元,确定每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的最小值,将最小值作为每个数据路径逻辑单元的目标电压数据。
在本公开的另一些实施例中,例如,针对每个时序路径中的每个数据路径逻辑单元,计算每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的平均值,将平均值作为每个数据路径逻辑单元的目标电压数据。
步骤S740:将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。
静态时序分析工具可以是本领域技术人员可以获得到的任何用于静态时序分析的工具,例如Tempus、Primetime等。
例如,将每个逻辑单元的电源电压数据输入或者反标到静态时序分析工具中,静态时序分析工具根据电源电压数据计算出每个时序路径的建立时间的不确定性,从而得到静态时序分析的分析结果。
图8示出了本公开至少一实施例提供的另一种静态时序分析方法的流程图。
如图8所示,该方法可以包括步骤S401~S411。
步骤S401:获取仿真网表。
在本公开的一些实施例中,仿真网表记录了该集成电路在某一个逻辑层次(例如,门级电路)下的各个逻辑单元之间的连接关系。
步骤S402:获取VCD文件。
例如,VCD文件记录了EDA仿真工具对集成电路进行仿真而产生的信号信息。
步骤S403:利用EDA仿真工具进行电源动态电压降仿真而获得仿真结果。
例如,EDA仿真工具利用仿真网表和VCD文件对集成电路进行电源动态电压降仿真而获得仿真结果。
例如,仿真结果可以包括在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。
步骤S404:从仿真结果中,确定数据路径中每个逻辑单元的电源电压仿真子数据。
步骤S405:从仿真结果中,确定时钟路径中每个逻辑单元的电源电压仿真子数据。
步骤S401~步骤S405例如类似于执行上文参考图1A描述的步骤S10。
步骤S406:计算时钟路径每个逻辑单元各自的平均电压值。
例如,在步骤S406可以执行上文参考图4描述的步骤S321,即,基于每个逻辑单元的电源电压仿真子数据,确定每个逻辑单元在多个仿真周期中的平均电压值。
步骤S407:计算时钟路径每个逻辑单元各自的相邻周期的电压差绝对值。
例如,在步骤S407可以执行上文参考图3描述的步骤S301和步骤S302,在此不再赘述。
步骤S408:确定位于发送时钟路径上的每个逻辑单元的目标电压数据。
步骤S409:确定位于接收时钟路径上的每个逻辑单元的目标电压数据。
例如,在步骤S408和步骤S409可以类似于执行上文参考图4描述的步骤S322,在此不再赘述。
步骤S410:确定位于数据路径上的每个逻辑单元的目标电压数据。
例如,在步骤S410可以执行上文参考图4描述的步骤S732,在此不再赘述。
步骤S411:静态时序分析工具利用目标电压数据进行静态时序分析。
例如,在步骤S410可以执行上文参考图7A描述的步骤S740,在此不再赘述。
图9A示出了本公开至少一个实施例提供的一种在集成电路的静态时序分析中确定电源电压数据的装置900的示意框图。
例如,如图9A所示,该装置900包括第一获取模块910、第一确定模块920、第一处理模块930和第二确定模块940。
第一获取模块910配置为获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,其中,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。第一获取模块910例如可以执行图1A描述的步骤S10。
在本公开的一些实施例中,获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,包括:获取集成电路对应的仿真网表和仿真激励文件,仿真激励文件包括电路的信号信息;以及基于仿真网表和仿真激励文件对集成电路进行电源电压波动仿真以获得电源电压仿真数据。
第一确定模块920配置为确定集成电路中的至少一个时序路径,其中,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元。第一确定模块920例如可以执行图1A描述的步骤S20。
第一处理模块930配置为对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据。第一处理模块930例如可以执行图1A描述的步骤S30。
在本公开的一些实施例中,第一处理模块包括:第一处理子模块,配置为针对每个时序路径,对至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及第一确定子模块,配置为基于电压波动表征参数,确定每个逻辑单元的目标电压数据。
在本公开的一些实施例中,时序路径包括时钟路径,第一处理子模块包括:时钟逻辑确定子模块,配置为确定每个时序路径中位于时钟路径上的至少一个时钟路径逻辑单元;以及数据处理子模块,配置为对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理。
在本公开的一些实施例中,多个仿真周期为N个仿真周期,其中,N为大于0的整数,第一处理子模块包括:第一电压确定子模块,配置为针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在N个仿真周期中的每个仿真周期中的第一电压值;差值计算子模块,配置为对每个逻辑单元在N个仿真周期的每相邻的两个仿真周期中的第一电压值求取差值而获得N-1个差值,并且对N-1个差值分别取绝对值而获得N-1个电压差绝对值;以及绝对值计算子模块,配置为对N-1个电压差绝对值进行计算而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
在本公开的一些实施例中,每相邻的两个仿真周期包括第一仿真周期和第二仿真周期,第一电压确定子模块包括:第一周期电压确定子模块,配置为将第一仿真周期中电源电压仿真子数据中的最大值作为第一仿真周期的第一电压值;以及第二周期电压确定子模块,配置为将第二仿真周期中电源电压仿真子数据中的最小值作为第二仿真周期的第一电压值。
在本公开的一些实施例中,绝对值计算子模块包括:参数计算子模块,配置为计算N-1个电压差绝对值的平均值和/或标准差而得到每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数。
在本公开的一些实施例中,第一确定子模块包括:平均电压确定子模块,配置为基于每个逻辑单元的电源电压仿真子数据,确定每个逻辑单元在多个仿真周期中的平均电压值;以及第一目标电压确定子模块,配置为基于平均电压值和电压波动表征参数,确定每个逻辑单元的目标电压数据。
在本公开的一些实施例中,电压波动表征参数包括N-1个电压差绝对值的平均值和标准差,第一确定子模块包括:区间确定子模块,配置为基于N-1个电压差绝对值的平均值和标准差,确定置信区间;以及第二目标电压确定子模块,配置为基于平均电压值和置信区间确定每个逻辑单元的目标电压数据。
在本公开的一些实施例中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,第二目标电压确定子模块包括:第一波动值确定子模块,配置为确定置信区间中两个端点值中较大的端点值作为波动值;第一发送路径电压确定子模块,配置为将平均电压值与1/2倍的波动值之间的差值作为每个逻辑单元在发送时钟路径上的目标电压数据;以及第一接收路径电压确定子模块,配置为将平均电压值与1/2倍的波动值之和作为每个逻辑单元在接收时钟路径上的目标电压数据。
在本公开的一些实施例中,置信区间为[μ-3×σ,μ+3×σ],其中,μ为电压差绝对值的平均值,σ为标准差。
在本公开的一些实施例中,第一处理子模块包括:电压差确定子模块,配置为针对每个时序路径,确定至少一个逻辑单元中每个逻辑单元在多个仿真周期中每相邻的两个仿真周期之间的电压差的最大值;电压值确定子模块,配置为确定最大值对应的两个仿真周期中的最小电压值和最大电压值;以及参数确定子模块,配置为将最小电压值和最大电压值作为电压波动表征参数。
在本公开的一些实施例中,时序路径包括时钟路径,时钟路径包括发送时钟路径和接收时钟路径,发送时钟路径为发出数据信号的器件的时钟路径,接收时钟路径为接收数据信号的器件的时钟路径,第一确定子模块包括:第二发送路径电压确定子模块,配置为将最小电压值作为每个逻辑单元在发送时钟路径上的目标电压数据;以及第二接收路径电压确定子模块,配置为将最大电压值作为每个逻辑单元在接收时钟路径上的目标电压数据。
第二确定模块940配置为将至少一个逻辑单元各自的目标电压数据作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。第二确定模块940例如可以执行图1A描述的步骤S40。
图9B示出了本公开至少一个实施例提供的一种集成电路的静态时序分析装置1000的示意框图。
例如,如图9B所示,该静态时序分析装置1000包括第二获取模块1010、第三确定模块1020、第二处理模块1030和第四确定模块1040。
第二获取模块1010配置为获取在多个仿真周期中对集成电路进行仿真而得到的电源电压仿真数据,其中,电源电压仿真数据包括多个逻辑单元中每个逻辑单元在多个仿真周期中的电源电压仿真子数据。第二获取模块1010例如执行上文参考图7A描述的步骤S710或者上文参考图1A描述的步骤S10。
第三确定模块1020配置为确定集成电路中的至少一个时序路径,其中,至少一个时序路径中的每个时序路径包括多个逻辑单元中的至少一个逻辑单元。第三确定模块1020例如执行上文参考图7A描述的步骤S720者上文参考图1A描述的步骤S20。
第二处理模块1030配置为对每个时序路径中的至少一个逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个逻辑单元各自的目标电压数据。第二处理模块1030例如执行上文参考图7A描述的步骤S730者上文参考图1A描述的步骤S30。
第四确定模块1040配置为将至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用至少一个逻辑单元各自的电源电压数据对每个时序路径进行静态时序分析。第四确定模块1040例如执行上文参考图7A描述的步骤S740者上文参考图1A描述的步骤S40。
在本公开的一些实施例中,时序路径包括时钟路径和数据路径,每个时序路径中的至少一个逻辑单元包括位于时钟路径中的至少一个时钟路径逻辑单元和位于数据路径中的至少一个数据路径逻辑单元,第二处理模块包括:时钟路径处理子模块,配置为对每个时序路径中的至少一个时钟路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个时钟路径逻辑单元各自的目标电压数据;以及数据路径处理子模块,配置为对每个时序路径中的至少一个数据路径逻辑单元各自对应的电源电压仿真子数据进行处理,以获得至少一个数据路径逻辑单元各自的目标电压数据。
在本公开的一些实施例中,时钟路径处理子模块包括:第二处理子模块,配置为针对至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元,对每个时钟路径逻辑单元在多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得每个时钟路径逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及第二确定子模块,配置为基于电压波动表征参数,确定每个时钟路径逻辑单元的目标电压数据。
在本公开的一些实施例中,数据路径处理子模块包括:第三确定子模块,配置为针对每个时序路径中的每个数据路径逻辑单元,确定每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的最小值,将最小值作为每个数据路径逻辑单元的目标电压数据;或者第四确定子模块,配置为针对每个时序路径中的每个数据路径逻辑单元,计算每个数据路径逻辑单元在多个仿真周期内中的电源电压仿真子数据的平均值,将平均值作为每个数据路径逻辑单元的目标电压数据。
例如,第一获取模块910、第一确定模块920、第一处理模块930、第二确定模块940、第二获取模块1010、第三确定模块1020、第二处理模块1030和第四确定模块1040可以为硬件、软件、固件以及它们的任意可行的组合。例如,第一获取模块910、第一确定模块920、第一处理模块930、第二确定模块940、第二获取模块1010、第三确定模块1020、第二处理模块1030和第四确定模块1040可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于上述各个单元的具体实现形式,本公开的实施例对此不作限制。
需要说明的是,本公开的实施例中,在集成电路的静态时序分析中确定电源电压数据的装置900的各个单元与前述的在集成电路的静态时序分析中确定电源电压数据的方法的各个步骤对应,关于装置900的具体功能可以参考关于确定电源电压数据方法的相关描述,此处不再赘述。图9A所示的装置900的组件和结构只是示例性的,而非限制性的,根据需要,该装置900还可以包括其他组件和结构。本公开的实施例中,静态分析装置1000的各个单元与前述的静态时序分析方法的各个步骤对应,关于静态分析装置1000的具体功能可以参考关于确定电源电压数据方法的相关描述,此处不再赘述。图9B所示的静态分析装置1000的组件和结构只是示例性的,而非限制性的,根据需要,该静态分析装置1000还可以包括其他组件和结构。
本公开的至少一个实施例还提供了一种电子设备,该电子设备包括处理器和存储器,存储器包括一个或多个计算机程序模块。一个或多个计算机程序模块被存储在存储器中并被配置为由处理器执行,一个或多个计算机程序模块包括用于实现上述的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法的指令。该电子设备可以降低用于静态时序分析的电源电压数据的悲观量,从而使得静态时序分析的结果更加准确。
图10为本公开一些实施例提供的一种电子设备的示意框图。如图10所示,该电子设备1100包括处理器1110和存储器1120。存储器1120用于存储非暂时性计算机可读指令(例如一个或多个计算机程序模块)。处理器1110用于运行非暂时性计算机可读指令,非暂时性计算机可读指令被处理器1110运行时可以执行上文所述的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法中的一个或多个步骤。存储器1120和处理器1110可以通过总线系统和/或其它形式的连接机构(未示出)互连。
例如,处理器1110可以是中央处理单元(CPU)、图形处理单元(GPU)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元。例如,中央处理单元(CPU)可以为X86或ARM架构等。处理器1110可以为通用处理器或专用处理器,可以控制电子设备1100中的其它组件以执行期望的功能。
例如,存储器1120可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器1110可以运行一个或多个计算机程序模块,以实现电子设备1100的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
需要说明的是,本公开的实施例中,电子设备1100的具体功能和技术效果可以参考上文中关于在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法的描述,此处不再赘述。
图11为本公开一些实施例提供的另一种电子设备的示意框图。该电子设备1200例如适于用来实施本公开实施例提供的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法。电子设备1200可以是终端设备等。需要注意的是,图11示出的电子设备1200仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1200可以包括处理装置(例如中央处理器、图形处理器等)1210,其可以根据存储在只读存储器(ROM)1220中的程序或者从存储装置1280加载到随机访问存储器(RAM)1230中的程序而执行各种适当的动作和处理。在RAM1230中,还存储有电子设备1200操作所需的各种程序和数据。处理装置1210、ROM 1220以及RAM 1230通过总线1240彼此相连。输入/输出(I/O)接口1250也连接至总线1240。
通常,以下装置可以连接至I/O接口1250:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1260;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1270;包括例如磁带、硬盘等的存储装置1280;以及通信装置1290。通信装置1290可以允许电子设备1200与其他电子设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备1200,但应理解的是,并不要求实施或具备所有示出的装置,电子设备1200可以替代地实施或具备更多或更少的装置。
例如,根据本公开的实施例,上述在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1290从网络上被下载和安装,或者从存储装置1280安装,或者从ROM 1220安装。在该计算机程序被处理装置1210执行时,可以实现本公开实施例提供的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法中限定的功能。
本公开的至少一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时可以实现上述的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法。利用该计算机可读存储介质,可以降低用于静态时序分析的电源电压数据的悲观量,从而使得静态时序分析的结果更加准确。
图12为本公开一些实施例提供的一种存储介质的示意图。如图12所示,存储介质1300用于存储非暂时性计算机可读指令1310。例如,当非暂时性计算机可读指令1310由计算机执行时可以执行根据上文所述的在集成电路的静态时序分析中确定电源电压数据的方法或者静态时序分析方法中的一个或多个步骤。
例如,该存储介质1300可以应用于上述电子设备1100中。例如,存储介质1100可以为图10所示的电子设备1100中的存储器1120。例如,关于存储介质1100的相关说明可以参考图10所示的电子设备1100中的存储器1120的相应描述,此处不再赘述。
有以下几点需要说明:
(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (21)

1.一种在集成电路的静态时序分析中确定电源电压数据的方法,所述集成电路包括多个逻辑单元,所述方法包括:
获取在多个仿真周期中对所述集成电路进行仿真而得到的电源电压仿真数据,其中,所述电源电压仿真数据包括所述多个逻辑单元中每个逻辑单元在所述多个仿真周期中的电源电压仿真子数据;
确定所述集成电路中的至少一个时序路径,其中,所述至少一个时序路径中的每个时序路径包括所述多个逻辑单元中的至少一个逻辑单元;
对所述每个时序路径中的至少一个逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个逻辑单元各自的目标电压数据;以及
将所述至少一个逻辑单元各自的目标电压数据作为所述至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用所述至少一个逻辑单元各自的电源电压数据对所述每个时序路径进行静态时序分析。
2.根据权利要求1所述的方法,其中,对所述每个时序路径中的至少一个逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个逻辑单元各自的目标电压数据,包括:
针对所述每个时序路径,对所述至少一个逻辑单元中每个逻辑单元在所述多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得所述每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及
基于所述电压波动表征参数,确定所述每个逻辑单元的目标电压数据。
3.根据权利要求2所述的方法,其中,所述时序路径包括时钟路径,针对所述每个时序路径,对所述至少一个逻辑单元中每个逻辑单元在所述多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,包括:
确定所述每个时序路径中位于所述时钟路径上的至少一个时钟路径逻辑单元;以及
对所述至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元在所述多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理。
4.根据权利要求2所述的方法,其中,所述多个仿真周期为N个仿真周期,其中,N为大于0的整数,
针对所述每个时序路径,对所述至少一个逻辑单元中每个逻辑单元在所述多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得所述每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,包括:
针对所述每个时序路径,确定所述至少一个逻辑单元中每个逻辑单元在所述N个仿真周期中的每个仿真周期中的第一电压值;
对所述每个逻辑单元在所述N个仿真周期的每相邻的两个仿真周期中的第一电压值求取差值而获得N-1个差值,并且对所述N-1个差值分别取绝对值而获得N-1个电压差绝对值;以及
对所述N-1个电压差绝对值进行计算而得到所述每个逻辑单元的电源电压仿真子数据在相邻周期中的所述电压波动表征参数。
5.根据权利要求4所述的方法,其中,每相邻的两个仿真周期包括第一仿真周期和第二仿真周期,
确定所述每个逻辑单元在所述N个仿真周期中的每个仿真周期中的第一电压值,包括:
将所述第一仿真周期中电源电压仿真子数据中的最大值作为所述第一仿真周期的第一电压值;以及
将所述第二仿真周期中电源电压仿真子数据中的最小值作为所述第二仿真周期的第一电压值。
6.根据权利要求4所述的方法,其中,对所述N-1个电压差绝对值进行计算而得到所述每个逻辑单元的电源电压仿真子数据在相邻周期中的所述电压波动表征参数,包括:
计算所述N-1个电压差绝对值的平均值和/或标准差而得到所述每个逻辑单元的电源电压仿真子数据在相邻周期中的所述电压波动表征参数。
7.根据权利要求4所述的方法,其中,基于所述电压波动表征参数,确定所述每个逻辑单元的目标电压数据,包括:
基于所述每个逻辑单元的电源电压仿真子数据,确定所述每个逻辑单元在所述多个仿真周期中的平均电压值;以及
基于所述平均电压值和所述电压波动表征参数,确定所述每个逻辑单元的所述目标电压数据。
8.根据权利要求7所述的方法,其中,电压波动表征参数包括所述N-1个电压差绝对值的平均值和标准差,
基于所述平均电压值和所述电压波动表征参数,确定所述每个逻辑单元的所述目标电压数据,包括:
基于所述N-1个电压差绝对值的平均值和所述标准差,确定置信区间;以及
基于所述平均电压值和所述置信区间确定所述每个逻辑单元的目标电压数据。
9.根据权利要求8所述的方法,其中,所述时序路径包括时钟路径,所述时钟路径包括发送时钟路径和接收时钟路径,所述发送时钟路径为发出数据信号的器件的时钟路径,所述接收时钟路径为接收所述数据信号的器件的时钟路径,
基于所述平均电压值和所述置信区间确定所述每个逻辑单元的目标电压数据,包括:
确定所述置信区间中两个端点值中较大的端点值作为波动值;
将所述平均电压值与所述1/2倍的波动值之间的差值作为所述每个逻辑单元在所述发送时钟路径上的目标电压数据;以及
将所述平均电压值与所述1/2倍的波动值之和作为所述每个逻辑单元在所述接收时钟路径上的目标电压数据。
10.根据权利要求9所述的方法,其中,所述置信区间为[μ-3×σ,μ+3×σ],
其中,μ为所述电压差绝对值的平均值,σ为所述标准差。
11.根据权利要求2所述的方法,其中,针对所述每个时序路径,对所述至少一个逻辑单元中每个逻辑单元在所述多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得所述每个逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数,包括:
针对所述每个时序路径,确定所述至少一个逻辑单元中每个逻辑单元在所述多个仿真周期中每相邻的两个仿真周期之间的电压差的最大值;
确定所述最大值对应的两个仿真周期中的最小电压值和最大电压值;以及
将所述最小电压值和最大电压值作为所述电压波动表征参数。
12.根据权利要求11所述的方法,其中,所述时序路径包括时钟路径,所述时钟路径包括发送时钟路径和接收时钟路径,所述发送时钟路径为发出数据信号的器件的时钟路径,所述接收时钟路径为接收所述数据信号的器件的时钟路径,
基于所述电压波动表征参数,确定所述每个逻辑单元的目标电压数据,包括:
将所述最小电压值作为所述每个逻辑单元在所述发送时钟路径上的目标电压数据;以及
将所述最大电压值作为所述每个逻辑单元在所述接收时钟路径上的目标电压数据。
13.根据权利要求1所述的方法,获取在多个仿真周期中对所述集成电路进行仿真而得到的电源电压仿真数据,包括:
获取所述集成电路对应的仿真网表和仿真激励文件,所述仿真激励文件包括所述电路的信号信息;以及
基于所述仿真网表和所述仿真激励文件对所述集成电路进行电源电压波动仿真以获得所述电源电压仿真数据。
14.一种集成电路的静态时序分析方法,其中,所述集成电路包括多个逻辑单元,所述方法包括:
获取在多个仿真周期中对所述集成电路进行仿真而得到的电源电压仿真数据,其中,所述电源电压仿真数据包括所述多个逻辑单元中每个逻辑单元在所述多个仿真周期中的电源电压仿真子数据;
确定所述集成电路中的至少一个时序路径,其中,所述至少一个时序路径中的每个时序路径包括所述多个逻辑单元中的至少一个逻辑单元;
对所述每个时序路径中的至少一个逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个逻辑单元各自的目标电压数据;以及
将所述至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为所述至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用所述至少一个逻辑单元各自的电源电压数据对所述每个时序路径进行静态时序分析。
15.根据权利要求14所述方法,其中,所述时序路径包括时钟路径和数据路径,所述每个时序路径中的至少一个逻辑单元包括位于所述时钟路径中的至少一个时钟路径逻辑单元和位于所述数据路径中的至少一个数据路径逻辑单元,
对所述每个时序路径中的至少一个逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个逻辑单元各自的目标电压数据包括:
对所述每个时序路径中的所述至少一个时钟路径逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个时钟路径逻辑单元各自的目标电压数据;以及
对所述每个时序路径中的至少一个数据路径逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个数据路径逻辑单元各自的目标电压数据。
16.根据权利要求15所述的方法,其中,对所述每个时序路径中的所述至少一个时钟路径逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个时钟路径逻辑单元各自的目标电压数据,包括:
针对所述至少一个时钟路径逻辑单元中的每个时钟路径逻辑单元,对所述每个时钟路径逻辑单元在所述多个仿真周期中每相邻的两个仿真周期中的电源电压仿真子数据进行处理,以获得所述每个时钟路径逻辑单元的电源电压仿真子数据在相邻周期中的电压波动表征参数;以及
基于所述电压波动表征参数,确定所述每个时钟路径逻辑单元的目标电压数据。
17.根据权利要求15所述的方法,对所述每个时序路径中的至少一个数据路径逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个数据路径逻辑单元各自的目标电压数据,包括:
针对所述每个时序路径中的每个数据路径逻辑单元,确定所述每个数据路径逻辑单元在所述多个仿真周期内中的电源电压仿真子数据的最小值,将所述最小值作为所述每个数据路径逻辑单元的目标电压数据;或者
针对所述每个时序路径中的每个数据路径逻辑单元,计算所述每个数据路径逻辑单元在所述多个仿真周期内中的电源电压仿真子数据的平均值,将所述平均值作为所述每个数据路径逻辑单元的目标电压数据。
18.一种在集成电路的静态时序分析中确定电源电压数据的装置,包括:
第一获取模块,配置为获取在多个仿真周期中对所述集成电路进行仿真而得到的电源电压仿真数据,其中,所述电源电压仿真数据包括所述多个逻辑单元中每个逻辑单元在所述多个仿真周期中的电源电压仿真子数据;
第一确定模块,配置为确定所述集成电路中的至少一个时序路径,其中,所述至少一个时序路径中的每个时序路径包括所述多个逻辑单元中的至少一个逻辑单元;
第一处理模块,配置为对所述每个时序路径中的至少一个逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个逻辑单元各自的目标电压数据;以及
第二确定模块,配置为将所述至少一个逻辑单元各自的目标电压数据作为所述至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用所述至少一个逻辑单元各自的电源电压数据对所述每个时序路径进行静态时序分析。
19.一种集成电路的静态时序分析装置,其中,所述集成电路包括多个逻辑单元,所述装置包括:
第二获取模块,配置为获取在多个仿真周期中对所述集成电路进行仿真而得到的电源电压仿真数据,其中,所述电源电压仿真数据包括所述多个逻辑单元中每个逻辑单元在所述多个仿真周期中的电源电压仿真子数据;
第三确定模块,配置为确定所述集成电路中的至少一个时序路径,其中,所述至少一个时序路径中的每个时序路径包括所述多个逻辑单元中的至少一个逻辑单元;
第二处理模块,配置为对所述每个时序路径中的至少一个逻辑单元各自对应的所述电源电压仿真子数据进行处理,以获得所述至少一个逻辑单元各自的目标电压数据;以及
第四确定模块,配置为将所述至少一个逻辑单元各自的目标电压数据配置到静态时序分析工具中,以作为所述至少一个逻辑单元各自的电源电压数据,使得静态时序分析工具利用所述至少一个逻辑单元各自的电源电压数据对所述每个时序路径进行静态时序分析。
20.一种电子设备,包括:
处理器;
存储器,包括一个或多个计算机程序指令;
其中,所述一个或多个计算机程序指令被存储在所述存储器中,并由所述处理器执行时实现权利要求1-17任一项所述的方法的指令。
21.一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时可以实现权利要求1-17任一项所述的方法。
CN202110917357.6A 2021-08-11 2021-08-11 确定电源电压数据的方法、装置、电子设备和介质 Pending CN113627107A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110917357.6A CN113627107A (zh) 2021-08-11 2021-08-11 确定电源电压数据的方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110917357.6A CN113627107A (zh) 2021-08-11 2021-08-11 确定电源电压数据的方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN113627107A true CN113627107A (zh) 2021-11-09

Family

ID=78384270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110917357.6A Pending CN113627107A (zh) 2021-08-11 2021-08-11 确定电源电压数据的方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN113627107A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114280351A (zh) * 2021-12-21 2022-04-05 海光信息技术股份有限公司 集成电路内部电源网络电压降获取方法及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114280351A (zh) * 2021-12-21 2022-04-05 海光信息技术股份有限公司 集成电路内部电源网络电压降获取方法及相关装置
CN114280351B (zh) * 2021-12-21 2023-11-21 海光信息技术股份有限公司 集成电路内部电源网络电压降获取方法及相关装置

Similar Documents

Publication Publication Date Title
US7784003B2 (en) Estimation of process variation impact of slack in multi-corner path-based static timing analysis
US8146061B2 (en) Systems and methods for graphics hardware design debugging and verification
US7900172B2 (en) Method and apparatus for analyzing power consumption
US9589096B1 (en) Method and apparatus for integrating spice-based timing using sign-off path-based analysis
US10789112B2 (en) Device lifespan estimation method, device design method, and computer readable storage medium
US9141736B2 (en) Method for power estimation for virtual prototyping models for semiconductors
CN107533473B (zh) 用于仿真的高效波形生成
US20160117199A1 (en) Computing system with thermal mechanism and method of operation thereof
US7712055B2 (en) Designing integrated circuits for yield
CN113568821A (zh) 一种ai芯片计算性能的测试方法、装置、设备、及介质
US10002225B2 (en) Static timing analysis with improved accuracy and efficiency
WO2013112249A1 (en) Digital circuit power measurements using numerical analysis
CN108008715B (zh) 基于fpga的系统功率评估装置与方法
CN113627107A (zh) 确定电源电压数据的方法、装置、电子设备和介质
US10664637B2 (en) Testbench restoration based on capture and replay
US8667442B1 (en) Circuit simulation methodology to calculate leakage current during any mode of circuit operation
JP2009140222A (ja) Lsiの電力見積方法及びその装置
CN117667655A (zh) 验证系统、验证方法、电子设备以及存储介质
US20140325468A1 (en) Storage medium, and generation apparatus for generating transactions for performance evaluation
JP5454349B2 (ja) 性能推定装置
CN114398214A (zh) 性能验证方法、装置、存储介质及计算机设备
US11295052B1 (en) Time correlation in hybrid emulation system
US9710581B1 (en) VIP assisted method and apparatus to enable SOC integration and software development
US11842130B1 (en) Model-based simulation result predictor for circuit design
US9710579B1 (en) Using smart timing models for gate level timing simulation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination