CN116502596B - 芯片功耗评估方法、功耗模型的生成方法和计算机设备 - Google Patents

芯片功耗评估方法、功耗模型的生成方法和计算机设备 Download PDF

Info

Publication number
CN116502596B
CN116502596B CN202310773235.3A CN202310773235A CN116502596B CN 116502596 B CN116502596 B CN 116502596B CN 202310773235 A CN202310773235 A CN 202310773235A CN 116502596 B CN116502596 B CN 116502596B
Authority
CN
China
Prior art keywords
power consumption
chip
model
evaluation
parameters
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
Application number
CN202310773235.3A
Other languages
English (en)
Other versions
CN116502596A (zh
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.)
Hangzhou Xingxin Technology Co ltd
Original Assignee
Hangzhou Xingxin 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 Hangzhou Xingxin Technology Co ltd filed Critical Hangzhou Xingxin Technology Co ltd
Priority to CN202310773235.3A priority Critical patent/CN116502596B/zh
Publication of CN116502596A publication Critical patent/CN116502596A/zh
Application granted granted Critical
Publication of CN116502596B publication Critical patent/CN116502596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

本申请涉及一种芯片功耗评估方法、功耗模型的生成方法和计算机设备,其中,该芯片功耗评估方法包括:确定待测芯片的静态建模参数和动态评估参数;该静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数,该动态评估参数为当前功耗场景的功耗约束条件中变化的芯片设计参数;基于该静态建模参数和第一映射关系计算得到中间计算结果,并生成存储有该中间计算结果的目标功耗模型;该第一映射关系至少用于指示该静态建模参数与该中间计算结果之间的对应关系;根据该动态评估参数以及该目标功耗模型获得功耗评估结果。通过本申请,解决了芯片功耗评估方法的效率低的问题,实现了高效、精确的芯片功耗评估方法。

Description

芯片功耗评估方法、功耗模型的生成方法和计算机设备
技术领域
本申请涉及芯片技术领域,特别是涉及芯片功耗评估方法、功耗模型的生成方法和计算机设备。
背景技术
随着制造工艺与封装技术的演进,集成电路的集成度(即单位体积内的晶体管数量)与功耗密度不断增加,这使得功耗成为了集成电路设计中的重要考量因素之一。在相关技术中,通常是利用功耗评估技术对集成电路芯片进行寄存器传输设计语言(RegisterTransfer Language,简称为RTL)阶段评估、物理实现前评估和物理实现后评估,这三个阶段的功耗评估方式的共同点是都需要一次性输入所有的与功耗评估相关的芯片要素后进行整体设计的功耗计算,使得对于具有一定规模的芯片,其功耗计算的相关输入数据量都非常大,导致评估集成电路芯片功耗的整体效率非常低下。
目前针对相关技术中芯片功耗检测的效率低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种芯片功耗评估方法、功耗模型的生成方法和计算机设备,以至少解决相关技术中芯片功耗检测的效率低的问题。
第一方面,本申请实施例提供了一种芯片功耗评估方法,所述方法包括:
确定待测芯片的静态建模参数和动态评估参数;其中,所述静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数,所述动态评估参数为所述当前功耗场景的功耗约束条件中变化的芯片设计参数;
基于所述静态建模参数和第一映射关系计算得到中间计算结果,并生成存储有所述中间计算结果的目标功耗模型;其中,所述第一映射关系至少用于指示所述功耗约束条件中所述静态建模参数与所述中间计算结果的对应关系;
根据所述动态评估参数以及所述目标功耗模型获得功耗评估结果。
在其中一些实施例中,所述确定待测芯片的静态建模参数包括:获取场景需求信息对应的静态因素信息,从静态因素信息中确定所述待测芯片的所述静态建模参数;
和/或,
所述确定待测芯片的动态评估参数包括:获取场景需求信息对应的动态因素信息,从动态因素信息中确定所述待测芯片的所述动态评估参数。
在其中一些实施例中,所述生成存储有所述中间计算结果的目标功耗模型包括:
确定场景需求信息对应的数据模板;
获取中间计算结果中数据模板所需的模型数据;
根据所述模型数据以及所述数据模板生成目标功耗模型。
在其中一些实施例中,所述目标功耗模型包括模型详细数据;其中,所述模型详细数据至少包括芯片描述数据以及与所述芯片描述数据对应的中间计算结果;和/或,
所述目标功耗模型包括模型元数据;其中,所述模型元数据至少包括模型描述数据,所述模型描述数据用于描述目标功耗模型的属性。
在其中一些实施例中,所述静态建模参数包括至少一个待测芯片的层级子模块,所述中间计算结果包括所述层级子模块对应的中间计算结果。
在其中一些实施例中,每个所述层级子模块均包括多个元器件单元,所述方法还包括:
针对每一所述元器件单元,获取所述元器件单元的不同功耗类型对应的静态建模参数,以及不同功耗类型对应的第一映射关系;其中,同一功耗类型对应相同的所述第一映射关系;
根据所述不同功耗类型的静态建模参数以及所述不同功耗类型对应的第一映射关系,计算得到针对不同元器件单元的不同功耗评估类型的中间计算结果;
合并同一层级中功耗类型相同的中间计算结果,生成所述层级子模块对应的中间计算结果。
在其中一些实施例中,所述方法还包括:
获取针对所述待测芯片的分块信息,基于所述分块信息确定所述待测芯片的至少两个分块芯片区域,并基于所述静态建模参数生成至少两个与所述分块芯片区域相对应的所述目标功耗模型;
将每个所述分块芯片区域的动态评估参数输入至对应的所述目标功耗模型,得到与所述分块芯片区域相对应的功耗评估结果。
第二方面,本申请实施例提供了一种芯片功耗评估方法,所述方法包括:
响应用户的功耗评估请求,获取目标功耗模型;其中,所述目标功耗模型用于存储基于待测芯片的静态建模参数和第一映射关系计算得到的中间计算结果,所述第一映射关系至少用于指示功耗约束条件中所述静态建模参数与所述中间计算结果的对应关系;
获取动态评估参数;其中,所述静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数,所述动态评估参数为当前功耗场景的功耗约束条件中变化的芯片设计参数;
根据所述动态评估参数以及所述目标功耗模型获得功耗评估结果。
在其中一些实施例中,所述根据所述动态评估参数以及目标功耗模型获得功耗评估结果包括:
确定第二映射关系;所述第二映射关系至少用于指示功耗约束条件中所述动态评估参数、目标功耗模型的中间计算结果与功耗评估结果的对应关系;
根据所述动态评估参数、所述中间计算结果以及所述第二映射关系获得功耗评估结果。
第三方面,本申请实施例提供了一种功耗模型的生成方法,所述方法包括:
确定待测芯片的静态建模参数;其中,所述静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数;
基于所述静态建模参数和第一映射关系计算得到中间计算结果,并生成存储有所述中间计算结果的目标功耗模型,以获取待测芯片的功耗评估结果;其中,所述第一映射关系至少用于指示所述功耗约束条件中所述静态建模参数与中间计算结果的对应关系;所述功耗评估结果是根据动态评估参数和所述目标功耗模型生成的,所述动态评估参数为所述当前功耗场景的功耗约束条件中变化的芯片设计参数。
在其中一些实施例中,所述目标功耗模型包括模型详细数据;其中,所述模型详细数据至少包括芯片描述数据以及与芯片描述数据对应的中间计算结果;和/或,
所述目标功耗模型包括模型元数据;其中,所述模型元数据至少包括模型描述数据,所述模型描述数据用于描述目标功耗模型的属性。
第四方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面所述的芯片功耗评估方法,或者上述第三方面所述的功耗模型的生成方法。
相比于相关技术,本申请实施例提供的芯片功耗评估方法、功耗模型的生成方法和计算机设备,通过确定待测芯片的静态建模参数和动态评估参数;其中,该静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数,该动态评估参数为该当前功耗场景的功耗约束条件中变化的芯片设计参数;基于该静态建模参数和第一映射关系计算得到中间计算结果,并生成存储有该中间计算结果的目标功耗模型;其中,该第一映射关系至少用于指示该静态建模参数与该中间计算结果之间的对应关系;根据该动态评估参数以及该目标功耗模型获得功耗评估结果,从而将芯片功耗分析过程拆分成了功耗建模与功耗评估两个部分,使得建模完成后,后续的功耗评估步骤仅需要依赖生成的功耗模型,同时输入相关动态评估参数即可进行多次功耗评估计算,因此提升了评估同一设计芯片在不同环境与行为下功耗的整体效率,解决了芯片功耗评估方法的效率低的问题,实现了高效、精确的芯片功耗评估方法。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种芯片功耗评估方法的应用环境图;
图2是根据本申请实施例的一种芯片功耗评估方法的流程图;
图3是根据本申请实施例的另一种芯片功耗评估方法的流程图;
图4是根据本申请优选实施例的一种芯片功耗评估方法的流程图;
图5是根据本申请实施例的一种芯片功耗评估装置的结构框图;
图6是根据本申请实施例的一种芯片功耗评估系统的结构框图;
图7是根据本申请实施例的一种计算机设备内部的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请实施例提供的芯片功耗评估方法,可以应用于如图1所示的应用环境中。其中,终端设备12通过网络与服务器14进行通信。终端设备12用于获取用户操作,服务器14响应用户操作获取待测芯片的静态建模参数和动态评估参数;服务器14基于静态建模参数和第一映射关系进行计算,得到中间计算结果,并生成存储有该中间计算结果的目标功耗模型;其中,该第一映射关系至少用于指示该静态建模参数与该中间计算结果之间的对应关系;服务器14根据该动态评估结果以及该目标功耗模型获得功耗评估结果,通过终端设备12将功耗评估结果反馈给用户。其中,该终端设备12可以但不限于是各种个人计算机、笔记本电脑和平板电脑;该服务器14可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例提供了一种芯片功耗评估方法,图2是根据本申请实施例的一种芯片功耗评估方法的流程图,如图2所示,该流程包括如下步骤:
步骤S210,确定待测芯片的静态建模参数和动态评估参数;该静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数,该动态评估参数为当前功耗场景的功耗约束条件中变化的芯片设计参数。
其中,上述待测芯片是指集成电路设计中任意阶段的芯片,例如可能是RTL阶段或物理实现前等阶段的尚未设计完整的芯片,但是已经具有一定的芯片结构数据的芯片,或者也可以是已完成完整设计的芯片;即,可以在集成电路任意设计阶段对当前的芯片设计进行功耗评估分析。
上述静态建模参数是指在当前功耗评估场景需求中,芯片参数中能够影响芯片功耗,且在当前芯片功耗评估过程中不会发生变化,即保持静止状态的参数,至少包括芯片结构信息,还包括比如芯片结构、寄生参数和芯片时序信息等与芯片结构本身相关联的参数。
上述动态评估参数是指在当前功耗评估场景需求中,芯片参数中由于设计的变化能够引起功耗变化,即在芯片功耗评估过程中存在动态变化的参数,是用于快速评估不同设计参数取值或者取值组合引起功耗变化的参数,如工艺角、温度、电压、频率和芯片行为数据等参数。
静态建模参数和动态评估参数构成针对当前功耗评估场景的功耗评估中完整的待测芯片的参数,即功耗约束条件中所有的参数,因此,仅仅依靠静态建模参数或者动态评估参数并不能计算得到功耗评估结果。功耗约束条件中的所有参数包括芯片结构参数、芯片行为参数、芯片环境参数等。功耗约束条件是指用于计算待测芯片功耗的规则,同一功耗评估类型对应同一种功耗约束条件。在任一功耗评估场景中,评估待测芯片的功耗时,需要针对不同类型的功耗进行评估,功耗评估类型可以包括开关功耗、内部功耗、静态功耗、漏电功耗等,均有各自的功耗约束条件。
进一步地,由于对待测芯片的功耗评估分析通常需要在不同场景下进行,因此可以根据当前评估场景的需求确定对应的静态建模参数和动态评估参数。
在一些实施例中,若当前功耗评估场景为快速评估芯片在不同运行环境中的功耗的场景,则该评估场景下需要改变运行环境,且无需改变芯片行为,进而可以确定对应的静态建模参数除了上述芯片结构参数外,还包括芯片行为参数,并可以确定对应的动态评估参数包括环境参数;若当前功耗评估场景为快速评估芯片在不同行为下的功耗的场景,则该评估场景下需要改变芯片行为,且无需改变运行环境,进而可以确定对应的静态建模参数除了上述芯片结构参数外,还包括环境参数,并可以确定对应的动态评估参数包括芯片行为参数;若当前功耗评估场景为快速评估芯片在不同运行环境以及不同行为下的功耗的场景,则该评估场景下需要改变运行环境和芯片行为,进而可以确定静态建模参数包括芯片结构参数,动态评估参数包括环境参数和芯片行为参数。
步骤S220,基于该静态建模参数和第一映射关系计算得到中间计算结果,并生成存储有该中间计算结果的目标功耗模型;其中,该第一映射关系用于指示功耗约束条件中静态建模参数与该中间计算结果的对应关系,目标功耗模型用于形成能够指示中间计算结果与功耗评估结果之间的对应关系的新的功耗约束条件。具体地,通过上述静态建模参数和上述第一映射关系可以确定部分功耗计算结果,并基于上述部分功耗计算结果生成目标功耗模型。
上述第一映射关系至少用于指示静态建模参数与中间计算结果之间的对应关系,利用第一映射关系的计算,可以得到中间计算结果。第一映射关系根据场景需求信息确定,当确定场景需求时,即可知道当前场景下通过何种映射关系可以通过何种静态建模参数得到中间计算结果。得到的中间计算结果指当前场景中不会发生变化的芯片设计参数的功耗。例如中间计算结果包括针对某个芯片结构的功耗信息,中间计算结果包括设计的层次结构、当前层次结构的功耗值,还可以包括当前层次结构的电路网络信息。
进一步地,上述目标功耗模型作为整个功耗评估分析过程中的中间形式,可以利用目标功耗模型中存储的中间计算结果形成用中间计算结果表示的功耗约束条件,即形成中间计算结果与功耗评估结果的新的功耗约束条件,新的功耗约束条件可以表示中间计算结果、动态评估参数以及功耗评估结果之间的关系。通过目标功耗模型建立的中间形式,其作用是将功耗分析过程中的在当前功耗评估场景中不发生变化的部分参数,即上述静态建模参数相关的功耗计算结果存储下来,减少后续根据变化的参数计算功耗时,每次计算的时间和占用的资源,且后续具体功耗评估时可以直接根据动态评估参数快速生成芯片评估结果,从而有利于加快芯片功耗评估过程。需要补充说明的是,目标功耗模型的存储形式可以包括但不限于ASCII格式的文本文件或二进制格式的文件等,且该模型文件可以直接存储于计算机内存等存储空间内。同时,对于以文本文件格式存储的模型,其格式包括但不限于YAML、JSON、XML、HTML、其他标记语言或编程语言等。可以理解的是,上述目标功耗模型可以存储于单一的文件中,也可以拆分为多个文件。
步骤S230,根据该动态评估参数以及该目标功耗模型获得功耗评估结果。其中,在通过上述步骤S220建模完成后,当需要功耗评估时,通过加载功耗评估所需的配置文件与运行脚本,运行部署有上述目标功耗模型的建模工具软件,再将确定好的动态评估参数输入至上述调用的目标功耗模型,以利用上述建模工具软件,根据动态评估参数和中间计算结果进行完整的功耗计算,最终得到上述待测芯片的功耗评估结果。
进一步地,在上述步骤S220至步骤S230中,上述静态建模参数和中间计算结果之间的第一映射关系可以由一个或多个功耗计算公式构成;不同的功耗评估类型具有不同的映射关系,同一功耗类型映射关系对应相同的映射关系,功耗评估类型包括但不限于开关功耗、内部功耗、静态功耗、漏电功耗等。例如,该功耗计算公式可以设定为单个线网开关功耗(switching power)的计算表达式,该功耗计算公式可以看作为一种功耗约束条件,如下述公式1所示:
Ps=C×V2×f×TR 公式1
上述公式中,Ps为开关功耗,C为该线网的总电容,包括寄生电容与负载单元的输入引脚电容;V为供电电压;f为芯片的工作频率,TR为翻转概率。在一些功耗评估场景中,基于公式1确定的当前的功耗约束条件中固定不变的芯片设计参数为C、V、f,变化的芯片设计参数为TR,第一映射关系为C×V2×f,中间计算结果为C×V2×f的计算获得结果,利用目标功耗模型形成的新的功耗约束关系为Ps=中间计算结果×TR。或者在另一些功耗评估场景中,功耗约束条件中固定不变的芯片设计参数为C、V,变化的芯片设计参数为f、TR,第一映射关系为C×V2,中间计算结果为C×V2计算获得结果,利用目标功耗模型形成的新的功耗约束关系为Ps=中间计算结果×f×TR。
或者,上述功耗计算公式还可以包括内部功耗(Internal power)的计算表达式,在计算过程中可以粗略将芯片中逻辑门等效为电阻,进而得到由短路电流造成的相应功耗值,该功耗计算公式可以看作为一种功耗约束条件,如下述公式所示:
PI=(V2/R)×f×TR 公式2
上述公式中,PI为内部功耗,R为逻辑门的等效电阻,V为供电电压,f为芯片的工作频率,TR为翻转概率。在一些功耗评估场景中,功耗约束条件中固定不变的芯片设计参数为V、R、f,变化的芯片设计参数为TR,第一映射关系为(V2/R)×f,中间计算结果为(V2/R)×f计算获得结果,利用目标功耗模型形成的功耗约束关系为PI=中间计算结果×TR。或者在另一些功耗评估场景中,功耗约束条件中固定不变的芯片参数为V、R,变化的芯片设计参数为f、TR,第一映射关系为V2/R,中间计算结果为V2/R计算获得结果,利用目标功耗模型形成的功耗约束关系为PI=中间计算结果×f×TR。
或者,上述功耗计算公式还可以包括静态功耗/漏电功耗(Leakage power)的计算表达式,该功耗计算公式可以看作为一种功耗约束条件,如下述公式所示:
PL=c0×T2×e^(c1/T) 公式3
在一些功耗评估场景中,上述公式中,PL为静态功耗,c0与c1为与电路结构相关的经验参数,属于功耗约束条件中固定不变的芯片参数,T为温度,属于变化的芯片设计参数。
则通过上述各功耗计算公式可以构成至少用于指示静态建模参数与中间计算结果之间的第一映射关系;例如,针对上述公式1所示的单线网开关计算公式,或者针对上述公式2所示的内部功耗计算公式,只有总电容C是静态建模参数,即在后续的评估中不发生改变,V、f、TR均可以发生变化,所以对于该线网或逻辑门的功耗,可以基于公式1、公式2确定静态建模参数C与中间计算结果之间的第一映射关系。
基于静态建模参数和第一映射关系得到中间计算结果后,生成存储有该中间计算结果的目标功耗模型,目标功耗模型可以用于形成能够指示中间计算结果与功耗评估结果之间的对应关系的新的功耗约束关系,该新的功耗约束关系表示中间计算结果、动态评估参数以及功耗评估结果之间的计算规则。接下来,可以根据动态评估参数和目标功耗模型获取功耗评估结果;例如,针对上述公式1所示的单线网开关功耗计算公式,或者针对上述公式2所示的内部功耗计算公式,总电容C是静态建模参数,V、f、TR均可以发生变化,所以对于该线网或逻辑门的功耗,可以通过上述第一映射关系在功耗模型中记录总电容C的值与上述表达式的形式,进而得到中间计算结果并生成目标功耗模型,具体的功耗值则在后续的功耗评估过程中,代入具体的V、f、TR值计算后得出。或者,针对上述公式3所示的静态功耗计算公式,c0与c1为与电路结构相关的经验参数,属于静态建模参数,T为温度,属于动态评估参数;因此针对该逻辑门的静态功耗,可以在目标功耗模型中记录c0值、c1值以及上述表达式,具体的功耗值则在后续的评估过程中,带入动态评估参数的具体的温度值后计算得出。进一步地,在模型生成的过程中,本实施例还可以采用插值的方法进行功耗计算以提高精度,例如开关功耗的生成可以使用线性插值,内部功耗和静态功耗可以使用非线性插值。
可以理解的是,根据动态评估参数进行功耗评估计算的过程与上述功耗模型的生成过程相类似。需要补充说明的是,本实施例中的功耗建模与评估方法不限制具体的设计阶段,即前端设计与后端设计过程中都可以使用本方法,并且使用流程与方式没有区别,只是输入文件不同;同理,对于前述的不同应用场景,建模与评估方法相同,只是输入内容有区别。因此,通过作为中间形式的目标功耗模型,将功耗计算过程中的可变因素转化为可计算的模型,有利于提高芯片功耗仿真评估的效率。
在相关技术中,通过在功耗分析时一次性输入待测芯片的环境、行为、结构等所有要素后进行完整的芯片功耗计算,如果输入信息中的某一个参数发生变化,功耗评估工具就需要重新进行完整的功耗计算。对于具有一定规模的芯片,其功耗计算的相关输入数据通常都很大,比如某个标准单元库文件的大小能够达到1.5 G,寄生参数文件的大小可以达到10 G以上,描述电路行为的VCD文件更是可以达到上百G。由于这些文件的解析与处理要耗费大量的时间,所以重复计算的额外开销是巨大的,导致评估同一个芯片在不同环境与行为下功耗的整体效率非常低下。
相比于相关技术中需要一次性输出所有要素导致芯片功耗计算效率低下的功耗计算方式,本申请实施例通过上述步骤S210至步骤S230,先基于待测芯片的固定的静态建模参数对功耗计算模型进行建模,生成作为中间形式的目标功耗模型,并在功耗评估时再输入待测芯片的动态评估参数,最终根据动态评估参数和目标功耗模型得到待测芯片的功耗评估结果,从而将芯片功耗分析过程拆分成了功耗建模与功耗评估两个部分,使得建模完成后,后续的功耗评估步骤仅需要依赖生成的功耗模型,同时输入相关动态评估参数即可进行多次功耗评估计算,因此基于生成的功耗模型实现了显著的数据合并与压缩,极大降低了参数处理成本,提升了评估同一设计芯片在不同环境与行为下功耗的整体效率,有效解决了芯片功耗评估的效率低的问题,实现了高效、精确的芯片功耗评估方法。
在其中一些实施例中,上述确定待测芯片的静态建模参数和动态评估参数,还包括如下步骤:获取场景需求信息对应的静态因素信息,根据静态因素信息确定该待测芯片的该静态建模参数;和/或,获取场景需求信息对应的动态因素信息,根据动态因素信息确定该待测芯片的该动态评估参数。其中,静态因素信息可以包括对应于当前场景需求的,用于获取静态建模参数的文件、或者用户输入的用于中间结果计算的数据信息;动态因素信息可以包括用于获取动态评估参数的文件,或者用户输入的进行最终功耗评估的芯片设计可能产生变化的数据。静态因素信息、动态因素信息有可能是文本形式或者是二进制形式的文件或数据。在生成目标功耗模型前,可以仅仅获取静态建模参数生成目标功耗模型。或者,也可以在确认场景后获得所有参数,在目标模型生成阶段只利用静态建模参数;而在功耗评估阶段,才利用动态评估参数,进一步地,也可以在此阶段快速替换动态评估参数。在一些实施例中,获取场景需求信息对应的静态因素信息包括,获取场景需求信息,用户可在用户界面输入当前需要评估功耗的场景,即场景需求信息,从而可以根据场景需求信息确认所需的静态因素,确认方式可以为人工确定静态因素,也可以是用户在用户界面选择当前的场景需求信息之后,由该用户界面基于用户选择的场景需求信息显示相应的静态因素的提示消息,以提醒用户基于提示信息输入相应的静态因素信息;静态因素包括芯片结构信息等;接下来,在获取用户基于当前功耗评估的场景需求信息,以确定进行当前功耗评估所需的静态因素后,获取用户基于静态因素输入的相应的静态因素信息,例如存储有静态因素的文件,或者输入静态因素相关的数据后,响应目标功耗模型生成请求,从用户输入的静态因素信息中获取该静态建模参数。
在一些实施例中,获取场景需求信息,根据该场景需求信息确定动态因素;获取用户根据动态因素输入的动态因素信息;响应功耗评估请求,从用户输入的动态因素信息中获取该动态评估参数。其中,上述场景需求信息是指针对集成电路设计芯片的功耗评估场景,该场景需求信息可以由工作人员结合实际情况确定的;例如,该场景需求信息可以用于指示在不同运行环境的情况下评估芯片功耗,或者也可以用于指示在不同芯片行为等情况下评估芯片功耗。本实施例中获取动态因素信息,以及根据动态因素信息获取动态评估参数的方式,与上述获取静态因素信息,以及根据静态因素信息获取静态建模参数的方式相类似,在此不再赘述。
在一些实施例中,确定待测芯片的静态建模参数和动态评估参数包括获取预设的场景需求信息,以及该待测芯片的待处理参数,根据该场景需求信息对该待处理参数进行分类处理,得到该静态建模参数和该动态评估参数。在生成目标功耗模型前,虽然确定了动态评估参数,但是仍可以根据场景需求仅仅利用静态建模参数生成目标功耗模型,而不使用动态评估参数。在功耗评估阶段,锁定静态建模参数,仅仅可以修改动态评估参数,加快功耗评估的速度。
具体地,针对不同场景需求信息对应的芯片功耗分析场景,该芯片的固定参数和可变参数也会有所不同,进而可以通过上述场景需求信息对待测芯片的待处理参数进行分类,以确定该处理参数中哪类参数属于静态建模参数,哪类参数数据动态评估参数;进一步地,动态评估参数的具体取值需要在后续评估时确定并输入至上述目标功耗模型中进行计算。具体地,当该场景需求信息指示当前需要快速评估待测芯片在不同运行环境中的功耗时,所确定的静态建模参数可以包括上述待处理参数中的芯片结构和芯片行为信息,动态评估参数可以包括上述待处理参数中的环境参数;当该场景需求信息指示当前需要快速评估待测芯片在不同行为下的功耗时,对应的静态建模参数可以包括芯片结构和环境参数,动态评估参数可以包括芯片行为信息;当该场景需求信息指示当前需要快速评估芯片在不同运行环境以及不同行为下的功耗时,静态建模参数可以包括芯片结构,动态评估参数可以包括环境参数和芯片行为信息。
在一些实施例中,上述芯片结构信息可以包括设计约束文件(syopsys designformat,简称为SDC)、RTL、统一电源格式(Unified Power Format,简称为UPF)、设计网表(Netlist)、标准单元库、库交换格式/设计交换格式(Library Exchange Format / DesignExchange Format,简称为lef/def)、标准寄生交换格式(standardparasitic exchangeformat,简称为spef)、时序信息、时钟树模型以及线载模型等等;上述芯片行为信息可以包括翻转率与静态概率、快速信号数据库(Fast Signal Database,简称为FSDB)、影音光碟(Video Compact Disc,简称为VCD)或开关行为内部交换格式(Switchingactivityinterchange format,简称为SAIF)文件等用于记录芯片反转情况的数据等等;上述环境参数可以包括工艺角、供电电压、片上温度以及频率等等。
通过上述实施例,基于不同的场景需求信息确定静态因素信息、动态因素信息,进而确定静态建模参数和动态评估参数,使得上述实施例可以适用于不同功耗评估场景,从而有利于提高芯片功耗评估的精度和效率。
在一些实施例中,生成基于该中间计算结果的目标功耗模型包括,获取中间计算结果中数据模板所需的模型数据;根据该模型数据以及该数据模板生成目标功耗模型。该数据模板规定有数据存储的格式和内容,可以为可视化的模板,在用户请求下可以向用户展示。
其中,上述模型数据按照数据模板的要求存储;该数据模板是指模型生成时所采用的公式形式、图表格式等不包含数据的模板。该数据模板可以由用户预先设定生成并进行存储,或者也可以基于用户输入的参数自适应生成,例如,当检测到当前输入的静态建模参数的数量大于一定阈值时,说明当前的输入点较多,则建模过程中可以相应地自动生成功耗值-电压关系表,或功耗值-频率关系表等图表模板。进一步地,数据模板可以包括可视化模板,以该可视化模板采用表格模板为例,该表格模板可以为标量、多维表格、函数、针对芯片层次化设计结构的描述等。则在输出上述功耗评估结果的情况下,可以根据该功耗评估结果和该可视化模板,生成可视化结果,并将该可视化结果发送至终端设备进行显示。即,在计算得到功耗评估结果后,将功耗评估结果数据代入上述可视化模板,进而自适应生成可视化结果,并由终端设备进行显示。通过上述实施例,基于目标功耗模型自适应生成并存储多个可视化模板,使得在功耗分析时能够利用可视化模板快速绘制生成可视化显示结果,从而方便用户查询和掌握芯片功耗评估情况。进一步地,可见的内容包括两大部分,即目标功耗模型中的元数据和详细数据。
在其中一些实施例中,上述目标功耗模型包括模型详细数据,其中,该模型详细数据至少包括芯片描述数据以及与芯片描述数据对应的中间计算结果,该芯片描述数据用于描述中间计算结果相关的芯片设计信息,例如,芯片的层次化结构信息,供电网络信息等,以及芯片设计信息对应的功耗描述信息,该功耗描述数据用于存储芯片设计信息相关的中间计算结果,例如芯片某一层级设计的中间计算结果。和/或,该目标功耗模型包括模型元数据;其中,该模型元数据至少包括模型描述数据,该模型描述数据用于描述当前目标功耗模型的属性,可以在功耗评估阶段利用该数据解析该目标功耗模型。
其中,模型元数据包括但不限于以下内容:模型版本信息、模型中数据单位信息、模型涉及参数、模型生成时间、模型生成时所采用的输入信息,以及模型中采用的公式模板等模型描述数据。具体地,模型版本信息可以根据当前建模次数累计生成,用于区分不同模型版本,比如该模型版本信息可以为v1.0;模型数据单位信息、模型参数可以根据当前输入的静态建模参数确定,比如该模型数据单位信息可以为电压:毫伏、电流:毫安等,用于确定模型中所提供数据的单位,该模型参数可以包括温度或电压等参数;模型生成时采用的输入信息包括文件名、环境参数等,以便重复构建模型;上述模型公式模板用于明确模型中涉及到的功耗的计算方式。可以理解的是,上述模型元数据还包括其他与具体的芯片数据不直接相关,但是与模型本身相关的数据,在此不再赘述。
其中,详细数据包括但不限于以下内容:芯片顶层模块名称、芯片供电网络信息、芯片各个设计层级单元的功耗信息以及其他与具体芯片功耗相关的信息等芯片描述数据。具体地,芯片顶层模块名称用于明确模型所指代的具体模块;芯片供电网络信息用于在功耗评估阶段区分不同的供电网,比如该芯片供电网络信息可以包括VDD网络的数量与名称;芯片各个设计层级单元的功耗信息可以通过标量、多维表格和函数等形式进行标识,例如,一个整体Top模块中包含A、B、C等多个子模块,每个子模块又可以包括各自的子模块,比如A子模块中包含a、b,此时可以将层级信息与功耗信息同时进行记录,比如Top/A/a模块的功耗数据为x,Top/A/b模块的功耗数据为y,Top/B模块的功耗数据为m,Top/B模块的功耗数据为m,以便计算各个层级上的模块的功耗;x、y、m、n等数据可以用标量、多维表格、函数等形式表示。需要补充说明的是,元数据与详细数据同属于模型内容;在功耗评估过程中,模型描述数据等模型元数据主要用于解析模型数据、去重,并构建相应的运算模型,而芯片描述数据等模型详细数据则用于在功耗评估阶段计算最终的芯片功耗值。
在其中一些实施例中,对于步骤S230,上述根据该动态评估参数、目标功耗模型生成功耗评估结果还包括如下步骤:确定第二映射关系;该第二映射关系至少用于指示功耗约束条件中该动态评估参数、目标功耗模型中的中间计算结果与功耗评估结果的对应关系;根据动态评估参数、中间计算结果以及第二映射关系获得功耗评估结果。
在一些实施例中,第二映射关系可以根据场景需求信息确定,或者从目标功耗模型中确定第二映射关系。在一些实施例中,利用目标功耗模型形成的形成中间计算结果与功耗评估结果的功耗约束条件也可以用于描述和指示第二映射关系,该功耗约束条件用于表示动态评估参数、目标功耗模型中的中间计算结果与功耗评估结果的计算规则。由于实施例中的功耗评估与场景需求相关,在确定场景需求信息时,即已经确定了利用何种映射关系计算中间计算结果以及最终的功耗评估,或者,由于目标功耗模型根据场景需求信息确定,因此也可以在目标功耗模型存储有第二映射关系,在功耗评估时可以直接从目标功耗模型中获得。例如,在当前场景需求为需要快速评估芯片在不同的运行环境以及不同行为下的功耗,并基于上述公式1确定静态建模参数C与中间计算结果之间的第一映射关系时,可以基于第一映射关系建立目标功耗模型,并在功耗评估时基于场景需求信息确定动态评估参数供电电压、芯片工作频率和翻转概率,以及中间计算结果与最终的功耗评估结果之间的第二映射关系,或者也可以在基于第一映射关系生成目标功耗模型时,即在目标功耗模型中存储根据场景需求信息确定的上述第二映射关系,并在功耗评估时直接从目标功耗模型中获取该第二映射关系以获得功耗评估结果。
在一些实施例中,可以将动态评估参数输入目标功耗模型获得功耗评估结果。在另一实施例中,也可以从目标功耗模型中获得中间计算结果,根据第二映射关系,将动态评估参数以及中间计算结果基于第二映射关系指示的计算方式进行计算,获得功耗评估结果。
在一些实施例中,在功耗评估过程中,目标功耗模型的元数据主要被评估工具用于解析模型数据,去重,并构建相应的运算模型,而目标功耗模型的详细数据则用于功耗评估阶段计算具体芯片的功耗。
在其中一些实施例中,上述静态建模参数包括至少一个待测芯片的层级子模块,上述中间计算结果包括该层级子模块对应的中间计算结果。即,在同一设计的待测芯片包括至少一个层级子模块的情况下,可以通过上述任一项方法实施例获取得到各层级子模块的静态建模参数,进而计算得到各层级子模块的中间计算结果。
在一些实施例中,每个该层级子模块均包括多个元器件单元;上述芯片功耗评估方法还包括如下步骤:
步骤S221,针对每一该元器件单元,获取该元器件单元的不同功耗类型对应的静态建模参数,以及不同功耗类型对应的第一映射关系;其中,同一功耗类型对应相同的该第一映射关系。上述功耗类型包括但不限于各种开关功耗、内部功耗、静态功耗、漏电功耗等类型。
步骤S222,根据该不同功耗类型的静态建模参数以及该不同功耗类型对应的第一映射关系,计算得到针对不同元器件单元的不同功耗评估类型的中间计算结果。
步骤S223,合并同一层级中功耗类型相同的中间计算结果,生成该层级子模块对应的中间计算结果。
在上述步骤S221至步骤S223中,可以通过上述目标功耗模型对芯片中同一设计层级的标准单元数据,将同一功耗类型的中间计算结果进行汇总压缩,比如合并多个形式一致的多项式的系数,使得功耗模型的数据量大大降低。具体地,以计算各元器件单元的开关功耗为例,假设该层级子模块包括三个逻辑门,分别是U1、U2和U3,利用上述公式1计算得到各逻辑门对应的开关功耗计算值分别为:PS1=C1×V2×f×TR;PS2=C2×V2×f×TR;PS3=C3×V2×f×TR;其中,在一些功耗评估场景中静态建模参数为电容C,通过各逻辑门对应的电容值C1、C2、C3,可以得到各元器件单元的针对开关功耗这一功耗类型的中间计算结果。则各逻辑门的总开关功耗计算值为PS=C1×V2×f×TR+C2×V2×f×TR+ C3×V2×f×TR=(C1+C2+C3)×V2×f×TR。即,在模型文件中,可以将3个元器件单元的中间计算结果合并,以C1+C2+C3的值计算后记录为一个数值,以合并同一层级中功耗类型相同的中间结算结果,若静态建模参数为电容C和供电电压V,则3个元器件单元的中间计算结果合并为C1V1+C2V2+C3V3,其中,V1、V2、V3为各逻辑门对应的供电电压值,进而得到上述层级子模块对应的中间计算结果,而不是直接存储原始数据中的三个数值,同理,针对内部功耗、漏电功耗等功耗评估类型也可以进行类似合并,进而实现了数据的有效压缩。
通过上述步骤S231至步骤S223,通过层级子模块的层级对所有静态计算值进行数据压缩处理,得到压缩后的功耗评估结果,从而有利于降低功耗模型的数据量,有效减少了内存空间占用率。
在其中一些实施例中,上述待测芯片包括多个元器件单元;上述芯片功耗检测方法还包括如下步骤:根据该动态评估参数和该目标功耗模型计算得到针对该元器件单元对应的子功耗值;获取该元器件单元对应的标识信息,根据该标识信息和该子功耗值得到该功耗评估结果;检测针对该元器件单元的功耗查询指令;响应于检测到的该功耗查询指令搜索该功耗评估结果中的子功耗值,并基于该标识信息从所有该子功耗值中确定相应的目标子功耗值;根据该目标子功耗值生成功耗查询结果,并将该功耗查询结果发送至终端设备进行显示。具体地,基于标识信息将每个元器件的功耗值单独存储,使得当用户需要查找单个逻辑门等单个元器件对应的功耗值时,可以基于上述元器件单元对应的标识信息对其进行搜索查找,从而有效提高了用户查询功耗值的便捷性。
在其中一些实施例中,上述芯片功耗评估方法还包括如下步骤:获取针对该待测芯片的分块信息,基于该分块信息确定该待测芯片的至少两个分块芯片区域,并基于该静态建模参数生成至少两个与该分块芯片区域相对应的该目标功耗模型;将每个该分块芯片区域的动态评估参数输入至对应的该目标功耗模型,得到与该分块芯片区域相对应的功耗评估结果。其中,上述分块信息可以由工作人员预先进行设定,例如可以设置为将某设计芯片按照实现功能进行分块等;则针对上述待测芯片的不同区域,可以采用上述任一项方法实施例中的步骤,分别对应建立一个目标功耗模型,从而有利于提高功耗模型计算的准确性和效率。在另一实施例中,针对同一批次的设计芯片也可以采用统一目标功耗模型进行仿真以及功耗评估。
本实施例还提供了一种芯片功耗评估方法,图3是根据本申请实施例的另一种芯片功耗评估方法的流程图,如图3所示,该流程包括如下步骤:
步骤S310,响应用户的功耗评估请求,获取目标功耗模型;其中,该目标功耗模型存储中间计算结果,该中间计算结果是基于待测芯片的静态建模参数和第一映射关系计算得到的,第一映射关系至少用于指示功耗约束条件中该静态建模参数与该中间计算结果的对应关系,该目标功耗模型用于形成能够指示中间计算结果与功耗评估结果之间的对应关系的新的功耗约束条件。
步骤S320,获取该动态评估参数;其中,该静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数,该动态评估参数为当前功耗场景的功耗约束条件中变化的芯片设计参数。
步骤S330,根据该目标功耗模型以及动态评估参数获取待测芯片的功耗评估结果。
通过上述步骤S310至步骤S330,在功耗分析评估时将待测芯片的动态评估参数,输入到预先构建且存储有基于待测芯片的静态建模参数计算生成中间计算结果的目标功耗模型中,进而根据动态评估参数以及部分计算得到的中间计算结果计算得到最终的功耗评估结果,从而有利于极大提高功耗评估效率,有效解决了芯片功耗检测的效率低的问题,实现了高效、精确的功耗计算方法。
在其中一些实施例中,上述根据该动态评估参数以及目标功耗模型获得功耗评估结果还包括如下步骤:确定第二映射关系;该第二映射关系至少用于指示该动态评估参数、目标功耗模型的中间计算结果与功耗评估结果的对应关系;根据该功耗约束条件中的动态评估参数、中间计算结果以及第二映射关系获得功耗评估结果。
本实施例还提供了一种功耗模型的生成方法,该方法包括如下步骤:
确定待测芯片的静态建模参数;其中,该静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数。
基于该静态建模参数和第一映射关系计算得到中间计算结果,并生成存储有该中间计算结果的目标功耗模型,以获取功待测芯片的耗评估结果;其中,该第一映射关系至少用于指示该功耗约束条件中该静态建模参数与中间计算结果的对应关系;该功耗评估结果是根据动态评估参数和该目标功耗模型生成的,该动态评估参数为该当前功耗场景的功耗约束条件中变化的芯片设计参数。
通过上述实施例,基于静态建模参数和第一映射关系预先构建存储有中间计算结果的目标功耗模型,使得在后续芯片功耗仿真评估时,只需要输入动态评估参数,即可依赖生成的功耗模型进行多次功耗评估计算快速生成芯片评估结果,从而在芯片某一元素发生变化时无需再重新进行完整的计算,有效提升了评估同一设计芯片在不同环境与行为下功耗的整体效率。
在其中一些实施例中,上述目标功耗模型包括模型详细数据;其中,该模型详细数据至少包括芯片描述数据以及与芯片描述数据对应的中间计算结果;和/或,上述目标功耗模型包括模型元数据;其中,该模型元数据至少包括模型描述数据,该模型描述数据用于描述目标功耗模型的属性。
下面通过优选实施例对本申请实施例进行描述和说明。图4是根据本申请优选实施例的一种芯片功耗评估方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,获取建模所需的静态建模参数的输入文件,输入文件可以是文本形式或者二进制形式。进一步地,准备建模工具所需的配置文件与运行脚本。其中,针对上述输入文件,还可以通过上述终端设备,或者服务器等主控设备自适应检查输入内容,包括输入文件的完整性以及格式正确性的验证等,以避免输入错误导致的芯片功耗评估出错等问题。另外,上述配置文件用于给出评估模式、日志等级等配置。上述脚本用于指明建模工具的运行步骤,比如先读取文件,之后进行分析等等;脚本描述的运行步骤举例:读取输入文件;设置运行模式;运行时序分析;运行功耗分析;输出功耗分析结果;导出文件。
步骤S402,响应用户的目标功耗模型生成请求,加载建模配置文件及运行建模脚本,利用建模配置文件及建模脚本从输入文件中获取功耗建模所需的静态建模参数,进行固定部分的功耗建模,生成中间计算结果。其中,加载配置文件和运行脚本的过程不一定可见,取决于工具是否通过日志或者界面展示加载过程。
步骤S403,获取中间计算结果中目标功耗模型所需的信息,生成目标功耗模型。
步骤S404,获取功耗评估检测所需的动态评估参数的输入文件。
步骤S405,响应用户的功耗评估请求,包括加载功耗评估配置文件,运行功耗评估脚本,利用功耗评估配置文件及功耗评估脚本从输入文件中获取功耗评估所需的动态评估参数以及目标功耗模型,进行功耗评估。
步骤S406,响应用户的功耗评估请求,包括检查输入内容,包括输入文件的完整性,输入格式是否正确等,目的是在正式运行前尽可能排除可能的问题;之后通过计算获取分析结果,最终得到功耗评估结果。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种芯片功耗检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的一种芯片功耗评估装置的结构框图,如图5所示,该装置包括:参数模块52、建模模块54和评估模块56;该参数模块52,用于确定待测芯片的静态建模参数和动态评估参数;其中,该静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数,该动态评估参数为当前功耗场景的功耗约束条件中变化的芯片设计参数;该建模模块54,用于基于该静态建模参数和第一映射关系计算得到中间计算结果,并生成存储有该中间计算结果的目标功耗模型;其中,该第一映射关系至少用于指示该功耗约束条件中的静态建模参数与该中间计算结果之间的对应关系;该评估模块56,用于根据该动态评估参数以及该目标功耗模型获得待测芯片的功耗评估结果。
通过上述实施例,建模模块54基于待测芯片的固定的静态建模参数对功耗计算模型进行建模,生成作为中间形式的目标功耗模型,并通过评估模块56在功耗评估时再根据当前的动态评估参数以及目标功耗模型获得待测芯片的功耗评估结果,从而将芯片功耗分析过程拆分成了功耗建模与功耗评估两个部分,使得建模完成后,后续的功耗评估步骤仅需要依赖生成的功耗模型,同时输入相关动态评估参数即可进行多次功耗评估计算,因此基于生成的功耗模型实现了显著的数据合并与压缩,极大降低了参数处理成本,提升了评估同一设计芯片在不同环境与行为下功耗的整体效率,有效解决了芯片功耗评估的效率低的问题,实现了高效、精确的芯片功耗评估装置。
在其中一些实施例中,上述参数模块52还用于获取场景需求信息对应的静态因素信息,从该静态因素信息中确定该待测芯片的该静态建模参数;和/或,该参数模块52获取该场景需求信息对应的动态因素信息,从该动态因素信息中确定该待测芯片的该动态评估参数。
在其中一些实施例中,上述建模模块54还用于确定场景需求信息对应的数据模板;该建模模块54获取中间计算结果中数据模板所需的模型数据;该建模模块54根据该模型数据以及该数据模板生成该目标功耗模型该目标功耗模型。
在其中一些实施例中,上述目标功耗模型包括模型详细数据;其中,该模型详细数据至少包括芯片描述数据以及与该芯片描述数据对应的中间计算结果;和/或,该目标功耗模型包括模型元数据;其中,该模型元数据至少包括模型描述数据,该模型描述数据用于描述目标功耗模型的属性。
在其中一些实施例中,上述评估模块56确定第二映射关系;该第二映射关系至少用于指示该功耗约束条件中动态评估参数、该目标功耗模型中的中间计算结果与该功耗评估结果的对应关系;该评估模块56根据动态评估参数、该中间计算结果以及该第二映射关系获得该功耗评估结果。
在其中一些实施例中,上述静态建模参数包括至少一个待测芯片的层级子模块,上述中间计算结果包括该层级子模块对应的中间计算结果。
在其中一些实施例中,每个该层级子模块均包括多个元器件单元;上述建模模块54还用于针对每一该元器件单元,获取该元器件单元的不同功耗类型对应的静态建模参数,以及不同功耗类型对应的第一映射关系;其中,同一功耗类型对应相同的该第一映射关系;该建模模块54根据该不同功耗类型的静态建模参数以及该不同功耗类型对应的第一映射关系,计算得到针对不同元器件单元的不同功耗评估类型的中间计算结果;该建模模块54合并同一层级中功耗类型相同的中间计算结果,生成该层级子模块对应的中间计算结果。
在其中一些实施例中,上述待测芯片包括多个元器件单元;上述芯片功耗评估装置还包括显示模块;上述评估模块56还用于利用该目标功耗模型,根据该动态评估参数和该目标功耗模型计算得到针对该元器件单元对应的子功耗值;该评估模块56获取该元器件单元对应的标识信息,根据该标识信息和该子功耗值得到该功耗评估结果;上述显示模块还用于检测针对该元器件单元的功耗查询指令;该显示模块响应于检测到的该功耗查询指令搜索该功耗评估结果中的子功耗值,并基于该标识信息从所有该子功耗值中确定相应的目标子功耗值;该显示模块根据该目标子功耗值生成功耗查询结果,并将该功耗查询结果发送至终端设备进行显示。
在其中一些实施例中,上述芯片功耗检测装置还包括分块模块;该分块模块,用于获取针对该待测芯片的分块信息,基于该分块信息确定该待测芯片的至少两个分块芯片区域;上述建模模块54基于该静态建模参数生成至少两个与该分块芯片区域相对应的该目标功耗模型;上述评估模块56将每个该分块芯片区域的动态评估参数输入至对应的该目标功耗模型,得到与该分块芯片区域相对应的功耗评估结果。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种芯片功耗检测系统,图6是根据本申请实施例的一种芯片功耗检测系统的结构框图,如图6所示,该系统包括:主控设备62和终端设备12;该终端设备12,用于获取待测芯片的静态建模参数和动态评估参数,并分别将该静态建模参数和该动态评估参数发送至该主控设备;该主控设备62,用于执行上述任一项方法实施例中的步骤。该主控设备62可以包括但不限于各种计算机、服务器、服务器集群或其他用于控制芯片功耗仿真评估流程的硬件设备。进一步地,终端设备12和主控设备62之间可以通过传输设备进行传输;在一个实施例中,传输设备可以包括一个网络适配器(Network InterfaceController,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯;在另一实施例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
通过上述实施例,通过主控设备62先基于待测芯片的固定的静态建模参数对功耗计算模型进行建模,生成作为中间形式的目标功耗模型,并在功耗评估时再输入待测芯片的动态评估参数,最终根据动态评估参数和目标功耗模型得到待测芯片的功耗评估结果,从而将芯片功耗分析过程拆分成了功耗建模与功耗评估两个部分,使得建模完成后,后续的功耗评估步骤仅需要依赖生成的功耗模型,同时输入相关动态评估参数即可进行多次功耗评估计算,因此基于生成的功耗模型实现了显著的数据合并与压缩,极大降低了参数处理成本,提升了评估同一设计芯片在不同环境与行为下功耗的整体效率,有效解决了芯片功耗检测的效率低的问题,实现了高效、精确的芯片功耗评估系统。
在其中一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器设备,图7是根据本申请实施例的一种计算机设备内部的结构图,如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标功耗模型。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种芯片功耗评估方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施例还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述计算机设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
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.根据权利要求1所述的芯片功耗评估方法,其特征在于,所述根据所述动态评估参数以及目标功耗模型获得功耗评估结果包括:
确定第二映射关系;所述第二映射关系至少用于指示所述功耗约束条件中所述动态评估参数、所述目标功耗模型中的中间计算结果与所述功耗评估结果的对应关系;
根据动态评估参数、所述中间计算结果以及所述第二映射关系获得所述功耗评估结果。
5.根据权利要求1所述的芯片功耗评估方法,其特征在于,所述静态建模参数包括至少一个待测芯片的层级子模块,所述中间计算结果包括所述层级子模块对应的中间计算结果。
6.根据权利要求5所述的芯片功耗评估方法,其特征在于,每个所述层级子模块均包括多个元器件单元,所述方法还包括:
针对每一所述元器件单元,获取所述元器件单元的不同功耗类型对应的静态建模参数,以及不同功耗类型对应的第一映射关系;其中,同一功耗类型对应相同的所述第一映射关系;
根据所述不同功耗类型的静态建模参数以及所述不同功耗类型对应的第一映射关系,计算得到针对不同元器件单元的不同功耗评估类型的中间计算结果;
合并同一层级中功耗类型相同的中间计算结果,生成所述层级子模块对应的中间计算结果。
7.根据权利要求1至权利要求6任一项所述的芯片功耗评估方法,其特征在于,所述方法还包括:
获取针对所述待测芯片的分块信息,基于所述分块信息确定所述待测芯片的至少两个分块芯片区域,并基于所述静态建模参数生成至少两个与所述分块芯片区域相对应的所述目标功耗模型;
根据每个所述分块芯片区域的动态评估参数以及对应的所述目标功耗模型,得到与所述分块芯片区域相对应的功耗评估结果。
8.一种芯片功耗评估方法,其特征在于,所述方法包括:
响应用户的功耗评估请求,获取目标功耗模型;其中,所述目标功耗模型用于存储基于待测芯片的静态建模参数和第一映射关系计算得到的中间计算结果,所述第一映射关系至少用于指示功耗约束条件中所述静态建模参数与所述中间计算结果的对应关系;
获取动态评估参数;其中,所述静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数,所述动态评估参数为当前功耗场景的功耗约束条件中变化的芯片设计参数;
所述获取动态评估参数包括:获取所述场景需求信息对应的动态因素信息,从所述动态因素信息中确定所述待测芯片的所述动态评估参数;
根据所述动态评估参数以及所述目标功耗模型获得功耗评估结果。
9.根据权利要求8所述的芯片功耗评估方法,其特征在于,所述根据所述动态评估参数以及目标功耗模型获得功耗评估结果包括:
确定第二映射关系;所述第二映射关系至少用于指示所述功耗约束条件中所述动态评估参数、目标功耗模型的中间计算结果与功耗评估结果的对应关系;
根据所述动态评估参数、所述中间计算结果以及所述第二映射关系获得功耗评估结果。
10.一种功耗模型的生成方法,其特征在于,所述方法包括:
确定待测芯片的静态建模参数;其中,所述静态建模参数为描述当前功耗场景的功耗约束条件中固定不变的芯片设计参数;
所述确定待测芯片的静态建模参数包括:获取场景需求信息对应的静态因素信息,从所述静态因素信息中确定所述待测芯片的所述静态建模参数;
基于所述静态建模参数和第一映射关系计算得到中间计算结果,并生成存储有所述中间计算结果的目标功耗模型,以获取待测芯片的功耗评估结果;其中,所述第一映射关系至少用于指示所述功耗约束条件中所述静态建模参数与中间计算结果的对应关系;所述功耗评估结果是根据动态评估参数和所述目标功耗模型生成的,所述动态评估参数为所述当前功耗场景的功耗约束条件中变化的芯片设计参数。
11.根据权利要求10所述的功耗模型的生成方法,其特征在于,所述目标功耗模型包括模型详细数据;其中,所述模型详细数据至少包括芯片描述数据以及与芯片描述数据对应的中间计算结果;和/或,
所述目标功耗模型包括模型元数据;其中,所述模型元数据至少包括模型描述数据,所述模型描述数据用于描述目标功耗模型的属性。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至权利要求9任一项所述的芯片功耗评估方法,或者如权利要求10或权利要求11所述的功耗模型的生成方法。
CN202310773235.3A 2023-06-28 2023-06-28 芯片功耗评估方法、功耗模型的生成方法和计算机设备 Active CN116502596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310773235.3A CN116502596B (zh) 2023-06-28 2023-06-28 芯片功耗评估方法、功耗模型的生成方法和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310773235.3A CN116502596B (zh) 2023-06-28 2023-06-28 芯片功耗评估方法、功耗模型的生成方法和计算机设备

Publications (2)

Publication Number Publication Date
CN116502596A CN116502596A (zh) 2023-07-28
CN116502596B true CN116502596B (zh) 2023-10-31

Family

ID=87321684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310773235.3A Active CN116502596B (zh) 2023-06-28 2023-06-28 芯片功耗评估方法、功耗模型的生成方法和计算机设备

Country Status (1)

Country Link
CN (1) CN116502596B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116755993B (zh) * 2023-08-18 2023-12-19 杭州行芯科技有限公司 芯片功耗评估方法、装置、电子装置和存储介质
CN117094275B (zh) * 2023-08-24 2024-03-12 上海合芯数字科技有限公司 芯片端口的布设方法、存储介质、电子设备及芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147822A (zh) * 2010-12-23 2011-08-10 上海高性能集成电路设计中心 一种基于功耗库的大规模数字集成电路功耗动态评估装置
CN108664367A (zh) * 2017-03-28 2018-10-16 华为技术有限公司 一种基于处理器的功耗控制方法及装置
CN113988469A (zh) * 2021-11-17 2022-01-28 海光信息技术股份有限公司 芯片静态功耗的预测方法、装置、电子设备和存储介质
CN114791870A (zh) * 2021-01-26 2022-07-26 Oppo广东移动通信有限公司 功耗评估方法、装置、设备及计算机可读存储介质
WO2023272615A1 (zh) * 2021-06-30 2023-01-05 华为技术有限公司 一种静态功耗估计方法及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245366B (zh) * 2018-03-08 2022-01-14 华为技术有限公司 动态功耗估计方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147822A (zh) * 2010-12-23 2011-08-10 上海高性能集成电路设计中心 一种基于功耗库的大规模数字集成电路功耗动态评估装置
CN108664367A (zh) * 2017-03-28 2018-10-16 华为技术有限公司 一种基于处理器的功耗控制方法及装置
CN114791870A (zh) * 2021-01-26 2022-07-26 Oppo广东移动通信有限公司 功耗评估方法、装置、设备及计算机可读存储介质
WO2023272615A1 (zh) * 2021-06-30 2023-01-05 华为技术有限公司 一种静态功耗估计方法及相关装置
CN113988469A (zh) * 2021-11-17 2022-01-28 海光信息技术股份有限公司 芯片静态功耗的预测方法、装置、电子设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Comparative performance evaluation of latency and link dynamic power consumption modelling algorithms in wormhole switching networks on chip;James Harbin等;《Journal of Systems Architecture》;全文 *
一款高可靠嵌入式处理器芯片的设计;朱英等;《计算机工程与科学》;第45卷(第3期);全文 *
一种基于龙芯CPU的结构级功耗评估新方法;黄琨;章隆兵;胡伟武;张戈;;计算机研究与发展(第05期);全文 *

Also Published As

Publication number Publication date
CN116502596A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
CN116502596B (zh) 芯片功耗评估方法、功耗模型的生成方法和计算机设备
CN111859827A (zh) 一种芯片ip集成方法、装置及电子设备和存储介质
US8788988B2 (en) Managing consistency of multiple-source fabrication data in an electronic design environment
US11763052B2 (en) Unified material-to-systems simulation, design, and verification for semiconductor design and manufacturing
US10068043B1 (en) Validating integrated circuit simulation results
CN113255258B (zh) 逻辑综合方法、装置、电子设备及存储介质
CN113919254A (zh) 寄存器传输级信号映射构建方法、装置、设备和存储介质
CN114372006A (zh) 测试用例自动生成方法、系统、计算机设备和存储介质
CN114816377A (zh) 脚本获取方法及装置
US20030037306A1 (en) Variable detail automatic invocation of transistor level timing for application specific integrated circuit static timing analysis
CN115238616A (zh) 一种芯片网表自动修改方法、装置及电子设备
CN116755993B (zh) 芯片功耗评估方法、装置、电子装置和存储介质
CN116069726B (zh) 一种集成电路设计库的管理方法、设备及介质
CN116306486B (zh) 芯片设计的设计规则检查方法及相关设备
CN112782560A (zh) 芯片测试方法、装置、存储介质及设备
CN112632891A (zh) Spice模型仿真系统及仿真方法
CN110032781B (zh) 编辑时序约束方法、装置、计算机设备及存储介质
CN116204396A (zh) 一种针对分析型数据库性能的测试方法和装置
CN113822002B (zh) 数据处理方法、装置、计算机设备及存储介质
CN114818598B (zh) 一种基于电路翻转行为的vcd矢量压缩方法及装置
CN112861455B (zh) Fpga建模验证系统及方法
CN112463785B (zh) 一种数据质量监控方法、装置、电子设备及存储介质
CN112306032A (zh) 一种汽车开放系统的一致性测试方法、装置及系统
CN116861824A (zh) 一种功耗表征计算方法、系统、设备及介质
WO2023080890A1 (en) Automated cell black boxing for layout versus schematic

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