CN113901748B - 一种功耗评估方法、装置、存储介质及电子设备 - Google Patents
一种功耗评估方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113901748B CN113901748B CN202111502779.3A CN202111502779A CN113901748B CN 113901748 B CN113901748 B CN 113901748B CN 202111502779 A CN202111502779 A CN 202111502779A CN 113901748 B CN113901748 B CN 113901748B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- turnover
- window period
- signal
- module
- 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.)
- Active
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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
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)
- Debugging And Monitoring (AREA)
Abstract
本申请提出一种功耗评估方法、装置、存储介质及电子设备,在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,待评估模块为仿真芯片中任一需要评估模块;若发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据;历史最大翻转值为已获得的总翻转次数中的最大值;根据获得到的所述峰值波形数据进行功耗分析。当前窗口期包括N个具有连续性的时钟周期,其中的最后一个时钟周期为仿真芯片当前运行的时钟周期。通过获取各个窗口期中的总翻转次数,进行比较,从而确定待评估模块在窗口期下的最大功耗。通过将比较的周期拉长,解决了毛刺现象导致的误报问题。
Description
技术领域
本申请涉及芯片技术领域,具体而言,涉及一种功耗评估方法、装置、存储介质及电子设备。
背景技术
随着市场电子化的飞速发展和国际能源的加速紧张,目前市场对芯片的低功耗要求越来越高,特别是对于高端芯片领域,功耗越低的芯片可以使设备待机时间越长,即可以节约能源,也可以缓解耗电焦虑,提升用户的使用体验。因此对于芯片设计企业,芯片的低功耗设计越来越重要,而在设计芯片的过程中,硅前功耗评估是必不可少的。功耗分为静态功耗和动态功耗,其中静态功耗依据具体的工艺水平,其功耗值是固定的,所以在硅前功耗评估过程中主要评估的是芯片的动态功耗。
因此,如何快速、高效且准确地对动态功耗进行评估,成为了本领域技术人员亟待解决的难题。
发明内容
本申请的目的在于提供一种功耗评估方法、装置、存储介质及电子设备,以至少部分改善上述问题。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种功耗评估方法,应用于仿真平台,所述方法包括:
在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,其中,所述待评估模块为所述仿真芯片中任一需要评估模块,所述当前窗口期包括N个时钟周期,N为大于1的正整数,所述N个时钟周期具有连续性,所述当前窗口期中的最后一个时钟周期为所述仿真芯片当前运行的时钟周期;
若所述发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据;其中,所述历史最大翻转值为已获得的总翻转次数中的最大值;
根据获得到的所述峰值波形数据进行功耗分析。
相对于现有技术,本申请实施例所提供的一种功耗评估方法,在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,待评估模块为仿真芯片中任一需要评估模块;若发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据;根据获得到的峰值波形数据进行功耗分析。当前窗口期包括N个具有连续性的时钟周期,当前窗口期中的最后一个时钟周期为仿真芯片当前运行的时钟周期。通过获取各个窗口期中的总翻转次数,进行比较,从而确定待评估模块在窗口期下的最大功耗。通过将比较的周期拉长,解决了毛刺现象导致的误报问题,从而保障所获得的峰值波形数据的准确性,才能够保障获得的分析结果的准确性。并且通过将已获得的总翻转次数中的最大值更新为历史最大翻转值,然后基于更新后的历史最大翻转值对当前窗口期内发生翻转的信号的总翻转次数进行比较,从而保障新获得的翻转峰值的准确性。
可选地,所述根据获得到的所述峰值波形数据进行功耗分析,包括:将最后一次获得的所述峰值波形数据传输给功耗评估终端,以使所述功耗评估终端依据所述峰值波形数据进行评估分析,获得功耗分析结果。相对于将所有获得的峰值波形数据传输给功耗评估终端,仅需要将最后一次获得的峰值波形数据传输给功耗评估终端,一方面,可以保障功耗分析结果的准确性,另一方面,减少仿真平台与功耗评估终端之间进行数据传输,降低了通信负担。
可选地,所述获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,包括:
在当前窗口期所包含的每个时钟周期内,获取所述待评估模块内发生翻转的每一种信号各自对应的第一翻转次数,并依据物理权重信息对所述第一翻转次数进行转换,得到每一种信号各自对应的第二翻转次数,以得到每个时钟周期内发生翻转的信号的第三翻转次数;
基于每个时钟周期内发生翻转的信号的第三翻转次数,得到待评估模块在当前窗口期内发生翻转的信号的总翻转次数。
因为每一个信号翻转一次所消耗的电量不同,为了准确确定功耗峰值,需要依据物理权重信息对第一翻转次数进行转换,从而保障最终统计出的第三翻转次数能够更贴近功耗。
可选地,所述仿真平台设置有至少三个存储单元,所述至少三个存储单元包括第一存储单元、第二存储单元和第三存储单元,在当前运行的时钟周期不属于第一个窗口期的情况下,所述第一存储单元用于存储上一个窗口期内发生翻转的信号的总翻转次数;所述第二存储单元用于存储上一个窗口期中第一个时钟周期内发生翻转的信号的第三翻转次数;所述第三存储单元用于存储所述仿真芯片在当前运行的时钟周期内发生翻转的信号的第三翻转次数;所述基于每个时钟周期内发生翻转的信号的第三翻转次数,得到待评估模块在当前窗口期内发生翻转的信号的总翻转次数,包括:
根据所述第一存储单元所存储的上一个窗口期内发生翻转的信号的总翻转次数、所述第二存储单元所存储的上一个窗口期中第一个时钟周期内发生翻转的信号的第三翻转次数以及所述第三存储单元所存储的所述仿真芯片在当前运行的时钟周期内发生翻转的信号的第三翻转次数,得到当前窗口期内发生翻转的信号的总翻转次数。
通过该方式可以降低仿真平台的运算量,提升了仿真平台的运行效率。
可选地,在当前运行的时钟周期属于第一个窗口期的情况下,所述第二存储单元用于存储预设翻转次数。从而保障获取到的第一个窗口期内的总翻转次数的准确性。
第二方面,本申请实施例提供一种功耗评估方法,应用于功耗评估终端,所述方法包括:
接收仿真平台传输的峰值波形数据;
其中,所述峰值波形数据为在待评估模块在当前窗口期内发生翻转的信号的总翻转次数大于历史最大翻转值时,所述待评估模块中所有信号在所述当前窗口期内的波形数据,所述历史最大翻转值为已获得的总翻转次数中的最大值,所述待评估模块为所述仿真芯片中任一需要评估模块,所述当前窗口期包括N个时钟周期,N为大于1的正整数,所述N个时钟周期具有连续性,所述当前窗口期中的最后一个时钟周期为所述仿真芯片当前运行的时钟周期;
依据所述峰值波形数据进行评估分析,获得功耗分析结果。
第三方面,本申请实施例提供一种功耗评估装置,应用于仿真平台,所述装置包括:
第一翻转峰值监测单元,用于在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,其中,所述待评估模块为所述仿真芯片中任一需要评估模块,所述当前窗口期包括N个时钟周期,N为大于1的正整数,所述N个时钟周期具有连续性,所述当前窗口期中的最后一个时钟周期为所述仿真芯片当前运行的时钟周期;
第一监测器单元,用于若所述发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据;其中,所述历史最大翻转值为已获得的总翻转次数中的最大值;
第一信息收发单元,用于根据获得到的所述峰值波形数据进行功耗分析。
第四方面,本申请实施例提供一种功耗评估装置,应用于功耗评估终端,所述装置包括:
第二信息收发单元,用于接收仿真平台传输的峰值波形数据;
其中,所述峰值波形数据为待评估模块在当前窗口期内发生翻转的信号的总翻转次数大于历史最大翻转值时,所述待评估模块中所有信号在所述当前窗口期内的波形数据,所述历史最大翻转值为已获得的总翻转次数中的最大值,所述待评估模块为所述仿真芯片中任一需要评估模块,所述当前窗口期包括N个时钟周期,N为大于1的正整数,所述N个时钟周期具有连续性,所述当前窗口期中的最后一个时钟周期为所述仿真芯片当前运行的时钟周期;
第二处理单元,用于依据所述峰值波形数据进行评估分析,获得功耗分析结果。
第五方面,本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面或第二方面所述的功耗评估方法。
第六方面,本申请实施例提供一种电子设备,所述电子设备包括:处理器和存储器,所述存储器用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现上述第一方面或第二方面所述的功耗评估方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的功耗评估装置的单元示意图;
图2为本申请实施例提供的功耗评估方法的流程示意图;
图3为本申请实施例提供的S101的子步骤示意图;
图4为本申请实施例提供的功耗评估方法的流程示意图之一;
图5为本申请实施例提供的功耗评估装置的单元示意图之一;
图6为本申请实施例提供的电子设备的结构示意图。
图中:10-处理器;11-存储器;12-总线;13-通信接口;301-第一翻转峰值监测单元;302-第一监测器单元;303-第一信息收发单元;304-第一计数器单元;401-第二信息收发单元;402-第二处理单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
芯片的硅前功耗评估可以在软仿平台(例如,simulation平台)进行分析,也可以在硬件仿真加速器平台(例如,emulation平台)进行分析,而对于CPU等大面积芯片,软仿平台受限于仿真速率慢、难以仿真大型的完整设计等因素,不能测试完整的真实场景的激励,因此通过软仿平台得出的功耗值与实际功耗值不具有可比性。而硬件仿真加速器平台具有仿真速率相对较快、可以仿真大型的完整设计、可以进行真实场景激励的测试等优点,使得在硬件仿真加速器平台进行功耗评估的结果更为接近硅后真实值,更具有参考价值。
基于硬件仿真加速器平台,现有技术中有如下两种功耗评估方法:第一种,通过统计需要评估功耗的模块的信号翻转次数,来找出翻转最高的地方,该处即判定为功耗最高的地方,而在实际芯片中,不同的信号翻转一次,产生的功耗值是不一样的,因此翻转次数最高的地方不一定是功耗最高的地方,所以该方法并不能评估准确的功耗;第二种,在硬件仿真加速器平台的运行期间,给需要评估的模块中插入统计信号翻转的计数器,并加入相关物理信息,即带入功耗的权重信息,之后通过绘制总计数器的线性图,来观察功耗趋势和功耗峰值点等信息,同时对数据进行后处理来获取准确的峰值点和时间点,而一般进行实际场景激励测试的时候,持续时间很长,仿真器在运行期间进行计数器数值的绘制会有时延并会拖慢仿真器的运行速率,且后期数据量巨大,进行后处理耗时较长,且需要重跑后才可获取峰值段波形来供后续功耗评估,评估效率很低;且受限于仿真器的某些在线特性,无法满足任意长度波形下,最小一个周期精度的功耗值对比,评估精度不够准确。
为了克服以上问题,本申请实施例提供了一种功耗评估系统,功耗评估系统包括仿真平台和功耗评估终端,仿真平台与功耗评估终端通信连接,其中,仿真平台可以是硬件仿真加速器平台,功耗评估终端可以是运行有功耗分析工具的服务器。
为了便于更好理解本申请所描述的技术方案,下面具体描述仿真平台的组成单元。如图1所示,仿真平台布设有功耗评估装置,功耗评估装置包括:第一计数器单元304、第一翻转峰值监测单元301、第一监测器单元302以及第一信息收发单元303。
第一计数器单元304内嵌于待评估模块中,从而可以对待评估模块中的被监测的信号进行翻转计数。在一些可能的实现方式中,针对每一种需要监测翻转次数的信号可以设置有对应的第一计数器单元304,从而第一计数器单元304可以获取待评估模块内发生翻转的每一种信号各自对应的第一翻转次数。在一种可能的实现方式中,第一计数器单元304依据物理权重信息对第一翻转次数进行转换,得到每一种信号各自对应的第二翻转次数,从而得到每个时钟周期内发生翻转的信号的第三翻转次数。
在一种可能的实现方式中,第一翻转峰值监测单元301为使用Verilog语言描述的代码,是可综合的,其可以挂载在任何一个模块上进行信号的翻转次数的监测。如图1所示,第一翻转峰值监测单元301可以包括存储模块、第一监测子模块、第二监测子模块、第一计算子模块、第二计算子模块、对比模块以及输出模块。
存储模块用于存储翻转次数。可选地,存储模块会每隔一个时钟周期获取待评估模块在当前运行的时钟周期内的第三翻转次数,具体的获取过程如上文所述,此处不多加赘述。存储模块还会将当前运行的时钟周期内的第三翻转次数存入对应的存储器(例如,该存储可以为下文提及的第三存储单元)中。
第一监测子模块用于持续监测所存翻转次数的数量是否达到预先设置的窗口期长度值N,达到后则设置一个仅维持一个时钟周期的满标志F1;当F1第一次为第一值(例如,第一值可以为1)时,第二监测子模块会将首次满标志F2设置为第一值,F2至此会一直保持为第一值。
第一计算子模块用于监测到F1或者F2为第一值时,把此时存储器中即将被覆盖的最旧的翻转次数(即上一窗口期中的首个时钟周期对应的第三翻转次数)存储到第二存储单元中,以备后续模块调用进行相减。
第二计算子模块用于将每次存入到第三存储单元的翻转次数进行相加后存入第一存储单元中,当模块监测到F2为1时,将第一存储单元中的数值加上第三存储单元中的数值,然后再减去第二存储单元中的数值,从而得到当前窗口期内发生翻转的信号的总翻转次数,并将当前窗口期内发生翻转的信号的总翻转次数更新至第一存储单元。
对比模块用于对比第一存储单元中的数值和第四存储单元中的历史最大翻转值,若第一存储单元中的数值大于第四存储单元中的历史最大翻转值,将第一存储单元中的数值更新至第四存储单元。即每个时钟周期内均可实时对比M~(M+N)时钟周期范围内的总翻转次数与(M+1)~( M+1+N) 时钟周期范围内的总翻转次数的大小关系,并更新此时最大翻转次数,M+1为当前运行的时钟周期。
输出模块用于在每个时钟周期判断存储更高翻转次数第四存储单元中的值是否被更新,来输出出现更高翻转次数的标志F3,若被更新则把F3置为第二值(例如,第二值可以为1),否则把F3置为第三值(例如,第三值可以为0)。当F3为第二值时,第一监测器单元302获取峰值波形数据。
本申请实施例中的第一存储单元的深度可以由工作人员通过配置文件或参数具体设定,以便后续在运行过程中可以直接增加对比的窗口期长度,这里,第一存储单元的深度应该理解为第一存储单元的空间大小。
第一监测器单元302,用于若发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据。
第一信息收发单元303,用于将获取到的峰值波形数据传输给功耗评估终端。
本申请实施例提供的一种功耗评估方法,可以包括但不限于应用于功耗评估系统中的仿真平台,具体的流程,请参考图2,功耗评估方法的实现步骤可以包括:S101、S102以及S103,下面对其进行具体阐述:
S101,在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数。
其中,待评估模块为仿真芯片中任一需要评估模块,当前窗口期包括N个时钟周期,N为大于或等于1的正整数,N个时钟周期具有连续性,当前窗口期中的最后一个时钟周期为仿真芯片当前运行的时钟周期。
在本申请中,相邻的两个窗口期之间具有连续关系,举例说明如下,假设N为10,在当前运行的时钟周期为第11时钟周期时,当前窗口期包含第2个时钟周期到第11个时钟周期;在当前运行的时钟周期为第12时钟周期时,当前窗口期包含第3个时钟周期到第12个时钟周期。这里,当前窗口期内发生翻转的信号的总翻转次数为信号在当前窗口期内所有时钟周期的翻转次数的总和。需要说明的是,上述N为10只是一种示例,不应构成限定。在实际应用中,N≥100。
S102,若发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据。
其中,峰值波形数据包括待评估模块中所有被监测的信号在当前窗口期内的波形数据,被监测的信号为在待评估模块内部传输任意信号,被监测的信号可以是提前布设了第一计数器单元304的信号。历史最大翻转值为已获得的总翻转次数中的最大值,需要说明的是,历史最大翻转值是会实时更新的,下面举例说明:假设第一窗口期(1-10时钟周期)所对应的总翻转次数为100次,第二窗口期(2-11时钟周期)所对应的总翻转次数为99次,99小于100,此时历史最大翻转值保持为100,不需要更新。第三窗口期(3-12时钟周期)所对应的总翻转次数为108次,108大于100,此时需要将历史最大翻转值更新为108。第四窗口期(4-13时钟周期)所对应的总翻转次数为105次,虽然105大于100,但是105小于108,因此此时历史最大翻转值保持为108,不需要更新。
当前窗口期发生翻转的信号的总翻转次数大于历史最大翻转值时,表示当前窗口期内的功耗值大于所有历史窗口期内的功耗值,即当前窗口期内的功耗值为新的最大功耗值。
相对于仅获取单个时钟周期的最大功耗容易出现毛刺点,导致误报峰值功耗点的问题,本申请实施例中的当前窗口期包括N个时钟周期,N为大于1的正整数。通过获取各个窗口期中的总翻转次数,进行比较,从而确定待评估模块在窗口期(N)下的最大功耗。通过将比较的周期拉长,解决了毛刺现象导致的误报问题。
在一种可能的实现方式中,在发生翻转的信号的总翻转次数大于历史最大翻转值的情况下,第一监测器单元302被触发,对待评估模块中所有被监测的信号在当前窗口期内的波形数据进行下载,从而获得峰值波形数据。相较于现有技术来说,由于不再需要对波形数据进行绘制,降低仿真平台的运行负载,保障了仿真平台的运行效率。
S103,根据获得到的峰值波形数据进行功耗分析。
关于怎么根据获取的峰值波形数据来进行处理,本申请实施例还提供了两种可能的实现方式,请参考下文。
在一个实施例中,将所有获得的峰值波形数据传输给功耗评估终端,以使功耗评估终端依据峰值波形数据进行评估分析,获得功耗分析结果。
在一个实施例中,将最后一次获得的峰值波形数据传输给功耗评估终端,以使功耗评估终端依据峰值波形数据进行评估分析,获得功耗分析结果。
应理解,最后一次获得的峰值波形数据为最大的总翻转次数所对应的窗口期中的波形数据,即功耗最大的窗口期所对应的波形数据。将最后一次获得的峰值波形数据传输给后端的功耗评估终端进行计算分析,有利于得出最大功耗信息,这一实现方式,可以使得功耗分析结果更具有参考性。在实际应用中,功耗评估终端可以将功耗分析结果反馈给研发人员,例如,将功耗分析结果发送至研发人员对应的邮箱,以便研发人员可以在第一时间获知功耗分析结果,并基于该功耗分析结果修改仿真芯片的设计。需要说明的是,上述过程往往是一个多次重复实现的过程,可以实现对仿真芯片的设计进行修缮与改进,以期达到最优的低功耗设计结果。
需要说明的是,将最后一次获得的峰值波形数据传输给功耗评估终端的实现方式相对于将所有获得的峰值波形数据传输给功耗评估终端来说,由于仅需要将最后一次获得的峰值波形数据传输给功耗评估终端,一方面,保障了功耗分析结果的准确性;另一方面,减少数据的传输,降低了通信负担。
综上所述,本申请实施例提供了一种功耗评估方法,应用于仿真平台,在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,待评估模块为仿真芯片中任一需要评估模块;若发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据;根据获得到的峰值波形数据进行功耗分析。当前窗口期包括N个具有连续性的时钟周期,当前窗口期中的最后一个时钟周期为仿真芯片当前运行的时钟周期。通过获取各个窗口期中的总翻转次数,进行比较,从而确定待评估模块在窗口期下的最大功耗。通过本申请实施例的方法可以将比较的周期拉长,解决了毛刺现象导致的误报问题。
关于如何保障历史最大翻转值为已获得的总翻转次数中的最大值,本申请实施例还提供了一种可能的实现方式,请参考下文。
可选地,在完整运行一个窗口期之前,即在第一窗口期之前,历史最大翻转值为空。继续参考上例,假设N为10,在运行至第10个时钟周期时,表示已经完整运行了一个窗口期,此时获取第一窗口期的总翻转次数,并与在第10个时钟周期时的历史最大翻转值进行比较(空),将第一窗口期的总翻转次数确定为新的历史最大翻转值。
本申请实施例提供的功耗评估方法中,逐个比对相邻两个窗口期的总翻转次数,由于相邻两个窗口期仅相差一个时钟周期,即可以对比一拍周期之差的前后两个时钟周期长度内发生翻转的翻转次数(该翻转次数可以表征时钟周期内的功耗,即翻转次数与对应的功耗为正比关系)的大小,确保不错过任何一个峰值,结果更为精确。
在一种可能的实现方式中,可以设置一个存储单元用于存储历史最大翻转值。
在图2的基础上,对于S101中的内容,本申请实施例还提供了一种可能的实现方式,请参考图3,S101包括:S101-1和S101-2。
S101-1,在当前窗口期所包含的每个时钟周期内,获取待评估模块内发生翻转的每一种信号各自对应的第一翻转次数,并依据物理权重信息对第一翻转次数进行转换,得到每一种信号各自对应的第二翻转次数,以得到每个时钟周期内发生翻转的信号的第三翻转次数。
第三翻转次数为待评估模块中需要监测的信号在对应的时钟周期内的第二翻转次数的和。可以理解地,待评估模块中需要监测翻转次数的信号数量巨大,第三翻转次数为待评估模块内每一种信号的翻转次数经过对应的物理权重信息转换后得到的数值的和。在本申请实施例中,物理权重信息为信号翻转一次所消耗的电量,因为不同信号翻转一次所消耗的电量(功率)不同,所以需要通过物理权重信息对其进行转换。
具体地,由内嵌于仿真平台的第一计数器单元304结合物理权重信息进行转换。在一些可能的实现方式中,针对每一种需要监测翻转次数的信号可以设置有对应的第一计数器单元304,从而第一计数器单元304可以获取待评估模块内发生翻转的每一种信号各自对应的第一翻转次数。在一种可能的实现方式中,第一计数器单元304依据物理权重信息对第一翻转次数进行转换,得到每一种信号各自对应的第二翻转次数。
例如,在某一个时钟周期内,A信号统计得到的第一翻转次数为1次,A信号的耗电量为标准耗电量的1.2倍,A信号的权重为1.2,转换后的第二翻转次数为1*1.2=1.2;B信号统计得到的第一翻转次数为1,耗电量为标准电量,权重为1,转换后的第二翻转次数为1;C信号统计得到的第一翻转次数为1次,C信号的权重为0.8,转换后的第二翻转次数为0.8。
S101-2,基于每个时钟周期内发生翻转的信号的第三翻转次数,得到待评估模块在当前窗口期内发生翻转的信号的总翻转次数。
继续参考上例,假设需要监测的信号包括A信号、B信号以及C信号,第三翻转次数则即为3。
可选地,仿真平台还设置有第一翻转峰值监测单元301,第一翻转峰值监测单元301可以调用每一个第一计数器单元304所得到的每个时钟周期内发生翻转的信号的第三翻转次数,得到待评估模块在当前窗口期内发生翻转的信号的总翻转次数。
在一种可能的实现方式中,仿真平台至少设置有三个存储单元,至少三个存储单元包括第一存储单元、第二存储单元和第三存储单元,在当前运行的时钟周期不属于第一个窗口期的情况下,第一存储单元用于存储上一个窗口期内发生翻转的信号的总翻转次数;第二存储单元用于存储上一个窗口期中第一个时钟周期内发生翻转的信号的第三翻转次数;第三存储单元用于存储仿真芯片当前运行的时钟周期内发生翻转的信号的第三翻转次数。
继续参考前例,N为10,假设当前运行的时钟周期为第11时钟周期,第一存储单元中的值为与当前窗口期相邻的上一窗口期内所有时钟周期发生翻转的信号的总翻转次数,即第一窗口期(第1至10时钟周期)内发生翻转的信号的总翻转次数。第二存储单元中的值为第1时钟周期内发生翻转的信号的第三翻转次数。第三存储单元中的值为第11时钟周期内发生翻转的信号的第三翻转次数。
在仿真平台设置有至少设置有三个存储单元的基础上,关于图3中的S101-2,本申请实施例还提供了一种可能的实现方式,请参考下文。
基于每个时钟周期内发生翻转的信号的第三翻转次数,得到待评估模块在当前窗口期内发生翻转的信号的总翻转次数,包括:
根据第一存储单元所存储的上一个窗口期内发生翻转的信号的总翻转次数、第二存储单元所存储的上一个窗口期中第一个时钟周期内发生翻转的信号的第三翻转次数以及第三存储单元所存储的仿真芯片在当前运行的时钟周期内发生翻转的信号的第三翻转次数,得到当前窗口期内发生翻转的信号的总翻转次数。
可选地,将第一存储单元中的总翻转次数与第三存储单元中的第三翻转次数相加,并减去第二存储单元中的第三翻转次数,即为当前窗口期内发生翻转的信号的总翻转次数。
可以理解地,假如将当前窗口期内每一个时钟周期对应的第三翻转次数依次相加,以获得当前窗口期内发生翻转的信号的总翻转次数,需要进行N-1次加法运算。而通过上述方式,将第一存储单元中的值与第三存储单元中的值相加,并减去第二存储单元中的值,即为当前窗口期内发生翻转的信号的总翻转次数。本实施例中,仅需要进行一次加法运算和一次减法运算,极大地降低了运算量,提升了仿真平台的运行效率。
可选地,在当前运行的时钟周期属于第一个窗口期的情况下,第二存储单元用于存储预设翻转次数,可选地,预设翻转次数的值可以为0。
继续参考上例,假设N为10,在第1时钟周期到第10时钟周期之间,第二存储单元中的值为0。当运行至第11时钟周期,将第1时钟周期对应的第三翻转次数赋值到第二存储单元,后续依次将第2、3、4…时钟周期对应的第三翻转次数赋值到第二存储单元。
可选地,在当前运行的时钟周期属于第一个窗口期的情况下,第一存储单元用于存储当前运行的时钟周期之前发生翻转的信号的总翻转次数。例如,当前运行的时钟周期时第5时钟周期,此时,第一存储单元用于第1时钟周期至第4时钟周期的第三翻转次数的和。
或者第一存储单元中的值为空,在运行至第10时钟周期时,获取第一窗口期内发生翻转的信号的总翻转次数,将该值存储至第一存储单元。
在一种可能的实现方式,在根据第一存储单元、第二存储单元和第三存储单元各自存储的值,得到当前窗口期内发生翻转的信号的总翻转次数之后,功耗评估方法还包括:
将当前窗口期内所有时钟周期的发生翻转的信号的总翻转次数更新至第一存储单元;将当前窗口期内的首个时钟周期的第三翻转次数更新至第二存储单元。
可能地,在仿真平台的存储器中建立有存储时钟周期内的第三翻转次数队列,例如窗口长度为N,队列长度大于N,在将当前运行的时钟周期的第三翻转次数存入队列时,将排在当前运行的时钟周期之前,且与当前运行的时钟周期的间隔为N的时钟周期的第三翻转次数存入第二存储单元。例如,N等于10,在第11时钟周期的第三翻转次数存入队列时,将第1时钟周期的第三翻转次数存入第二存储单元,并将第二个窗口期(第2时钟周期至第11时钟周期)发生翻转的信号的总翻转次数更新至第一存储单元。
在一种可能的实现方式中,仿真平台还设置有第四存储单元,第四存储单元用于存储历史最大翻转值。在将当前窗口期内所有时钟周期的发生翻转的信号的总翻转次数更新至第一存储单元之后,关于如何判断当前窗口期内发生翻转的信号的总翻转次数是否大于历史最大翻转值,本申请实施例还提供了一种可能的实现方式,请参考下文。
将第一存储单元中的数值与第四存储单元中的数值进行比较。
因为需要判断当前窗口期内所有时钟周期的发生翻转的信号的总翻转次数是否大于历史最大翻转值,所以需要在将当前窗口期内所有时钟周期的发生翻转的信号的总翻转次数更新至第一存储单元之后执行。
若第一存储单元中的数值大于第四存储单元中的数值,则确认当前窗口期内发生翻转的信号的总翻转次数大于历史最大翻转值。
可选地,若第一存储单元中的数值大于第四存储单元中的数值,第一存储单元中的数值更新至第四存储单元,从而保障历史最大翻转值为已获得的总翻转次数中的最大值。
在S101之前,关于如何实现仿真芯片的仿真运行,本申请实施例还提供了一种可能的实现方式,请参考下文,功耗评估方法还包括:
将仿真芯片的编译后的数据库加载至仿真平台,进行仿真运行;其中,仿真芯片的编译前的文件包括仿真芯片的设计代码、用于支撑验证环境的验证代码以及环境支撑代码,待评估模块的编译前的文件为网表文件,编译后的数据库是编译前的文件经过编译后所得到的数据库;通过仿真平台依据激励文件对仿真运行的系统进行激励测试;其中,激励文件为待评估模块所对应的测试文件,测试文件例如为linpack测试或stream测试。
具体地,在确定待评估模块后,调用待评估模块对应的网表文件。网表文件是通过综合工具对待评估模块对应的RTL代码进行综合后所得到文件,待评估模块对应的RTL代码是一种使用Verilog语言描述的电路关系的代码,使用基本逻辑单元进行描述的设计文件。
获取工作人员基于硬件仿真加速器搭建的全芯片验证环境。验证环境是基于已经进行功能验证且功能验证已经验证通过的环境基础上搭建的,主要包括整个仿真芯片的设计代码、用于支撑验证环境的验证代码以及环境支撑代码。在验证环境下,可以快速修改用于功耗评估的验证环境 。
将验证环境中待评估模块所对应的RTL形式的代码利用上述步骤中的网表文件进行替换,完成仿真芯片的预备评估功耗环境。
在该预备评估功耗环境中嵌入前文所述的第一翻转峰值监测单元、第一计数器单元以及第一监测器单元等等,并将物理权重信息添加至预备评估功耗环境中,完成仿真芯片的预备评估功耗环境的搭建,之后对整个评估功耗环境进行编译得到对应的数据库。
可选地,在进行激励测试前,还需要通过对应脚本将该二进制格式的激励转换成仿真平台可识别的格式文件。
在一种可能的实现方式中,可以设置多个第一翻转峰值监测单元,用于对不同窗口长度进行翻转次数统计,最小窗口长度(N)可以设置设置为1。可以理解地,窗口长度的种类数量可以大于或等于1,例如N=100、N=300、N=1000以及N=3000,当需要上述四种不同长度的窗口长度时,可以设置多个第一翻转峰值监测单元,并分别配置为不同的窗口长度,从而可以在一次运行过程中获取上述不同的窗口长度的最终峰值波形数据。例如,分别获取到N=100、N=300、N=1000以及N=3000的最终峰值波形数据。
在设置的窗口长度的种类数量大于1的基础上,对于S103中的内容,本申请实施例还提供了一种可能的实现方式,请参考下文,S103包括:
在激励测试结束后,将全部的峰值波形数据进行汇总;将汇总后的峰值波形数据转换为VCD格式文件;将VCD格式文件传输给功耗评估终端。
在汇总后进行统一发送,降低发送频次的同时,便于功耗评估终端整理分析。
可选地,即每次抓取到的峰值波形数据还包括更高峰值出现的仿真运行的时钟周期和信号翻转平均值,信号翻转平均值为当前窗口期内每一个时钟周期的第三翻转次数的平均值。
需要说明的是,本申请实施例中,以N为10作为示例进行说明,但并不依次作为限定,当N值发生变化时,本申请实施例中与N相关的表述适应性发生改变。
本申请实施例中的存储单元可以是独立的寄存器或存储器中的一段存储空间。
本申请实施例还提供了一种功耗评估方法,应用于功耗评估系统中的功耗评估终端。如图4所示,功耗评估方法包括S201和S202。
S201,接收仿真平台传输的峰值波形数据。
其中,峰值波形数据为待评估模块在当前窗口期内发生翻转的信号的总翻转次数大于历史最大翻转值时,待评估模块中所有信号在当前窗口期内的波形数据,待评估模块为仿真芯片中任一需要评估模块,当前窗口期包括N个时钟周期,N为大于1的正整数,N个时钟周期具有连续性,当前窗口期中的最后一个时钟周期为仿真芯片当前运行的时钟周期。
可选地,仿真平台可以将所有获得的峰值波形数据传输给功耗评估终端,也可以仅将最后一次获得的峰值波形数据传输给功耗评估终端。
S202,依据峰值波形数据进行评估分析,获得功耗分析结果。
需要说明的是,本实施例所提供的应用于功耗评估终端的功耗评估方法为应用于仿真平台的功耗评估方法的对侧方法,其可以执行上述方法流程实施例所示的方法流程,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
请继续参阅图1,图1为本申请实施例提供的一种功耗评估装置,可选的,该功耗评估装置被应用于上文所述的仿真平台。
功耗评估装置包括第一翻转峰值监测单元301、第一监测器单元302以及第一信息收发单元303。
第一翻转峰值监测单元301,用于在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,其中,待评估模块为仿真芯片中任一需要评估模块,当前窗口期包括N个时钟周期,N为大于1的正整数, N个时钟周期具有连续性,当前窗口期中的最后一个时钟周期为仿真芯片当前运行的时钟周期;
第一监测器单元302,用于若发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据;其中,历史最大翻转值为已获得的总翻转次数中的最大值。
第一信息收发单元303,用于根据获得到的所述峰值波形数据进行功耗分析。
第一种,将所有获得的峰值波形数据传输给功耗评估终端,以使功耗评估终端依据峰值波形数据进行评估分析,获得功耗分析结果;第二种,将最后一次获得的峰值波形数据传输给功耗评估终端,以使功耗评估终端依据峰值波形数据进行评估分析,获得功耗分析结果。
可选地,第一翻转峰值监测单元301可以执行上述的S101,第一监测器单元302可以执行上述的S102,第一信息收发单元303可以执行上述的S103。
请参阅图5,图5为本申请实施例提供的一种功耗评估装置,可选的,该功耗评估装置被应用于上文所述的功耗评估终端。
功耗评估装置包括第二信息收发单元401和第二处理单元402。
第二信息收发单元401,用于接收仿真平台传输的峰值波形数据;
其中,峰值波形数据为待评估模块在当前窗口期内发生翻转的信号的总翻转次数大于历史最大翻转值时,待评估模块中所有信号在当前窗口期内的波形数据,历史最大翻转值为已获得的总翻转次数中的最大值,待评估模块为仿真芯片中任一需要评估模块,当前窗口期包括N个时钟周期,N为大于1的正整数,N个时钟周期具有连续性,当前窗口期中的最后一个时钟周期为仿真芯片当前运行的时钟周期;
第二处理单元402,用于依据峰值波形数据进行评估分析,获得功耗分析结果。
可选地,第二信息收发单元401可以执行上述的S201,第二处理单元402可以执行上述的S202。
需要说明的是,本实施例所提供的功耗评估装置,其可以执行上述方法流程实施例所示的方法流程,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
本申请实施例还提供了一种存储介质,该存储介质存储有计算机指令、程序,该计算机指令、程序在被读取并运行时执行上述实施例的功耗评估方法。该存储介质可以包括内存、闪存、寄存器或者其结合等。
下面提供一种电子设备,可以是功耗评估系统中的仿真平台或功耗评估终端,该电子设备如图6所示,可以实现上述的功耗评估方法;具体的,该电子设备包括:处理器10,存储器11、总线12。处理器10可以是CPU。存储器11用于存储一个或多个程序,当一个或多个程序被处理器10执行时,执行上述实施例的功耗评估方法。
如图6所示,电子设备包括处理器10、存储器11、总线12。处理器10、存储器11通过总线12连接,处理器10用于执行存储器11中存储的可执行模块,例如计算机程序。
处理器10可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,功耗评估方法的各步骤可以通过处理器10中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器10可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit ,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器11可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
总线12可以是ISA(Industry Standard Architecture)总线、PCI(PeripheralComponent Interconnect)总线或EISA(Extended Industry Standard Architecture)总线等。图6中仅用一个双向箭头表示,但并不表示仅有一根总线12或一种类型的总线12。
存储器11用于存储程序,例如功耗评估装置对应的程序。功耗评估装置包括至少一个可以软件或固件(firmware)的形式存储于存储器11中或固化在电子设备的操作系统(operating system,OS)中的软件功能模块。处理器10在接收到执行指令后,执行所述程序以实现功耗评估方法。
可能地,本申请实施例提供的电子设备还包括通信接口13。通信接口13通过总线与处理器10连接。电子设备可以通过通信接口13与其他终端进行交互。
应当理解的是,图6所示的结构仅为电子设备的部分的结构示意图,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种功耗评估方法,其特征在于,应用于仿真平台,所述方法包括:
在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,其中,所述待评估模块为所述仿真芯片中任一需要评估模块,所述当前窗口期包括N个时钟周期,N为大于1的正整数,所述N个时钟周期具有连续性,所述当前窗口期中的最后一个时钟周期为所述仿真芯片当前运行的时钟周期;
若所述发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据;其中,所述历史最大翻转值为已获得的总翻转次数中的最大值;
根据获得到的所述峰值波形数据进行功耗分析。
2.如权利要求1所述的功耗评估方法,其特征在于,所述根据获得到的所述峰值波形数据进行功耗分析,包括:
将最后一次获得的所述峰值波形数据传输给功耗评估终端,以使所述功耗评估终端依据所述峰值波形数据进行评估分析,获得功耗分析结果。
3.如权利要求1所述的功耗评估方法,其特征在于,所述获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,包括:
在当前窗口期所包含的每个时钟周期内,获取所述待评估模块内发生翻转的每一种信号各自对应的第一翻转次数,并依据物理权重信息对所述第一翻转次数进行转换,得到每一种信号各自对应的第二翻转次数,以得到每个时钟周期内发生翻转的信号的第三翻转次数;
其中,所述第三翻转次数为得到的每一种信号各自对应的第二翻转次数的和;
基于每个时钟周期内发生翻转的信号的第三翻转次数,得到待评估模块在当前窗口期内发生翻转的信号的总翻转次数。
4.如权利要求3所述的功耗评估方法,其特征在于,所述仿真平台设置有至少三个存储单元,所述至少三个存储单元包括第一存储单元、第二存储单元和第三存储单元,在当前运行的时钟周期不属于第一个窗口期的情况下,所述第一存储单元用于存储上一个窗口期内发生翻转的信号的总翻转次数;所述第二存储单元用于存储上一个窗口期中第一个时钟周期内发生翻转的信号的第三翻转次数;所述第三存储单元用于存储所述仿真芯片在当前运行的时钟周期内发生翻转的信号的第三翻转次数;所述基于每个时钟周期内发生翻转的信号的第三翻转次数,得到待评估模块在当前窗口期内发生翻转的信号的总翻转次数,包括:
根据所述第一存储单元所存储的上一个窗口期内发生翻转的信号的总翻转次数、所述第二存储单元所存储的上一个窗口期中第一个时钟周期内发生翻转的信号的第三翻转次数以及所述第三存储单元所存储的所述仿真芯片在当前运行的时钟周期内发生翻转的信号的第三翻转次数,得到当前窗口期内发生翻转的信号的总翻转次数。
5.如权利要求4所述的功耗评估方法,其特征在于,在当前运行的时钟周期属于第一个窗口期的情况下,所述第二存储单元用于存储预设翻转次数。
6.一种功耗评估方法,其特征在于,应用于功耗评估终端,所述方法包括:
接收仿真平台传输的峰值波形数据;
其中,所述峰值波形数据为待评估模块在当前窗口期内发生翻转的信号的总翻转次数大于历史最大翻转值时,所述待评估模块中所有信号在所述当前窗口期内的波形数据,所述历史最大翻转值为已获得的总翻转次数中的最大值,所述待评估模块为仿真芯片中任一需要评估模块,所述当前窗口期包括N个时钟周期,N为大于1的正整数,所述N个时钟周期具有连续性,所述当前窗口期中的最后一个时钟周期为所述仿真芯片当前运行的时钟周期;
依据所述峰值波形数据进行评估分析,获得功耗分析结果。
7.一种功耗评估装置,其特征在于,应用于仿真平台,所述装置包括:
第一翻转峰值监测单元,用于在对仿真芯片进行激励测试时,获取待评估模块在当前窗口期内发生翻转的信号的总翻转次数,其中,所述待评估模块为所述仿真芯片中任一需要评估模块,所述当前窗口期包括N个时钟周期,N为大于1的正整数,所述N个时钟周期具有连续性,所述当前窗口期中的最后一个时钟周期为所述仿真芯片当前运行的时钟周期;
第一监测器单元,用于若所述发生翻转的信号的总翻转次数大于历史最大翻转值,获取对应的峰值波形数据;其中,所述历史最大翻转值为已获得的总翻转次数中的最大值;
第一信息收发单元,用于根据获得到的所述峰值波形数据进行功耗分析。
8.一种功耗评估装置,其特征在于,应用于功耗评估终端,所述装置包括:
第二信息收发单元,用于接收仿真平台传输的峰值波形数据;
其中,所述峰值波形数据为待评估模块在当前窗口期内发生翻转的信号的总翻转次数大于历史最大翻转值时,所述待评估模块中所有信号在所述当前窗口期内的波形数据,所述历史最大翻转值为已获得的总翻转次数中的最大值,所述待评估模块为仿真芯片中任一需要评估模块,所述当前窗口期包括N个时钟周期,N为大于1的正整数,所述N个时钟周期具有连续性,所述当前窗口期中的最后一个时钟周期为所述仿真芯片当前运行的时钟周期;
第二处理单元,用于依据所述峰值波形数据进行评估分析,获得功耗分析结果。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5或6中任一项所述的方法。
10.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现如权利要求1-5或6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111502779.3A CN113901748B (zh) | 2021-12-10 | 2021-12-10 | 一种功耗评估方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111502779.3A CN113901748B (zh) | 2021-12-10 | 2021-12-10 | 一种功耗评估方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113901748A CN113901748A (zh) | 2022-01-07 |
CN113901748B true CN113901748B (zh) | 2022-03-01 |
Family
ID=79025533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111502779.3A Active CN113901748B (zh) | 2021-12-10 | 2021-12-10 | 一种功耗评估方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901748B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114879832A (zh) * | 2022-05-20 | 2022-08-09 | 昆仑芯(北京)科技有限公司 | 用于运算装置的功耗控制方法、装置、芯片、设备及介质 |
CN117391010A (zh) * | 2023-11-01 | 2024-01-12 | 深圳市合芯数字科技有限公司 | 芯片的功耗波形文件生成方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147822A (zh) * | 2010-12-23 | 2011-08-10 | 上海高性能集成电路设计中心 | 一种基于功耗库的大规模数字集成电路功耗动态评估装置 |
CN103412990A (zh) * | 2013-08-05 | 2013-11-27 | 北京航空航天大学 | 一种多层次协同低功耗设计方法 |
CN110110472A (zh) * | 2019-05-17 | 2019-08-09 | 北京智芯微电子科技有限公司 | 时钟树的功耗优化方法 |
CN112257358A (zh) * | 2020-12-22 | 2021-01-22 | 上海国微思尔芯技术股份有限公司 | 一种动态功耗精确分析方法及装置 |
CN112585609A (zh) * | 2019-12-26 | 2021-03-30 | 深圳市大疆创新科技有限公司 | 芯片设计方法、芯片设计设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105445569B (zh) * | 2015-11-11 | 2018-04-03 | 北京航空航天大学 | 一种适用于高速集成电路的片上纳秒级电源噪声瞬态波形测量系统及其测量方法 |
US11287866B2 (en) * | 2019-04-30 | 2022-03-29 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Computing device, power consumption prediction method thereof and non-transitory computer-readable storage medium |
-
2021
- 2021-12-10 CN CN202111502779.3A patent/CN113901748B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147822A (zh) * | 2010-12-23 | 2011-08-10 | 上海高性能集成电路设计中心 | 一种基于功耗库的大规模数字集成电路功耗动态评估装置 |
CN103412990A (zh) * | 2013-08-05 | 2013-11-27 | 北京航空航天大学 | 一种多层次协同低功耗设计方法 |
CN110110472A (zh) * | 2019-05-17 | 2019-08-09 | 北京智芯微电子科技有限公司 | 时钟树的功耗优化方法 |
CN112585609A (zh) * | 2019-12-26 | 2021-03-30 | 深圳市大疆创新科技有限公司 | 芯片设计方法、芯片设计设备和存储介质 |
CN112257358A (zh) * | 2020-12-22 | 2021-01-22 | 上海国微思尔芯技术股份有限公司 | 一种动态功耗精确分析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113901748A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113901748B (zh) | 一种功耗评估方法、装置、存储介质及电子设备 | |
CN102279037B (zh) | 活体动物称重方法和装置 | |
US20180137031A1 (en) | Waveform based reconstruction for emulation | |
CN110674047B (zh) | 软件测试方法、装置及电子设备 | |
CN108959279B (zh) | 数据处理方法、数据处理装置、可读介质及电子设备 | |
CN111104157A (zh) | 一种存储设备量产方法、装置、存储介质及电子设备 | |
CN111950857A (zh) | 基于业务指标的指标体系管理方法、装置以及电子设备 | |
CN113901745A (zh) | 芯片测试方法、装置、电子设备及计算机可读存储介质 | |
WO2013179076A1 (en) | A simulation system and method for testing a simulation of a device against one or more violation rules | |
CN117350208A (zh) | 时序逻辑元件性能检查方法及设备 | |
JP2006139729A (ja) | ハードウェア検証用プログラミング言語モデル生成装置、ハードウェア検証用プログラミング言語モデル生成方法、コンピュータシステム、ハードウェアシミュレーション方法、制御プログラムおよび可読記憶媒体 | |
CN103077080A (zh) | 基于高性能平台的并行程序性能数据采集方法及装置 | |
Bhuyan et al. | Estimation of reliability with cumulative stress and strength degradation | |
CN110988662B (zh) | 一种基于fpga原型验证开发板的信号调试系统及方法 | |
Schmidt et al. | TREM: a tool for mining timed regular specifications from system traces | |
CN111162792A (zh) | 一种电力负荷数据的压缩方法及装置 | |
CN115576831A (zh) | 一种测试案例推荐方法、装置、设备及存储介质 | |
CN114201941A (zh) | 一种芯片性能验证方法及装置、电子设备、存储介质 | |
CN110263496B (zh) | 岩芯特征尺寸确定方法及装置 | |
CN113806231A (zh) | 一种代码覆盖率分析方法、装置、设备和介质 | |
CN117077603B (zh) | 一种验证方法、芯片、系统、电子设备及可读存储介质 | |
WO2011039577A1 (en) | Memory access performance diagnosis | |
CN108664401A (zh) | 埋点合理性的评估方法及装置 | |
CN110261761A (zh) | 一种基于fpga电气信号检测的主板自检装置及方法 | |
CN117113908B (zh) | 一种验证方法、装置、电子设备及可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |