本申请涉及集成电路设计验证,特别涉及一种基于功耗域的芯片功耗分析方法和装置、计算机可读介质和电子设备。
背景技术:
1、集成电路(integrated circuit,ic),也即芯片,是各种各样电子设备工作所必须用到的元件,从载人航天器到儿童玩具,无论是操控复杂的高端设备还是简单常见的小家电,都离不开各种功能的芯片。芯片按照功能划分有计算类芯片、传感类芯片、通信类芯片、存储类芯片、电源类芯片等,各类芯片工作均会产生一定的功耗,而如何降低功耗也是芯片设计的重点研究领域,各厂商都会在各自领域针对性的设计一些降低功耗的技术。
2、芯片从完成芯片电路和版图设计到投产(物理实现),期间需要完成各种层面的验证,因为芯片的生成成本高,一旦设计验证过程中没有完成完整的验证分析,很可能导致生产出来的芯片不符合下游客户的需求,导致前期的投入得不到应有的收益,以此芯片的验证仿真环节是相当重要和费时的。
3、在物理实现完成前对全芯片的精确功耗分析是十分有必要的,通过功耗分析可以提前预知所采用的低功耗技术带来的效益是否符合预期,并找出功耗过高的单元,对其采取必要措施,防止因功耗过高问题导致芯片不能正常工作。
4、现有的对芯片功耗的分析方法是利用eda工具并按照工具提供的默认分组来进行功耗分析,以primetime软件中集成的功耗分析工具px(ptpx)为例,其预先定义了七个分组,分别为:
5、组1:clock_network,包括处于时钟网络中的缓冲器、反相器、门控时钟逻辑等;
6、组2:register,包括触发器和锁存器;
7、组3:combinational,包括组合逻辑;
8、组4:sequential,包括没有被时钟驱动的触发器和锁存器;
9、组5:memory,包括存储器单元;
10、组6:io_pad,包括输入输出端口;
11、组7:black_box,即黑盒,包含没有功能的一些电路单元。
12、利用ptpx功耗分析工具获得的芯片的功耗分析报告,会显示各分组的功耗信息以及全芯片的整体功耗情况。然而在实际芯片项目中,往往采用多电压域技术来降低芯片功耗,所以按照功耗域分析功耗是非常有意义的。但是目前功耗分析工具中的局限性,并不能获得每个功耗域的功耗。
13、因此,目前的芯片功耗分析方法不够灵活,不能很好的满足全面功耗分析的需求。
技术实现思路
1、本申请实施例的目的之一在于提供一种芯片功耗分析方法,以解决现有技术中功耗分析方法不够灵活不能满足全面功耗分析的技术问题。
2、本申请实施方式的芯片功耗分析方法,其包括:
3、获取芯片实例模型,其中所述芯片实例模型中包括顶层模块和位于所述顶层模块下的一个或多个子模块;
4、按照所述一个或多个子模块的供电需求划分一个或多个功耗域;
5、根据所述一个或多个功耗域创建对应的一个或多个功耗组;
6、分析所述一个或多个功耗组中每一个功耗组的功耗;
7、分析所述芯片实例模型的全芯片总功耗;
8、根据所述全芯片总功耗和所述一个或多个功耗组的功耗生成功耗报告。
9、在一些实施方式中,所述芯片实例模型为树形结构,所述顶层模块下包括的子模块包括同级的第一子模块和第二子模块,当所述第一子模块和所述第一子模块下所有子模块的供电需求相同时,所述第一子模块和所述第一子模块下所有子模块划分为同一个功耗域。
10、在一些实施方式中,当所述顶层模块与所述一个或多个子模块中的任一子模块都不属于同一个功耗域时,根据所述顶层模块所在的功耗域创建对应的顶层功耗组。
11、在一些实施方式中,当所述顶层模块与所述一个或多个子模块中的至少一个子模块供电需求相同时,所述顶层模块与所述至少一个子模块属于相同的功耗域,根据所述顶层模块及所述至少一个子模块所在的功耗域创建顶层功耗组。
12、在一些实施方式中,所述方法进一步包括:将所述全芯片总功耗减去所述一个或多个功耗组中所有功耗组的功耗的总和,得到所述顶层功耗组的功耗。
13、在一些实施方式中,所述功耗报告包括所述一个或多个功耗组中每一个功耗组的功耗、所述顶层功耗组的功耗和功耗占比信息。
14、在一些实施方式中,所述供电需求包括供电电压和/或断电策略。
15、本申请的实施方式还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序在计算机上运行时可实现如前述的芯片功耗分析方法,该芯片功耗分析方法包括:
16、获取芯片实例模型,其中所述芯片实例模型中包括顶层模块和位于所述顶层模块下的一个或多个子模块;
17、按照所述一个或多个子模块的供电需求划分一个或多个功耗域;
18、根据所述一个或多个功耗域创建对应的一个或多个功耗组;
19、分析所述一个或多个功耗组中每一个功耗组的功耗;
20、分析所述芯片实例模型的全芯片总功耗;
21、根据所述全芯片总功耗和所述一个或多个功耗组的功耗生成功耗报告。
22、本申请的实施方式还提供一种电子设备,所述电子设备包括:一个或多个处理器;一个或多个存储器;该一个或多个存储器存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被一个或多个处理器执行时,使得前述的芯片功耗分析方法被执行,所述芯片功耗分析方法包括:
23、获取芯片实例模型,其中所述芯片实例模型中包括顶层模块和位于所述顶层模块下的一个或多个子模块;
24、按照所述一个或多个子模块的供电需求划分一个或多个功耗域;
25、根据所述一个或多个功耗域创建对应的一个或多个功耗组;
26、分析所述一个或多个功耗组中每一个功耗组的功耗;
27、分析所述芯片实例模型的全芯片总功耗;
28、根据所述全芯片总功耗和所述一个或多个功耗组的功耗生成功耗报告。
29、依据本发明实施例芯片功耗分析方法、装置、计算机可读介质和电子设备,其通过将芯片实例模型中顶层模块下的子模块按照不同的供电需求划分为不同的功耗域,并根据不同的功耗域对应创建不同的功耗组,对这些具有不同供电需求的功耗域对应的功耗组进行一次功耗分析,并对全芯片进行一次功耗分析,利用功耗分析工具两次分析即可以得到各个不同功耗域的功耗组各自的功耗和全芯片总功耗,可以更全面满足芯片功耗分析的多种需求,尤其适合于采用了多电压域技术控制功耗的各种芯片的功耗分析和芯片验证中,提升了芯片功耗分析的灵活性和分析效率。
1.一种基于功耗域的芯片功耗分析方法,其特征在于,包括:
2.根据权利要求1所述的芯片功耗分析方法,其特征在于,所述芯片实例模型为树形结构,所述顶层模块下包括的子模块包括同级的第一子模块和第二子模块,当所述第一子模块和所述第一子模块下所有子模块的供电需求相同时,所述第一子模块和所述第一子模块下所有子模块划分为同一个功耗域。
3.根据权利要求1所述的芯片功耗分析方法,其特征在于,进一步包括:当所述顶层模块与所述一个或多个子模块中的任一子模块都不属于同一个功耗域时,根据所述顶层模块所在的功耗域创建对应的顶层功耗组。
4.根据权利要求1所述的芯片功耗分析方法,其特征在于,进一步包括:当所述顶层模块与所述一个或多个子模块中的至少一个子模块供电需求相同时,所述顶层模块与所述至少一个子模块属于相同的功耗域,根据所述顶层模块及所述至少一个子模块所在的功耗域创建顶层功耗组。
5.根据权利要求3或4所述的芯片功耗分析方法,其特征在于,所述方法进一步包括:将所述全芯片总功耗减去所述一个或多个功耗组中所有功耗组的功耗的总和,得到所述顶层功耗组的功耗。
6.根据权利要求5所述的芯片功耗分析方法,其特征在于,所述功耗报告包括所述一个或多个功耗组中每一个功耗组的功耗、所述顶层功耗组的功耗和功耗占比信息。
7.根据权利要求1所述的芯片功耗分析方法,其特征在于,所述供电需求包括供电电压和/或断电策略。
8.一种芯片功耗分析装置,其特征在于,包括
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序在计算机上运行时实现如权利要求1-7任意一项所述的芯片功耗分析方法。
10.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;该一个或多个存储器存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被一个或多个处理器执行时,使得如权利要求1-7中任一项所述的芯片功耗分析方法被执行。