CN116755993B - 芯片功耗评估方法、装置、电子装置和存储介质 - Google Patents
芯片功耗评估方法、装置、电子装置和存储介质 Download PDFInfo
- Publication number
- CN116755993B CN116755993B CN202311046179.XA CN202311046179A CN116755993B CN 116755993 B CN116755993 B CN 116755993B CN 202311046179 A CN202311046179 A CN 202311046179A CN 116755993 B CN116755993 B CN 116755993B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- waveform file
- waveform
- chip
- duty ratio
- 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
- 238000011156 evaluation Methods 0.000 title claims abstract description 92
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims description 141
- 230000003068 static effect Effects 0.000 claims description 63
- 238000004590 computer program Methods 0.000 claims description 20
- 238000013461 design Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 18
- 238000004088 simulation Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 108010024433 H 256 Proteins 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000007306 turnover Effects 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 3
- 230000003071 parasitic effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100322754 Mus musculus Spata5 gene Proteins 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及一种芯片功耗评估方法、装置、电子装置和存储介质,其中,该芯片功耗评估方法包括:获取待测芯片的至少两个波形文件,并计算得到各该波形文件对应的平均功耗;获取各该波形文件的占比信息;根据该各波形文件对应的占比信息和该各波形文件对应的平均功耗,获得该待测芯片的目标功耗评估结果。通过本申请,解决了芯片功耗评估效率低的问题,实现了高效、精确的芯片平均功耗评估方法。
Description
技术领域
本申请涉及集成电路技术领域,特别是涉及芯片功耗评估方法、装置、电子装置和存储介质。
背景技术
功耗分析对于芯片的性能评估非常重要。传统的提供功耗分析波形的方法是,通过人工查看仿真后的波形文件,确认运行的程序的软件配置符合功耗分析的要求后,再将仿真波形文件按要求分段截取作为功耗分析的输入。随着芯片设计越来越复杂,所应用的场景越来越多样化,功耗分析的工作量也随之增大。在相关技术中,在不同应用场景下,每次调整波形文件时都需要重新开始计算设计芯片的平均功耗,使得芯片功耗评估的效率低下。
目前针对相关技术中芯片功耗评估的效率低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种芯片功耗评估方法、装置、系统、电子装置和存储介质,以至少解决相关技术中芯片功耗评估的效率低的问题。
第一方面,本申请实施例提供了一种芯片功耗评估方法,所述方法包括:
获取待测芯片的至少两个波形文件,并计算得到各所述波形文件对应的平均功耗;
获取各所述波形文件的占比信息;
根据各所述波形文件对应的占比信息和各所述波形文件对应的平均功耗,获得所述待测芯片的平均功耗评估结果。
在其中一些实施例中,所述获取待测芯片的至少两个波形文件,并计算得到各所述波形文件对应的平均功耗;获取各所述波形文件的占比信息,包括:
获取待测芯片的应用场景的配置信息,基于所述配置信息,确定所述应用场景对应的至少两个任务;
获取所述应用场景对应的至少两个任务的波形文件,并根据所述波形文件计算各个任务对应的平均功耗,得到各所述波形文件对应的平均功耗;
获取各所述波形文件对应的任务在所述应用场景中的占比信息作为各所述波形文件的占比信息。
在其中一些实施例中,所述计算得到各所述波形文件对应的平均功耗,包括:
获取所述波形文件中的至少一个功耗类型对应的功耗计算信息;
根据所述至少一个功耗类型对应的功耗计算条件以及功耗计算信息计算所述功耗类型对应的功耗;
根据所述至少一个功耗类型对应的功耗得到所述波形文件对应的平均功耗。
在其中一些实施例中,所述功耗类型包括动态功耗类型和静态功耗类型;所述根据所述至少一个功耗类型对应的功耗计算条件以及功耗计算信息计算所述功耗类型对应的功耗;根据所述至少一个功耗类型对应的功耗得到所述波形文件对应的平均功耗,包括:
对每个所述波形文件分别进行解析得到对应的动态数据、静态数据;
利用所述动态功耗类型对应的功耗计算条件,根据所述动态功耗类型对应的功耗计算信息和所述动态数据计算得到动态功耗;利用所述静态功耗类型对应的功耗计算条件,根据所述静态功耗类型对应的功耗计算信息和所述静态数据得到静态功耗;
根据所述静态功耗和所述动态功耗得到所述波形文件对应的所述平均功耗。
在其中一些实施例中,所述静态功耗类型包括固有漏功耗和栅漏功耗;和/或,所述动态功耗类型包括内部功耗和开关功耗。
在其中一些实施例中,所述根据各所述波形文件对应的占比信息和各所述波形文件对应的平均功耗,计算得到所述待测芯片的平均功耗评估结果,包括:
针对每一波形文件,获取波形文件中各个功耗类型对应的功耗;
针对待测芯片的每一功耗类型,根据各所述波形文件的占比信息,以及各所述波形文件中不同功耗类型对应的功耗,计算待测芯片的各功耗类型对应的平均功耗;
根据所述待测芯片的各功耗类型对应的平均功耗计算所述待测芯片的平均功耗评估结果。
在其中一些实施例中,所述根据所述占比信息和所述平均功耗,计算得到所述待测芯片的平均功耗评估结果,包括:
根据所述占比信息对所述平均功耗进行加权计算,得到所述平均功耗评估结果。
在其中一些实施例中,所述计算得到各所述波形文件对应的平均功耗之后,所述方法还包括:
在读取到新增波形文件的情况下,计算得到所述新增波形文件对应的新增功耗计算结果,并根据所述新增功耗计算结果和所述平均功耗得到新的中间计算结果;
获取所述新增波形文件和各所述波形文件分别对应的占比信息;
根据所述占比信息和所述新的中间计算结果,计算得到所述平均功耗评估结果。
在其中一些实施例中,所述获取各所述波形文件的占比信息,包括:
获取各所述波形文件的初始占比信息;
在检测到所述波形文件中存在删减波形文件的情况下,将所述删减波形文件对应的占比信息更新为零,并根据所述删减波形文件的占比信息,以及其他波形文件的初始占比信息得到对应的占比信息;其中,所述其他波形文件是指所述波形文件中除所述删减波形文件之外的文件。
第二方面,本申请实施例提供了一种芯片功耗评估装置,所述装置包括中间计算模块、占比模块和评估模块;
所述中间计算模块,用于获取待测芯片的至少两个波形文件,并计算得到各所述波形文件对应的平均功耗;
所述占比模块,用于获取各所述波形文件的占比信息;
所述评估模块,用于根据各所述波形文件对应的占比信息和各所述波形文件对应的平均功耗,计算得到所述待测芯片的平均功耗评估结果。
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的芯片功耗评估方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的芯片功耗评估方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的芯片功耗评估方法的步骤。
相比于相关技术,本申请实施例提供的芯片功耗评估方法、装置、电子装置和存储介质,通过获取待测芯片的至少两个波形文件,并计算得到各该波形文件对应的平均功耗;获取各该波形文件的占比信息;根据该各波形文件对应的占比信息和该各波形文件对应的平均功耗,计算得到该待测芯片的平均功耗评估结果,使得在波形文件所占百分比发生调整时无需再重新开始计算芯片平均功耗,从而有效节省了芯片平均功耗的计算耗时,解决了芯片功耗评估的效率低的问题,实现了高效、精确的芯片平均功耗评估方法。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种芯片功耗评估方法的应用环境图;
图2是根据本申请实施例的一种芯片功耗评估方法的流程图;
图3是根据本申请实施例的一种与非门电路的示意图;
图4是根据本申请优选实施例的一种芯片功耗评估方法的流程图;
图5是根据本申请实施例的一种芯片功耗评估装置的结构框图;
图6是根据本申请实施例的一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请实施例提供的芯片功耗评估方法,可以应用于如图1所示的应用环境中。其中,终端设备12通过网络与服务器14进行通信。终端设备12用于获取用户操作,服务器14响应用户操作获取待测芯片至少两个波形文件,并计算得到各波形文件对应的平均功耗;服务器14获取各波形文件的占比信息,根据该占比信息和该各波形文件对应的平均功耗,计算得到待测芯片的平均功耗评估结果。其中,该终端设备12可以但不限于是各种个人计算机、笔记本电脑和平板电脑;该服务器14可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例提供了一种芯片功耗评估方法,图2是根据本申请实施例的一种芯片功耗评估方法的流程图,如图2所示,该流程包括如下步骤:
步骤S210,获取待测芯片的至少两个波形文件,并计算得到各该波形文件对应的平均功耗。
其中,上述待测芯片是指集成电路设计中任意阶段的芯片,例如可能是寄存器传输设计语言(Register Transfer Language,简称为RTL)阶段或物理实现前等阶段的尚未设计完整的芯片,但是已经具有一定的芯片结构数据的芯片,或者也可以是已完成完整设计的芯片;即,可以在集成电路任意设计阶段对当前的芯片设计进行功耗评估分析。
上述波形文件是指在不同应用场景下按照相应的指定任务对待测芯片进行仿真时生成的仿真波形文件;波形文件与应用场景对应,在一些实施例中,应用场景也称为待测芯片的工作模式,计算波形文件对应的平均功耗即根据波形文件获取执行波形文件对应的任务的功耗。由于应用场景不同,每个应用场景下要完成多个任务,每个任务对应一个仿真生成的波形文件,由于不同应用场景下多个任务的占比不同,因此,各波形文件占该应用场景下所有波形文件的百分比均会有所不同;获取待测芯片的至少两个波形文件即获取待测芯片在当前应用场景下的至少两个任务对应的波形文件。以某个机顶盒系统级芯片(System on Chip,简称为SOC)为例,不同的用户应用场景下SOC芯片各功能对应的任务所占的比重不同,比如针对某个市场用H256解码模式、MPEG2解码模式和MPEG4解码模式作为当前应用场景的任务,则该当前应用场景下针对上述解码模式相应仿真生成的波形文件有H256解码波形文件、MPEG2解码波形文件和MPEG4解码波形文件;或者,针对另一应用场景所需支持的解码模式更换为了H264解码模式和MVC解码模式作为当前应用场景的任务,则该当前应用场景下所对应的波形文件有H264解码波形文件和MVC解码波形文件。
计算各波形文件对应的平均功耗是指计算待测芯片完成波形文件对应的任务所需的平均功耗,比如获取仿真待测芯片在完成H256解码模式、MPEG2解码模式、MPEG4解码模式、H264解码模式、MVC解码模式这些任务时对应的波形文件,波形文件中记录有待测芯片完成任务时的动作以及仿真波形等信息,根据波形文件可以计算波形文件对应的平均功耗,即待测芯片完成波形对应的任务所需的平均功耗。
优选地,上述波形文件为开关行为内部交换格式(Switching activityinterchange format,简称为SAIF)文件。进一步地,上述计算得到的各波形文件对应的平均功耗可以作为中间数据存储在内部数据文件中,便于保存及后续修改该应用场景下的波形文件后,能够快速获取或更新平均功耗;其中,各波形文件对应的功耗是指基于每个波形文件分别进行功耗计算得到的平均功耗。在本实施例中,根据各波形文件中的翻转率和静态概率等数据计算元器件功耗的过程可以并行进行,从而能够有效提高平均功耗的效率。
步骤S220,获取各该波形文件的占比信息。
其中,获取各该波形文件的占比信息是指获取各该波形文件对应的任务在当前应用场景中的占比信息。在一些实施例中,在一应用场景下的多个任务的占比不同,在另一些实施例中,不同应用场景下的多个任务不同,或者不同应用场景下的多个任务可能相同,但是多个任务的占比不同,因此,当前应用场景下的多个任务占比不同,各波形文件占该应用场景下所有波形文件的百分比均会有所不同。则上述占比信息是指在相同应用场景下各波形文件占该应用场景对应的总波形文件的百分比,且各波形文件的占比信息可以由用户基于应用场景在终端进行设置和实时调整。以上述一SOC芯片为例,在某应用场景下要完成H256解码、MPEG2解码、boot模式、2D加速引擎、1.5GHz CPU 模式、MPEG L1/L2音频解码、3DES高安算法等任务,对应仿真的波形文件有H256解码波形文件,其占比为15%,MPEG2解码波形文件,其占比为10%,某种boot模式下仿真的波形文件,其占比为10%,2D加速引擎仿真的波形文件,其占比为20%,1.5GHz CPU主频下仿真的波形文件,其占比为25%,MPEG L1/L2音频解码模式波形文件,其占比为10%,3DES高安算法下仿真的波形文件,其占比为10%。在当前应用场景下一SOC芯片仍要H256解码、MPEG2解码、boot模式、2D加速引擎、1.5GHz CPU模式、MPEG L1/L2音频解码、3DES高安算法等任务,但是上述各波形文件所占百分比可能会发生调整;例如,上述各波形文件中的H256解码波形文件占比由15%调整为当前的10%,MPEG2波形文件占比由10%调整为20%,且2D加速引擎仿真的波形文件占比由20%调整为15%,其余波形文件所占占比仍然保持不变。在一些其他应用场景中,一SOC芯片则需要完成MPEG2解码、boot模式、2D加速引擎、3DES高安算法等任务,对应仿真的波形文件。例如MPEG2解码波形文件占比30%,某种boot模式下仿真的波形文件,其占比为20%,2D加速引擎仿真的波形文件,其占比为20%,3DES高安算法下仿真的波形文件,其占比为30%。则在计算待测芯片最终的平均功耗评估结果时,需要实时检测最新的波形文件的占比信息。
步骤S230,根据各波形文件对应的占比信息和各波形文件对应的平均功耗,计算得到该待测芯片的平均功耗评估结果。
在本实施例中,通过上述步骤,获取到各波形文件最新的占比信息,并根据各波形文件在对应工作场景中所占的百分比将各波形文件对应的功耗合并成该应用场景的平均功耗,最终计算得到上述平均功耗评估结果。而通过上述实施例可以精确、快速衡量某应用场景下芯片的平均功耗,以便后续根据该应用场景提供最佳的供电散热封装及PCB设计等相关方案。
需要补充说明的是,由于SOC芯片规模很大,相关技术中,在当前应用场景下将多个任务合并后进行一次仿真,将该次仿真的信号波形记录下来并保存为一份对应的波形文件,会使得该波形文件的占用空间非常巨大,例如针对一个10万门级的小电路进行一次45ms的仿真生成的波形文件就大于1G,同样仿真netlist级电路的波形文件将大于100G,而且这种仿真花费的仿真时间也非常长,由于波形文件太大也不利于保存以及后续针对该波形文件的读取。在另一些相关技术中,根据波形文件计算芯片的平均功耗的流程通常包括如下步骤:在读入待测芯片的RTL代码或芯片网表文件等设计文件后,对当前应用场景下将多个任务分别进行仿真,生成多个波形文件,并合并多个波形文件得到合并后的新的波形文件,再根据新的波形文件计算得到待测芯片的平均功耗。然而,在上述功耗评估方式中,当在相同应用场景下各波形文件所占百分比进行调整时,需要重新执行上述流程合并多个波形文件生成新的波形文件并开始计算芯片平均功耗,即重新读取设计文件及各种相关文件,重新读入所有波形文件并设置每个波形文件的占比率,然后再合并成一个全新的波形文件并计算设计芯片的平均功耗,从而导致耗时非常长,使得芯片功耗评估的效率低下。
而本申请实施例通过上述步骤S210至步骤S230,待测芯片对每个任务进行仿真,并生成每个仿真的对应的波形文件,在计算得到各波形文件对应的平均功耗之后,在具体应用场景中确定该应用场景的任务对应的波形文件所占的比例,再根据波形文件的占比信息对波形文件的平均功耗进行合并处理,最终得到上述待测芯片的平均功耗评估结果,使得在波形文件所占百分比发生调整时无需再重新开始计算芯片平均功耗,从而减少仿真时间以及波形文件的占用空间,有效节省了芯片平均功耗的计算耗时,解决了芯片功耗评估的效率低的问题,实现了高效、精确的芯片平均功耗评估方法。
在其中一些实施例中,上述获取待测芯片的至少两个波形文件,并计算得到各该波形文件对应的平均功耗;获取各该波形文件的占比信息,包括如下步骤:获取待测芯片的应用场景,确定该应用场景对应的至少两个任务;获取该应用场景对应的至少两个任务的波形文件,并根据该波形文件计算各个任务对应的平均功耗,得到各该波形文件对应的平均功耗;获取各该波形文件对应的任务在该应用场景中的占比信息作为各该波形文件的占比信息。
其中,上述应用场景可以由工作人员根据实际情况下预先进行配置;在不同的应用场景下,所需完成的任务也有所不同,即,可以根据该应用场景确定该场景下要完成的多个任务,每个任务对应一个仿真生成的波形文件,进而根据各波形文件计算得到每个任务对应的平均功耗。进一步地,各波形文件的占比信息,即为该波形文件对应的任务在该应用场景下的占比信息,则在后续步骤中可以基于该计算得到的各波形文件对应的占比信息和各波形文件对应的平均功耗,获取得到上述待测芯片的平均功耗评估结果。
在其中一些实施例中,上述计算得到各该波形文件对应的平均功耗之后,上述芯片功耗评估方法还包括如下步骤:
步骤S241,在读取到新增波形文件的情况下,计算得到该新增波形文件对应的新增功耗计算结果,并根据该新增功耗计算结果和该平均功耗得到新的中间计算结果。
步骤S242,获取该新增波形文件和各该波形文件分别对应的占比信息。
步骤S243,根据该占比信息和该新的中间计算结果,计算得到该平均功耗评估结果。
需要说明的是,在通过上述步骤S210计算得到各原波形文件的平均功耗,并将各平均功耗作为中间计算结果保存至内部数据文件之后,当在原波形文件的基础上需要增加新的波形文件时,无需再重复计算原波形文件对应的平均功耗,只需计算新增波形文件对应的平均功耗即可,并基于新增波形文件对应的新增功耗计算结果对上述内部数据文件中的中间计算结果进行更新,即将新增功耗计算结果和在前述步骤中以及计算得到的原波形文件的平均功耗作为新的中间计算结果。具体地,在原先计算基础上增加波形文件并修改原先波形文件的百分比,以计算得到芯片平均功耗的流程包括如下步骤:读取原先保存的平均功耗,读入新增加的波形文件并设置其所占百分比;计算新增加的波形文件对应的功耗,并和之前计算的平均功耗一起重新保存为新的中间计算结果,最终根据各波形文件所占的占比信息和新的中间计算结果计算得到待测芯片在该应用场景下的平均功耗。
通过上述步骤S241至步骤S243,在读取到新增波形文件的情况下,只需要计算新增波形文件对应的新增功耗计算结果,而无需再重新计算所有波形文件的平均功耗,从而有效节省了新增波形文件时的芯片功耗评估时长,提高了芯片功耗评估的效率。
在其中一些实施例中,上述获取各该波形文件的占比信息,包括如下步骤:
步骤S221,获取各该波形文件的初始占比信息。
步骤S222,在检测到该波形文件中存在删减波形文件的情况下,将该删减波形文件对应的占比信息更新为零,并根据该删减波形文件的占比信息,以及其他波形文件的初始占比信息得到对应的占比信息;其中,该其他波形文件是指该波形文件中除该删减波形文件之外的文件。
具体地,在原先计算基础上减少波形文件并修改其余波形文件所占百分比以计算得到芯片平均功耗的流程包括如下步骤:读取原先保存的平均功耗,将要减掉的波形文件的百分比改为0,按应用场景修改各波形文件所占百分比;根据各波形文件所占的占比信息和上述平均功耗计算得到待测芯片在该应用场景下的平均功耗。需要补充说明的是,上述新增波形文件的情况,以及删减某些波形文件的情况可以同时存在;例如,当前存在波形文件1和波形文件2,在计算得到作为中间数据的波形文件1和波形文件2分别对应的平均功耗之后,在芯片功耗评估时需要新增波形文件3,同时减少波形文件2,则此时可以针对新增波形文件3计算其对应的功耗计算结果,并将波形文件2的占比信息为更新为零,最终根据波形文件1至波形文件3各自对应的占比信息、中间计算结果,计算得到待测芯片的平均功耗评估结果。
通过上述步骤S221至步骤S222,在减少波形文件的情况下,将待删减波形文件的占比信息更新为0,并根据更新的占比信息以及已保存的平均功耗计算芯片平均功耗,从而无需再次计算剩余波形文件的功耗,进一步提高了芯片功耗评估效率。
在其中一些实施例中,上述获取各该波形文件的占比信息,包括如下步骤:获取各该波形文件的初始占比信息;获取针对该初始占比信息的占比调整信息,并根据该占比调整信息得到各该波形文件的占比信息。具体地,修改各波形文件所占百分比以计算得到芯片平均功耗的流程包括如下步骤:读取原先保存的平均功耗,修改各波形文件所占百分比;根据各波形文件所占的占比信息和上述平均功耗计算得到待测芯片在该应用场景下的平均功耗。通过上述实施例,当波形文件占比信息调整时无需重复功耗计算过程,从而避免了同一个波形文件在多次分析中需要多次计算的问题。
在其中一些实施例中,上述计算得到各该波形文件对应的平均功耗,包括如下步骤:
步骤S211,针对每一波形文件,获取针对该待测芯片的至少一个功耗类型对应的功耗计算信息。
其中,上述功耗类型包括静态功耗和动态功耗,该静态功耗可以包括例如固有漏功耗(intrinsic leakage power)和栅漏功耗(gate leakage power),其中固有漏功耗主要是由源极和漏极之间的漏电流引起的,也包括扩散区和基底之间的电流泄露;固有漏功耗依赖于工艺以及温度,与电压无关。栅漏功耗是由源极和栅极之间、栅极和漏极之间的漏电流引起的,随着工艺尺寸的减少,栅漏功耗已经成为主要的漏电流功耗来源;栅漏功耗主要依据库文件提供的元器件单元的各引脚处于什么状态时的漏功耗以及各引脚处于该状态的比例来计算。动态功耗可以包括内部功耗(internal power)和开关功耗(switchpower)。其中,内部功耗是指在单元内部的动态功耗,包含单元内部的电容充放电、PN节之间的瞬时短路等形成的功耗;这部分功耗主要依赖于库文件里单元各引脚翻转消耗的内部功耗以及该引脚的翻转概率。开关功耗是由一个单元的输出端负载电容的充放电导致的功耗,总的负载电容是输出端驱动(driving output)节点和负载输入端电容的累加。
上述功耗计算信息至少包括设计数据、库文件以及计算功耗需要的其余数据。该设计数据用于描述上述待测芯片的电路结构,主要用于理解该芯片需要用哪些基本逻辑电路单元(例如组合逻辑单元、时序逻辑单元或记忆单元等)来实现其预期功能及各基本单元之间的连接关系;该设计数据包括RTL代码、网表文件形式或设计交换格式(DesignExchange Format,简称为DEF)的设计数据。该库文件是指待测芯片的标准单元库文件,包括各标准单元的时序、功耗、寄生电容等信息。具体地,以一个基本的而输入与非门为例,图3是根据本申请实施例的一种与非门电路的示意图,如图3所示,该与非门电路由两个输入端口A1、A2,以及一个输出端口ZN构成,该电路的接地电压为1 V,其中ZN通过20 fF的电容接地。则在与该与非门电路对应的库文件中,对该与非门单元的漏功耗和内部功耗的计算信息描述如下所示:
leakage_power(){
value: 42.2;
}
leakage_power(){
value: 26.1;
when: “!A1 !A2”;
}
leakage_power(){
value: 33.0;
when: “!A1 A2”;
}
leakage_power(){
value: 27.0;
when: “A1 !A2”;
}
leakage_power(){
value: 82.7;
when: “A1 A2”;
}
pin(A1){
direction: input;
internal_power(){
when:“!A2&ZN”;/Transition at A1 does not cause an output transition/>/
rise_power(scalar){
values(“0.004”);}
fall_power(scalar){
values(“0.006”);}
}
}
pin(A2){
direction: input;
internal_power(){
when:“!A1&ZN”;/Transition at A2 does not cause an output transition/>/
rise_power(scalar){
values(“0.006”);}
fall_power(scalar){
values(“0.008”);}
}
}
pin(ZN){
direction: output;
internal_power(){/A1 cause output transition/>/
related_pin: “A1”;
rise_power(scalar){
values(“0.043”);}
fall_power(scalar){
values(“0.016”);}
}
internal_power(){/A2 cause output transition/>/
related_pin: “A2”;
rise_power(scalar){
values(“0.036”);}
fall_power(scalar){
values(“0.021”);}
}
}
此外,上述功耗计算信息还可以包括计算功耗需要的其余数据,例如用于描述时序信息的SDC设计约束、用于在未插入时钟树前估算时钟树功耗的时钟树模型、用于估算互连线产生的负载的wire-load模型、用于完成布局布线后提取互连线负载值的标准寄生交换格式(Standard Parasitic Extraction Format,spef)等相关信息;这些信息主要用于提取计算功耗需要的电压、电容、时钟、端口上翻/下翻时序信息(pin rise/fall slew)、基本门电路的漏功耗信息(cellleakage power)、基本门电路翻转时的内部功耗信息(cellinternal power)等相关信息。进一步地,针对上述不同功耗类型,可以确定波形文件中的与各功耗类型相对应的功耗计算信息。
步骤S212,根据该至少一个功耗类型对应的功耗计算条件以及功耗计算信息计算功耗类型对应的功耗。
每一功耗类型有其对应的功耗计算条件,用于计算该功耗类型的功耗,获取功耗计算条件中所需的信息即可计算得到功耗类型对应的功耗。在一实施例中,获取该功耗类型对应的功耗计算信息即从波形文件中获取该功耗类型的约束条件所需的信息。
进一步地,上述根据该至少一个功耗类型对应的功耗计算条件以及功耗计算信息计算功耗类型对应的功耗还包括如下步骤:对每个该波形文件分别进行解析得到对应的动态数据、静态数据;利用该动态功耗类型对应的功耗计算条件,根据该动态功耗类型对应的功耗计算信息和该动态数据计算得到动态功耗;利用该静态功耗类型对应的功耗计算条件,根据该静态功耗类型对应的功耗计算信息和该静态数据得到静态功耗。其中,该动态数据是指波形文件中,用于描述各元器件的仿真波形的翻转率或翻转次数等动态状态的数据;该静态数据是指波形文件中,用于描述各元器件仿真波形的静态概率等静态状态的数据。
在一实施例中,各元器件的漏功耗的功耗计算条件如下述公式1所示:
公式1
上述公式中,lib_when_condition_leakage用于表示库文件中单元描述里的条件漏功耗,when_condition_static_probabilities用于表示对应条件出现的静态概率;其中,该静态概率属于针对上述各波形文件进行分析得到的对应的静态数据,即基于静态数据可以计算得到相应的波形文件的漏功耗。则在计算上述静态功耗类型对应的静态功耗时,可以利用基于公式1确定的相应的功耗计算条件,代入解析波形文件得到的静态概率,以及静态功耗类型对应的条件漏功耗等功耗计算信息,进而可以计算得到元器件单元漏功耗cell leakage power。
在一实施例中,各元器件的内部功耗计算条件可以如下述公式2所示:
公式2
上述公式中,Pin internal energy为库文件里单元端口描述的内部能量,pintoggle rate为该单元端口的翻转率;其中,该单元端口翻转率属于针对上述波形文件进行分析得到的对应的动态数据。类似地,在计算上述动态功耗类型对应的动态功耗时,利用基于上述公式2确定的功耗计算条件,代入解析波形文件得到的动态数据,以及动态功耗类型对应的端口内部能量值等功耗计算信息,计算得到内部功耗值Internal power。
在一实施例中,各元器件的开关功耗计算条件可以如下述公式3所示:
公式3
上述公式中,C为电容,V为供电电压;净触发率net_toggle_属于针对上述波形文件进行分析的到的对应的动态数据。因此利用上述公式3表征的功耗计算条件,通过功耗计算信息中提取的电压、电容等信息,以及单元端口翻转率、净触发率等动态数据可以计算得到上述动态功耗中的开关功耗值。
具体地,请参阅图3,以图3所示的二输入与非门单元的功耗计算为例,从上述与非门对应的库文件代码示例可知该与非门单元的用于计算功耗所需的数据,例如,输入pinA1的节点逻辑信号为1的概率,即静态概率SP(static probability)=0.6,翻转率TR(togglerate)=5 million transitions/sec;pinA2的SP(static probability)=0.55,TR(togglerate)=6 milliontransitions/sec;输出pin ZN的SP(staticprobability)=0.67,TR(toggle rate)=7.7 million transitions/sec。
则利用上述公式1所示的漏功耗的功耗计算条件,可以得到该与非门单元的漏功耗的计算结果,如下述公式4所示:
公式4
上述公式中,26.1是!A1!A2时的Leakage power,SP(!A1!A2)是当前场景中!A1!A2的静态概率,33.0是!A1A2时的Leakage power,SP(!A1A2)是!A1A2的静态概率,27是A1!A2时的Leakage power,SP(A1!A2)是A1!A2的静态概率,82.7是A1A2时的Leakage power,SP(A1A2)是A1A2的静态概率;其中,!用于表示非逻辑符号。则根据上述波形文件中包括的各静态概率的静态数据,利用上述公式4可以计算得到对应的漏功耗,即上述静态功耗。另外,利用公式2、公式3得到的波形文件对应的开关功耗Switch power和内部功耗,即动态功耗的计算公式如下述公式所示:
公式5/>
公式6
公式7
公式8
公式9
公式10
上述公式中,Total internal power用于表示总的内部功耗;Pin A1翻转且输出不翻转的internal power是指在上述与非门单元中,输入端引脚A1有翻转动作,而输出端不进行翻转的这一情况下,计算得到的相应的内部功耗值。则通过上述公式,针对图3所示的与非门电路结构进行功耗计算,可以计算得到其漏功耗、内部功耗和开关功耗,即计算得到了各功耗类型对应的功耗。需要补充说明的是,本实施例中,在通过上述公式计算得到各功耗类型对应的功耗之后,可以直接将各功耗类型对应的功耗单独存储并作为上述平均功耗;或者,也可以继续计算各功耗类型的功耗和,将功耗和作为上述平均功耗。
步骤S213,根据该至少一个功耗类型对应的功耗计算该波形文件对应的平均功耗。
进一步地,上述根据该至少一个功耗类型对应的功耗得到该波形文件对应的平均功耗,还包括如下步骤:根据该静态功耗和该动态功耗得到该波形文件对应的该平均功耗计算得到。示例性地,通过上述公式1至3,针对每个波形文件进行计算得到静态功耗、动态功耗,并通过该波形文件的静态功耗、动态功耗之和计算得到其对应的平均功耗,即该平均功耗结果为实现芯片功能的所有基本单元的平均功耗的总和。
在另一实施例中,还可以同时获取每个该波形文件的该动态数据、该静态数据,以并行计算得到每个该波形文件对应的该动态功耗和该静态功耗,进而根据每个波形文件对应的动态功耗和静态功耗计算得到每个波形文件的平均功耗。其中,相关技术是把多个记录动态数据TR(翻转率toggle rate) 和静态数据SP(静态概率static probability)的波形文件合并成一个波形文件后再根据这个合并后的波形文件中的动态数据TR和静态数据SP计算设计芯片的平均功耗;而本实施例是根据各波形文件记录的动态数据TR和静态数据SP计算各波形文件对应的设计功耗,再根据各波形文件在应用中所占比例计算该应用场景下的平均功耗。这样做后计算量会比只计算一份合并后SAIF文件的计算量大的多,但由于power计算可以拆分成两部分,一个部分为根据库lib文件得到各单元的leakage、internalpower信息和load capacitance信息(负载电容,用这个值lib里查表,确定internalpower),其中,库lib文件里是在某种情况下的internal power;另一部分是将这些信息与来自于波形文件的TR、SP信息结合得到芯片里各单元的功耗,所以只有TR、SP与库文件信息结合的过程需要根据波形文件的个数重复计算相应次数,而且这个根据各SAIF文件中SP/TR计算单元功耗cell power的过程可以并行进行,从而使得本实施例花费的计算时间能够得到有效提高。
通过上述步骤S211至步骤S213,通过各功耗类型的功耗计算条件,结合功耗计算信息计算得到不同功耗类型对应的功耗值,从而使得对待测芯片的平均功耗评估可以包括针对于多种功耗类型的评估,有效扩展了待测芯片平均功耗评估的应用范围。
在其中一些实施例中,上述根据该各波形文件对应的占比信息和该平均功耗,计算得到该待测芯片的平均功耗评估结果,还包括如下步骤:
针对每一波形文件,获取波形文件中各个功耗类型对应的功耗;针对待测芯片的每一功耗类型,根据该各波形文件的占比信息,以及该各波形文件中不同功耗类型的功耗,计算待测芯片的各功耗类型对应的平均功耗;根据该待测芯片的各功耗类型对应的平均功耗计算该待测芯片的平均功耗评估结果。
其中,上述各功耗类型对应的功耗可以通过上述步骤S211至步骤S212计算得到。则上述根据各功耗类型对应的功耗计算得到波形文件的平均功耗评估结果的计算方式可以为:在通过上述步骤计算得到各波形文件的至少一个功耗类型对应的功耗值之后,可以将每个波形文件的一个或多个类型的功耗值作为内部数据分开进行存储,例如将各波形文件的各功耗值以文件的形式保存,同时各文件中还可以保存各功耗类型对应的功耗计算信息等,且存储在本地或服务器中,以便后续步骤计算平均功耗评估结果时可以快速调取相应的功耗值等中间数据并进行计算评估,即,此时各波形文件对应的平均功耗包括各单元的不同功耗类型的功耗值。接下来,合并所有波形文件的功耗;在合并波形文件过程中,针对待测芯片的每一功耗类型,按照占比信息,代入平均功耗分别加权计算,得到不同功耗类型的功耗值,即加权合并各波形文件得到待测芯片的该功耗类型对应的平均功耗。进一步地,根据该占比信息对该平均功耗进行加权计算,得到该平均功耗评估结果。以功耗类型包括漏功耗、内部功耗和开关功耗为例,各功耗类型对应的平均功耗的计算公式如下述公式11至公式13所示:
公式11
公式12
公式13
上述公式中,saificelljleakage功耗用于表示第i个SAIF波形文件中第j个单元的漏功耗,celljleakage功耗用于表示对各波形文件的漏功耗加权计算后得到的待测芯片的第j个单元的漏功耗;saificelljinternal功耗用于表示第i个SAIF波形文件中第j个单元的内部功耗,celljinternal功耗用于表示对各波形文件的内部功耗加权计算后得到的待测芯片的第j个单元的内部功耗;saificelljswitching功耗用于表示第i个SAIF波形文件中第j个单元的开关功耗,celljswitching功耗用于表示对各波形文件的开关功耗加权计算后得到的待测芯片的第j个单元的开关功耗。然后计算加权后的各类型的功耗之和,得到当前单元的平均功耗值;其计算过程可以如下述公式14所示:
公式14
接下来,计算所有单元的平均功耗值之和,得到上述待测芯片的总的平均功耗评估结果,如下述公式15所示:
公式15
在另一实施例中,上述根据各功耗类型对应的功耗计算得到波形文件的平均功耗平均结果的计算方式也可以采用如下步骤:计算当前的波形文件中各单元的不同功耗类型的功耗之和,进而得到当前波形文件对应的平均功耗,即,此时各波形文件对应的平均功耗包括各单元的功耗值之和;然后合并所有波形文件的功耗,在合并波形文件时按照占比信息,代入平均功耗中各功耗类型的功耗之和加权计算得到当前单元的平均功耗值,则该计算方式中,针对当前单元的计算过程可以如下述公式16所示:
公式16
最终计算通过上述公式16得到的所有单元的平均功耗值之和,得到上述平均功耗评估结果。
在其中一些实施例中,上述根据该占比信息和该平均功耗,计算得到该待测芯片的目标功耗评估结果,包括如下步骤:根据该占比信息对该平均功耗进行加权计算,得到该平均功耗评估结果。
具体地,通过上述步骤合并平均功耗,即根据各波形文件在对应工作场景中所占的百分比将各波形文件对应的功耗合并成该应用场景的平均功耗;进一步地,在针对上述各波形文件分别计算其不同类型的功耗结果时,可以基于功耗类型对各波形文件的平均功耗进行合并,即针对相同的功耗类型,按照上述占比信息对各波形文件的该功耗类型的平均功耗进行加权计算,其加权计算过程可以如上述公式11至公式15所示。进一步地,在计算得到上述平均功耗评估结果之后,输出设计芯片平均功耗;该平均功耗包括本设计芯片的漏功耗、内部功耗和开关功耗,此外还包容设计芯片中每个子模块的漏功耗、内部功耗、开关功耗,该子模块在总平均功耗中所占百分比,以及每个子模块中每个元器件单元的漏功耗、内部功耗、开关功耗,以便于用户掌握该应用场景下设计芯片平均功耗的整体情况,对后续的功耗优化或方案调整起到很好的参考作用。
下面通过优选实施例对本申请实施例进行描述和说明。图4是根据本申请优选实施例的一种芯片功耗评估方法的流程图,该流程包括如下步骤:
步骤S401,获取输入数据;其中,输入的数据包括设计数据、计算功耗需要的其余信息,以及该应用场景对应的所有SAIF文件及各SAIF文件所占百分比,包括占比a1%的SAIF1文件、占比a2%的SAIF 2文件、……、占比an%的SAIF n文件、占比(100%-a1%-……-an%)的SAIF n+1文件,n正整数。
步骤S402,功耗计算模块基于上述输入数据计算得到每个SAIF文件的平均功耗,包括SAIF 1 power、SAIF 2 power、……SAIF n power、SAIF n+1 power;该平均功耗为实现相应芯片功能的所有基本单元的平均功耗的总和。
步骤S403,将当前应用场景下各SAIF文件对应的平均功耗作为中间数据,存储至内部数据库文件中。
步骤S404,合并功耗模块根据各SAIF文件的占比信息对上述平均功耗进行加权计算,得到待测芯片的平均功耗评估结果。
通过上述实施例,通过先计算各SAIF文件对应的平均功耗再合并成芯片平均功耗的方法,方便随时修改各SAIF在应用场景中所占的比例,快速得到修改后的芯片平均功耗。为了减少计算多个SAIF文件对应的功耗而导致的整体运行时间增加的问题,本申请在计算功耗的过程中把计算功耗的步骤细化成两部分,从而把计算中可以公用的部分提取出来减少重复计算量,而且使多个SAIF对应的平均功耗计算过程可以多个SAIF同时计算以加快计算过程,同时把本次计算的中间数据(本次计算的输入数据,各SAIF文件对应的功耗结果等)以内部数据形式进行保存,从而避免了同一个SAIF文件在多次分析中需要多次计算的问题,大大减少了修改应用场景后重新计算芯片平均功耗的工作量,便于用户快速评估芯片不同应用场景下的平均功耗,模拟各方案变动对芯片平均功耗产生的影响,加快芯片设计周期,提高方案成功率。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种芯片功耗评估装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的一种芯片功耗评估装置的结构框图,如图5所示,该装置包括:中间计算模块52、占比模块54和评估模块56;该中间计算模块52,用于获取待测芯片的至少两个波形文件,并计算得到各该波形文件对应的平均功耗;该占比模块54,用于获取各该波形文件的占比信息;该评估模块56,用于根据该占比信息和该平均功耗,计算得到该待测芯片的目标功耗评估结果。
通过上述实施例,中间计算模块52计算得到各波形文件对应的平均功耗之后,再由评估模块56根据波形文件的占比信息对平均功耗进行合并处理,最终得到上述目标功耗评估结果,使得在波形文件所占百分比发生调整时无需再重新开始计算芯片平均功耗,从而有效节省了芯片平均功耗的计算耗时,解决了芯片功耗评估的效率低的问题,实现了高效、精确的芯片平均功耗评估装置。
在其中一些实施例中,上述中间计算模块52还用于在读取到新增波形文件的情况下,计算得到该新增波形文件对应的新增功耗计算结果,并根据该新增功耗计算结果和该平均功耗得到新的中间计算结果;上述占比模块54获取该新增波形文件和各该波形文件分别对应的占比信息;上述评估模块56根据该占比信息和该新的中间计算结果,计算得到该目标功耗评估结果。
在其中一些实施例中,上述占比模块54还用于获取各该波形文件的初始占比信息;该占比模块54在检测到该波形文件中存在删减波形文件的情况下,将该删减波形文件对应的占比信息更新为零,并根据该删减波形文件的占比信息,以及其他波形文件的初始占比信息得到对应的占比信息;其中,该其他波形文件是指该波形文件中除该删减波形文件之外的文件。
在其中一些实施例中,上述占比模块54还用于获取各该波形文件的初始占比信息;该占比模块54获取针对该初始占比信息的占比调整信息,并根据该占比调整信息得到各该波形文件的占比信息。
在其中一些实施例中,上述中间计算模块52还用于获取该波形文件中的至少一个功耗类型对应的功耗计算信息;该中间计算模块52根据该至少一个功耗类型对应的功耗计算条件以及功耗计算信息计算该功耗类型对应的功耗;该中间计算模块52根据该至少一个功耗类型对应的功耗得到该波形文件对应的平均功耗。
在其中一些实施例中,上述中间计算模块52还用于对每个该波形文件分别进行解析得到对应的动态数据、静态数据;该中间计算模块52利用该动态功耗类型对应的功耗计算条件,根据该动态功耗类型对应的功耗计算信息和该动态数据计算得到动态功耗;利用该静态功耗类型对应的功耗计算条件,根据该动态功耗类型对应的功耗计算信息和该静态数据得到静态功耗;该中间计算模块52根据该静态功耗和该动态功耗得到该波形文件对应的该平均功耗。
在其中一些实施例中,上述静态功耗类型包括固有漏功耗和栅漏功耗;和/或,上述动态功耗类型包括内部功耗和开关功耗。
在其中一些实施例中,上述评估模块56还用于针对每一波形文件,获取波形文件中各个功耗类型对应的功耗;该评估模块56针对待测芯片的每一功耗类型,根据该各波形文件的占比信息,以及该各波形文件中不同功耗类型的功耗,计算待测芯片的各功耗类型对应的平均功耗;该评估模块56根据该待测芯片的各功耗类型对应的平均功耗计算该待测芯片的平均功耗评估结果。
在其中一些实施例中,上述评估模块56还用于根据该占比信息对该平均功耗进行加权计算,得到该平均功耗评估结果。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在其中一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器设备,图6是根据本申请实施例的一种计算机设备内部的结构图,如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储平均功耗。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种芯片功耗评估方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施例还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述计算机设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取待测芯片的至少两个波形文件,并计算得到各该波形文件对应的平均功耗。
S2,获取各该波形文件的占比信息。
S3,根据该各波形文件对应的占比信息和该各波形文件对应的平均功耗,获得该待测芯片的目标功耗评估结果。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的芯片功耗评估方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种芯片功耗评估方法。
本实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述实施例中的任意一种芯片功耗评估方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种芯片功耗评估方法,其特征在于,所述方法包括:
获取待测芯片的至少两个波形文件,并计算得到各所述波形文件对应的平均功耗;每个任务对应一个所述波形文件;所述平均功耗为所有基本单元的平均功耗的总和;
获取各所述波形文件的占比信息;
根据各所述波形文件对应的占比信息和各所述波形文件对应的平均功耗,获得所述待测芯片的平均功耗评估结果。
2.根据权利要求1所述的芯片功耗评估方法,其特征在于,所述获取待测芯片的至少两个波形文件,并计算得到各所述波形文件对应的平均功耗;获取各所述波形文件的占比信息,包括:
获取待测芯片的应用场景,确定所述应用场景对应的至少两个任务;
获取所述应用场景对应的至少两个任务的波形文件,并根据所述波形文件计算各个任务对应的平均功耗,得到各所述波形文件对应的平均功耗;
获取各所述波形文件对应的任务在所述应用场景中的占比信息作为各所述波形文件的占比信息。
3.根据权利要求1所述的芯片功耗评估方法,其特征在于,所述计算得到各所述波形文件对应的平均功耗,包括:
获取所述波形文件中的至少一个功耗类型对应的功耗计算信息;
根据所述至少一个功耗类型对应的功耗计算条件以及功耗计算信息计算所述功耗类型对应的功耗;
根据所述至少一个功耗类型对应的功耗得到所述波形文件对应的平均功耗。
4.根据权利要求3所述的芯片功耗评估方法,其特征在于,所述功耗类型包括动态功耗类型和静态功耗类型;所述根据所述至少一个功耗类型对应的功耗计算条件以及功耗计算信息计算所述功耗类型对应的功耗;根据所述至少一个功耗类型对应的功耗得到所述波形文件对应的平均功耗,包括:
对每个所述波形文件分别进行解析得到对应的动态数据、静态数据;
利用所述动态功耗类型对应的功耗计算条件,根据所述动态功耗类型对应的功耗计算信息和所述动态数据计算得到动态功耗;利用所述静态功耗类型对应的功耗计算条件,根据所述静态功耗类型对应的功耗计算信息和所述静态数据得到静态功耗;
根据所述静态功耗和所述动态功耗得到所述波形文件对应的所述平均功耗。
5.根据权利要求4所述的芯片功耗评估方法,其特征在于,所述静态功耗类型包括固有漏功耗和栅漏功耗;和/或,所述动态功耗类型包括内部功耗和开关功耗。
6.根据权利要求3所述的芯片功耗评估方法,其特征在于,所述根据各所述波形文件对应的占比信息和各所述波形文件对应的平均功耗,计算得到所述待测芯片的平均功耗评估结果,包括:
针对每一波形文件,获取波形文件中各个功耗类型对应的功耗;
针对待测芯片的每一功耗类型,根据各所述波形文件的占比信息,以及各所述波形文件中不同功耗类型对应的功耗,计算待测芯片的各功耗类型对应的平均功耗;
根据所述待测芯片的各功耗类型对应的平均功耗计算所述待测芯片的平均功耗评估结果。
7.根据权利要求1所述的芯片功耗评估方法,其特征在于,所述根据所述占比信息和所述平均功耗,计算得到所述待测芯片的平均功耗评估结果,包括:
根据所述占比信息对所述平均功耗进行加权计算,得到所述平均功耗评估结果。
8.根据权利要求1至权利要求7任一项所述的芯片功耗评估方法,其特征在于,所述计算得到各所述波形文件对应的平均功耗之后,所述方法还包括:
在读取到新增波形文件的情况下,计算得到所述新增波形文件对应的新增功耗计算结果,并根据所述新增功耗计算结果和所述平均功耗得到新的中间计算结果;
获取所述新增波形文件和各所述波形文件分别对应的占比信息;
根据所述占比信息和所述新的中间计算结果,计算得到所述平均功耗评估结果。
9.根据权利要求1至7任一项所述的芯片功耗评估方法,其特征在于,所述获取各所述波形文件的占比信息,包括:
获取各所述波形文件的初始占比信息;
在检测到所述波形文件中存在删减波形文件的情况下,将所述删减波形文件对应的占比信息更新为零,并根据所述删减波形文件的占比信息,以及其他波形文件的初始占比信息得到对应的占比信息;其中,所述其他波形文件是指所述波形文件中除所述删减波形文件之外的文件。
10.一种芯片功耗评估装置,其特征在于,所述装置包括中间计算模块、占比模块和评估模块;
所述中间计算模块,用于获取待测芯片的至少两个波形文件,并计算得到各所述波形文件对应的平均功耗;每个任务对应一个所述波形文件;所述平均功耗为所有基本单元的平均功耗的总和;
所述占比模块,用于获取各所述波形文件的占比信息;
所述评估模块,用于根据各所述波形文件对应的占比信息和各所述波形文件对应的平均功耗,获得所述待测芯片的平均功耗评估结果。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至权利要求9中任一项所述的芯片功耗评估方法。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至权利要求9中任一项所述的芯片功耗评估方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311046179.XA CN116755993B (zh) | 2023-08-18 | 2023-08-18 | 芯片功耗评估方法、装置、电子装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311046179.XA CN116755993B (zh) | 2023-08-18 | 2023-08-18 | 芯片功耗评估方法、装置、电子装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116755993A CN116755993A (zh) | 2023-09-15 |
CN116755993B true CN116755993B (zh) | 2023-12-19 |
Family
ID=87950088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311046179.XA Active CN116755993B (zh) | 2023-08-18 | 2023-08-18 | 芯片功耗评估方法、装置、电子装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116755993B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117391010A (zh) * | 2023-11-01 | 2024-01-12 | 深圳市合芯数字科技有限公司 | 芯片的功耗波形文件生成方法、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975664A (zh) * | 2016-04-28 | 2016-09-28 | 福州瑞芯微电子股份有限公司 | 一种芯片功耗评估平台的评估方法 |
WO2021128169A1 (zh) * | 2019-12-26 | 2021-07-01 | 深圳市大疆创新科技有限公司 | 芯片设计方法、芯片设计设备和存储介质 |
CN113900913A (zh) * | 2021-12-10 | 2022-01-07 | 飞腾信息技术有限公司 | 确定功耗方法、装置、计算机设备及计算机可读存储介质 |
CN113935187A (zh) * | 2021-10-28 | 2022-01-14 | 上海阵量智能科技有限公司 | 一种功耗检测方法、装置、计算机设备及存储介质 |
CN114093810A (zh) * | 2021-10-19 | 2022-02-25 | 芯盟科技有限公司 | 芯片及其设计方法 |
CN115113019A (zh) * | 2022-05-20 | 2022-09-27 | 北京智芯半导体科技有限公司 | 芯片动态功耗测试系统及方法 |
US11520960B1 (en) * | 2019-09-04 | 2022-12-06 | Ansys, Inc. | Register transfer level based side channel leakage assessment |
CN116127913A (zh) * | 2023-01-17 | 2023-05-16 | 海光信息技术股份有限公司 | 用于集成电路芯片的设计的功耗分析方法及装置 |
CN116341457A (zh) * | 2023-03-29 | 2023-06-27 | 创视微电子(成都)有限公司 | 一种降低芯片设计中静态功耗的方法 |
CN116338434A (zh) * | 2023-04-06 | 2023-06-27 | 展讯半导体(成都)有限公司 | 一种平均功耗测量方法及装置 |
CN116502596A (zh) * | 2023-06-28 | 2023-07-28 | 杭州行芯科技有限公司 | 芯片功耗评估方法、功耗模型的生成方法和计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11442834B2 (en) * | 2018-08-21 | 2022-09-13 | Wiliot, LTD. | System and method for analyzing power usage of an energy-aware computing system |
-
2023
- 2023-08-18 CN CN202311046179.XA patent/CN116755993B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975664A (zh) * | 2016-04-28 | 2016-09-28 | 福州瑞芯微电子股份有限公司 | 一种芯片功耗评估平台的评估方法 |
US11520960B1 (en) * | 2019-09-04 | 2022-12-06 | Ansys, Inc. | Register transfer level based side channel leakage assessment |
WO2021128169A1 (zh) * | 2019-12-26 | 2021-07-01 | 深圳市大疆创新科技有限公司 | 芯片设计方法、芯片设计设备和存储介质 |
CN114093810A (zh) * | 2021-10-19 | 2022-02-25 | 芯盟科技有限公司 | 芯片及其设计方法 |
CN113935187A (zh) * | 2021-10-28 | 2022-01-14 | 上海阵量智能科技有限公司 | 一种功耗检测方法、装置、计算机设备及存储介质 |
CN113900913A (zh) * | 2021-12-10 | 2022-01-07 | 飞腾信息技术有限公司 | 确定功耗方法、装置、计算机设备及计算机可读存储介质 |
CN115113019A (zh) * | 2022-05-20 | 2022-09-27 | 北京智芯半导体科技有限公司 | 芯片动态功耗测试系统及方法 |
CN116127913A (zh) * | 2023-01-17 | 2023-05-16 | 海光信息技术股份有限公司 | 用于集成电路芯片的设计的功耗分析方法及装置 |
CN116341457A (zh) * | 2023-03-29 | 2023-06-27 | 创视微电子(成都)有限公司 | 一种降低芯片设计中静态功耗的方法 |
CN116338434A (zh) * | 2023-04-06 | 2023-06-27 | 展讯半导体(成都)有限公司 | 一种平均功耗测量方法及装置 |
CN116502596A (zh) * | 2023-06-28 | 2023-07-28 | 杭州行芯科技有限公司 | 芯片功耗评估方法、功耗模型的生成方法和计算机设备 |
Non-Patent Citations (3)
Title |
---|
Accurate Power and Latency Analysis of a Through-Silicon Via(TSV);Ujjwal Pasupulety 等;《2018 International Conference on Advances in Computing, Communications and Informatics (ICACCI)》;全文 * |
一种处理器体系结构级功耗评估工具设计;刘志宏 等;《舰船电子工程》(第07期);全文 * |
一种面向WIA-PA系统级芯片的低功耗优化策略;谢闯 等;《信息与控制》(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116755993A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8719742B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
CN116755993B (zh) | 芯片功耗评估方法、装置、电子装置和存储介质 | |
US8510694B2 (en) | Transaction level system power estimation method and system | |
US8713506B2 (en) | System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same | |
US6748572B2 (en) | Power supply network analyzing method, computer program for executing the method, storage medium and power supply network analyzing apparatus | |
US20090217068A1 (en) | Structure For Detecting Clock Gating Opportunities In A Pipelined Electronic Circuit Design | |
US8522183B1 (en) | Static timing analysis adjustments for aging effects | |
CN116502596B (zh) | 芯片功耗评估方法、功耗模型的生成方法和计算机设备 | |
CN113408222B (zh) | 文件生成方法、装置、电子设备及存储介质 | |
CN112149380A (zh) | 一种标准单元库的指标分析方法及装置 | |
US7475367B2 (en) | Memory power models related to access information and methods thereof | |
CN112214097B (zh) | 减少低阈值单元的实现方法、装置、设备及存储介质 | |
US8042074B2 (en) | Circuit design device, circuit design program, and circuit design method | |
US20080104552A1 (en) | Power consumption optimizing method for semiconductor integrated circuit and semiconductor designing apparatus | |
Atitallah et al. | MPSoC power estimation framework at transaction level modeling | |
Devadas et al. | Statistical timing analysis of combinational circuits | |
US8756544B2 (en) | Method for inserting characteristic extractor | |
CN115859897B (zh) | 模型的生成方法、版图面积预测方法、装置及相关设备 | |
JP5408264B2 (ja) | 集積回路消費電力計算装置,処理方法およびプログラム | |
US11068632B2 (en) | Simulation apparatus, description conversion method and simulation method | |
CN115204104A (zh) | 计算装置、其操作方法和计算机程序产品 | |
CN113946200A (zh) | 电路动态电压降的检测方法、装置及电子设备和存储介质 | |
US20160217239A1 (en) | Method and system for selecting stimulation signals for power estimation | |
CN117933156B (zh) | 基于门级网表的毛刺功耗优化方法、电子设备和介质 | |
CN112069752B (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 |