功耗分析方法、装置、电子设备及存储介质与流程

未命名 10-09 阅读:162 评论:0


1.本技术实施例涉及芯片设计技术领域,尤其涉及一种功耗分析方法、装置、电子设备及存储介质。


背景技术:

2.芯片的生产一般会经过设计、制作、测试和封装等工序完成,在芯片设计的阶段,通常会对芯片进行功耗分析,并根据分析结果对芯片的架构设计进行优化调整,以降低芯片的功耗。
3.目前在对芯片进行功耗分析时,会对芯片内的元件或电路模块等按照功耗类别分别进行功耗统计,并将统计得到的数据作为功耗统计报告。例如,功耗统计报告包括芯片中的元件的动态功耗。
4.然而,由于芯片的动态功耗大小是与芯片内电路信号的翻转及电路内的连线情况强相关,而根据上述功耗统计报告基本上无法得知芯片内的电路信号的翻转及流向等情况,进而基于上述功耗统计报告对芯片的架构设计进行优化调整以降低芯片动态功耗的效率较低,因此,基于功耗统计报告对芯片进行优化的效率较低。


技术实现要素:

5.有鉴于此,本技术实施例提供一种功耗分析方法、装置、电子设备及存储介质,以至少部分解决上述问题。
6.根据本技术实施例的第一方面,提供了一种功耗分析方法,包括:根据待分析芯片的门级网表和波形信息,获得翻转信息,其中,波形信息用于指示待分析芯片中晶体管的运行状态,翻转信息用于指示基于波形信息待分析芯片中发生翻转的晶体管;根据门级网表和翻转信息,从待分析芯片包括的时序路径中确定关键时序路径,其中,关键时序路径包括的至少部分晶体管基于波形信息发生过翻转;生成包括关键时序路径的功耗分析结果。
7.根据本技术实施例的第二方面,提供了一种功耗分析装置,包括:接收单元,用于获取输入的待分析芯片的功耗分析结果,所述功耗分析结果通过上述第一方面所述的功耗分析方法获得;展示单元,用于展示如下至少一项:所述功耗分析结果中的关键时序路径、所述关键时序路径的功耗、按照对应功耗由大至小顺序排列的所述关键时序路径、所述关键时序路径的优化顺序、及包括所述关键时序路径和所述关键时序路径的功耗的功耗热力图。
8.根据本技术实施例的第三方面,提供了一种功耗分析装置,包括:获取单元,根据待分析芯片的门级网表和波形信息,获得翻转信息,其中,波形信息用于指示待分析芯片中晶体管的运行状态,翻转信息用于指示基于波形信息待分析芯片中发生翻转的晶体管;分析单元,根据门级网表和翻转信息,从待分析芯片包括的时序路径中确定关键时序路径,其中,关键时序路径包括的至少部分晶体管基于波形信息发生过翻转;生成单元,生成包括关键时序路径的功耗分析结果。
9.根据本技术实施例的第四方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行上述第一方面方法对应的操作。
10.根据本技术实施例的第五方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行上述第一方面的方法。
11.根据本技术实施例的第六方面,提供了一种计算机程序产品,包括计算机指令,计算机指令指示计算设备执行上述第一方面的方法。
12.根据本技术实施例提供的功耗分析方案,基于关键时序路径包括的至少部分晶体管基于波形信息发生过翻转,从待分析芯片包括的时序路径中确定关键时序路径,并生成包括关键时序路径的功耗分析结果。由此,由于功耗分析结果包括关键时序路径,因此可以实现基于功耗分析结果得到待分析芯片内的电路信号的翻转及流向情况,而待分析芯片的动态功耗大小是与待分析芯片内电路信号的翻转及电路内的连线情况强相关,因此,为了降低待分析芯片的动态功耗,基于功耗分析结果可以更有针对性的对待分析芯片的架构设计进行优化,以提高基于功耗分析结果对待分析芯片进行优化的效率。
附图说明
13.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
14.图1是本技术一个实施例的功耗分析方法的示例性系统;
15.图2是本技术一个实施例的功耗分析方法的流程图;
16.图3是本技术一个实施例的关键时序路径的确定方法的流程图;
17.图4是本技术另一个实施例的关键时序路径的确定方法的流程图;
18.图5是本技术一个实施例的功耗分析装置的示意图;
19.图6是本技术一个实施例的电子设备的示意图。
具体实施方式
20.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
21.首先,对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释。
22.门级网表:在电路设计中,网表是用于描述电路元件相互之间连接关系的,一般来说是一个遵循某种比较简单的标记语法的文本文件。门级指的是网表描述的电路综合级别,顾名思义,门级网表中,描述的电路元件基本是门或与此同级别的元件。
23.时序路径:时序路径是指数据信号传播过程中所经过的逻辑路径。
24.本技术的应用环境
25.本技术实施例提出了一种芯片的功耗分析的方案。整个功耗分析方案相对较为通用,可以用于在芯片设计阶段对芯片功耗进行分析,比如用于对设计中的中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、基础设施处理器(infrastructure processing units,ipu)等进行功耗分析。该功耗分析方法可由数据中心、服务器、个人计算机、物联网(internet of things,iot)设备、嵌入式设备等执行。功耗分析方案与执行该方案的计算装置部署的硬件无关。
26.示例性系统
27.图1示出了一种适用于本技术实施例的功耗分析方法的示例性系统。如图1所示,该系统可以包括云服务端102、通信网络104和至少一个用户设备106,图1中示例为多个用户设备106。需要说明的是,本技术实施例的方案既可应用于云服务端102,也可应用于用户设备106。
28.云服务端102可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的设备,包括但不限于分布式存储系统设备、服务器集群、计算云服务端集群等。在一些实施例中,云服务端102可以执行任何适当的功能。例如,在一些实施例中,云服务端102可以用于在执行芯片数据分析任务时对芯片进行功耗分析。作为可选的示例,在一些实施例中,云服务端102可以针对芯片数据分析任务进行芯片的功耗分析,并基于功耗分析结果执行芯片数据分析任务。在另一些实施例中,云服务端102可以针对芯片数据分析任务进行芯片的功耗分析,并将功耗分析结果发送给用户设备106,由用户设备106根据功耗分析结果执行芯片数据分析任务。
29.通信网络104可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络104能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(wan)、局域网(lan)、无线网络、数字订户线路(dsl)网络、帧中继网络、异步转移模式(atm)网络、虚拟专用网(vpn)和/或任何其它合适的通信网络。用户设备106能够通过一个或多个通信链路(例如通信链路112)连接到通信网络104,该通信网络104能够经由一个或多个通信链路(例如通信链路114)被链接到云服务端102。通信链路可以是适合于在云服务端102与用户设备106之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
30.用户设备106可以包括适合于进行交互的任何一个或多个用户设备。在一些实施例中,当由云服务端102进行功耗分析时,用户设备106可以向云服务端102发送功耗分析请求,该功耗分析请求包括芯片数据分析任务的相关信息,以触发云服务端102根据该请求进行功耗分析,并将功耗分析结果反馈给用户设备106。在另一些实施例中,用户设备106可以在本地进行功耗分析。用户设备106可以包括任何合适类型的设备,例如,用户设备106可以包括移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、车辆系统和/或任何其他合适类型的用户设备。
31.本技术实施例主要着眼于云服务端102或用户设备106功耗分析的过程,在后文中会对功耗分析的过程进行详细描述。
32.功耗分析方法
33.基于上述系统,本技术实施例提供了一种功耗分析方法,以下通过多个实施例对该功耗分析方法进行详细说明。
34.图2是本技术一个实施例的功耗分析方法的流程图。如图2所示,该功耗分析方法包括如下步骤:
35.步骤201、根据待分析芯片的门级网表和波形信息,获得翻转信息。
36.可以将待分析芯片的门级网表和波形信息输入至芯片设计工具中,然后通过芯片设计工具抓取翻转信息。
37.波形信息用于指示待分析芯片中晶体管的运行状态,以模拟在待分析芯片进行数据处理的过程中待分析芯片内的晶体管的运行状态。
38.翻转信息用于指示基于波形信息待分析芯片中发生翻转的晶体管。例如,翻转信息包括门级网表中基于波形信息发生翻转的晶体管的晶体管标识。
39.步骤202、根据门级网表和翻转信息,从待分析芯片包括的时序路径中确定关键时序路径。
40.可以从门级网表中确定待分析芯片包括的全部时序路径,每一时序路径包括按照信号传播方向排列的至少两个晶体管的晶体管标识,例如,某一时序路径为a/b/c,且a、b和c均为待分析芯片中的晶体管的标识,则若待分析芯片接收到该时序路径对应的信号后,会按照由a至b再至c的顺序进行信号传播。在确定待分析芯片包括的全部时序路径后,可以基于翻转信息确定每一时序路径是否为关键时序路径,以得到关键时序路径。由于关键时序路径的至少部分晶体管基于波形信息发生过翻转,因此在待分析芯片基于波形信息运行的过程中,关键时序路径很可能会进行信号传输,未被确定为关键时序路径的时序路径很可能不会进行信号传输,即在待分析芯片基于波形信息运行的过程中产生的动态功耗基本上是由关键时序路径产生的。
41.步骤203、生成包括关键时序路径的功耗分析结果。
42.功耗分析结果至少包括每一关键时序路径,还可以包括每一关键时序路径的功耗等,本技术实施例对此不作限定。
43.在本技术实施例中,基于关键时序路径包括的至少部分晶体管基于波形信息发生过翻转,从待分析芯片包括的时序路径中确定关键时序路径,并生成包括关键时序路径的功耗分析结果。由此,由于功耗分析结果包括关键时序路径,因此可以实现基于功耗分析结果得到待分析芯片内的电路信号的翻转及流向情况,而待分析芯片的动态功耗大小是与待分析芯片内电路信号的翻转及电路内的连线情况强相关,因此,为了降低待分析芯片的动态功耗,基于功耗分析结果可以更有针对性的对待分析芯片的架构设计进行优化,以提高基于功耗分析结果对待分析芯片进行优化的效率。
44.进一步的,本技术实施例中的功耗分析方法无需待分析芯片实际运行,也无需针对待分析芯片进行仿真运行,即可在待分析芯片包括的时序路径中确定出待分析芯片运行时功耗较高的关键时序路径,简单快捷,可以进一步提高基于功耗分析结果对待分析芯片进行优化的效率。
45.待分析芯片包括的每一时序路径为时钟路径或者数据路径,基于此,在一种可能的实现方式中,步骤202包括:根据门级网表从待分析芯片包括的时序路径中确定数据路径,根据翻转信息从数据路径中确定关键时序路径。
46.在本技术实施例中,关键时序路径是根据翻转信息从数据路径中确定的,由于时钟路径一般为理想时钟路径,进而将时钟路径确定为关键时序路径是意义不大的,因此本
申请中仅针对数据路径进行关键时序路径的确定可以减少数据处理量,节省计算资源,还可以提高确定关键时序路径的效率。
47.图3是本技术一个实施例的关键时序路径的确定方法的流程图。如图3所示,关键时序路径的确定方法包括如下步骤:
48.步骤301、根据翻转信息,确定数据路径中基于波形信息发生过翻转的晶体管的数量。
49.翻转信息用于指示基于波形信息待分析芯片包括的数据路径中发生翻转的晶体管,在确定关键时序路径时,可以根据翻转信息确定待分析芯片的每一数据路径中基于波形信息发生过翻转的晶体管的数量。
50.步骤302、计算数据路径中基于波形信息发生过翻转的晶体管的数量,与该数据路径包括的晶体管的数量的比值,获得该数据路径的第一翻转比例。
51.例如,待分析芯片的任一数据路径中包括的晶体管数量为1000,该数据路径中基于波形信息发生过翻转的晶体管的数量为900,则该数据路径的第一翻转比例为900/1000=90%。
52.步骤303、将对应第一翻转比例大于第一比例阈值的数据路径确定为关键时序路径。
53.第一比例阈值大于0且小于1,第一比例阈值可以是预设得到的,也可以是根据不为0的每一第一翻转比例确定得到的,本技术实施例对此不做限定。
54.在另一种可能的实现方式中,根据翻转信息从数据路径中确定关键时序路径包括如下具体处理:根据翻转信息,将所包括晶体管基于波形信息均发生过翻转的数据路径确定为关键时序路径。
55.例如,通过“report_timing

from[all_registers]

to[all_registers]

exclude$untoggl_pins”命令删除待分析芯片包括的数据路径中包括的晶体管基于波形信息未发生过翻转的数据路径,进而可以获取关键时序路径。
[0056]
在另一种可能的实现方式中,根据翻转信息从数据路径中确定关键时序路径包括如下具体处理:根据翻转信息,将数据路径中基于波形信息发生过翻转的晶体管的数量作为该数据路径的第一翻转数量;将数据路径按照对应的第一翻转数量由大至小的顺序进行排序,将排序后的数据路径中前第一数量的数据路径分别作为关键时序路径。
[0057]
第一数量可以预先设定,也可以根据数据路径中晶体管的总数确定,本技术实施例对此不做限定。
[0058]
在本技术实施例中,是将所包括的每一晶体管基于波形信息均发生过翻转的数据路径确定为关键时序路径。由于任一数据路径中的晶体管发生翻转可能是其他数据路径进行信号传输导致的,为此,将所包括的每一晶体管基于波形信息均发生过翻转的数据路径确定为关键时序路径,可以减小基于波形信息仅部分晶体管发生翻转的数据路径确定为关键时序路径的可能性,进而可以减小基于波形信息未进行信号传输的数据路径被误确定为关键时序路径的可能性,达到了提高确定关键时序路径的准确性的目的。
[0059]
图4是本技术另一个实施例的关键时序路径的确定方法的流程图。如图4所示,关键时序路径的确定方法包括如下步骤:
[0060]
步骤401、根据翻转信息,确定数据路径中在同一时钟周期发生翻转的晶体管的数
量。
[0061]
翻转信息包括波形信息的每一时钟周期对应的翻转数据,翻转数据用于指示在对应的时钟周期内待分析芯片包括的数据路径中基于波形信息发生翻转的晶体管。
[0062]
在得到翻转信息后,针对每一时钟周期,确定在该时钟周期内数据路径中发生翻转的晶体管的数量。
[0063]
步骤402、计算数据路径中在同一时钟周期发生翻转的晶体管的数量,与该数据路径包括的晶体管的数量的比值,获得该数据路径的第二翻转比例。
[0064]
若数据路径中在不同的时钟周期发生翻转的晶体管的数量相同,则该数据路径的第二翻转比例为:该数据路径中在任一时钟周期发生翻转的晶体管的数量与该数据路径包括的晶体管的数量的比值。若数据路径中在不同的时钟周期发生翻转的晶体管的数量不同,则该数据路径的第二翻转比例为:该数据路径中在同一时钟周期发生翻转的晶体管的数量的最大值与该数据路径包括的晶体管的数量的比值。
[0065]
例如,待分析芯片的任一数据路径中包括的晶体管数量为1000,该数据路径中在同一时钟周期发生翻转的晶体管的数量的最大值为880,则该数据路径的第二翻转比例为880/1000=88%。
[0066]
步骤403、将对应第二翻转比例大于第二比例阈值的数据路径确定为关键时序路径。
[0067]
第二比例阈值大于0且小于1,第二比例阈值可以是预设得到的,也可以是根据不为0的每一第二翻转比例确定得到的,本技术实施例对此不做限定。
[0068]
在数据路径中的大部分晶体管均基于波形信息发生翻转的情况下,可能在每一个时钟周期内该数据路径中的晶体管发生翻转的数量均较少,此时该数据路径基于波形信息很可能并未进行信号传输。为此,在本技术实施例中,是根据数据路径中在同一时钟周期发生翻转的晶体管的数量得到第二翻转比例,并根据第二翻转比例确定关键时序路径,因此可以减小将在每一时钟周期内发生翻转的晶体管数量均较少的数据路径确定为关键时序路径的可能性,进而可以减小数据路径基于波形信息并未进行信号传输但该数据路径被确定为关键时序路径的可能性,达到了提高确定关键时序路径的准确性的目的。
[0069]
在另一种可能的实现方式中,根据翻转信息从数据路径中确定关键时序路径包括如下具体处理:根据翻转信息,将所包括晶体管在同一时钟周期均发生翻转的数据路径确定为关键时序路径。
[0070]
若数据路径中在不同的时钟周期发生翻转的晶体管的数量相同,则确定任一时钟周期内该数据路径所包括的晶体管是否均发生翻转,若是,则该数据路径为关键时序路径。若数据路径中在不同的时钟周期发生翻转的晶体管的数量不同,则确定每一时钟周期内该数据路径发生翻转的晶体管的数量,并确定该数据路径在同一时钟周期内发生翻转的晶体管的数量的最大值,若该最大值等于该数据路径包括的晶体管的数量,则将该数据路径确定为关键时序路径。
[0071]
在另一种可能的实现方式中,根据翻转信息从数据路径中确定关键时序路径包括如下具体处理:根据翻转信息,将数据路径中在同一时钟周期发生翻转的晶体管的数量的最大值作为该数据路径的第二翻转数量;将数据路径按照对应的第二翻转数量由大至小的顺序进行排序,将排序后的数据路径中将前第二数量的数据路径分别作为关键时序路径。
[0072]
第二数量可以预先设定,也可以为根据数据路径中晶体管的总数确定,本技术实施例对此不做限定。
[0073]
在本技术实施例中,通过采用将所包括晶体管在同一时钟周期均发生翻转的数据路径确定为关键时序路径,可以减小将在每一时钟周期内发生翻转的晶体管数量均较少的数据路径确定为关键时序路径的可能性,也可以减小将在同一时钟周期内仅部分晶体管发生翻转的数据路径确定为关键时序路径的可能性,进而可以减小基于波形信息未进行信号传输的数据路径被误确定为关键时序路径的可能性,达到了提高确定关键时序路径的准确性的目的。
[0074]
在一种可能的实现方式中,生成包括关键时序路径的功耗分析结果的具体处理可以如下:根据关键时序路径中晶体管的翻转功耗,确定关键时序路径的功耗;生成包括关键时序路径、及关键时序路径的功耗的功耗分析结果。
[0075]
晶体管的翻转功耗可以根据晶体管的型号确定。
[0076]
在本技术实施例中,功耗分析结果包括关键时序路径、及关键时序路径的功耗,则在根据功耗分析结果对待分析芯片进行优化时,可以参考关键时序路径的功耗针对关键时序路径进行优化,例如,可以在优化时不考虑功耗较小的关键时序路径,进而可以提高基于功耗分析结果进行芯片优化的优化效率。
[0077]
在一种可能的实现方式中,根据关键时序路径中晶体管的翻转功耗,确定关键时序路径的功耗的具体处理可以如下:根据关键时序路径中晶体管的翻转功耗,确定关键时序路径中晶体管的动态功耗,其中,关键时序路径中晶体管的动态功耗与该晶体管的翻转功耗、及该晶体管基于波形信息发生翻转的次数相关,进而将关键时序路径中晶体管的动态功耗进行累加,获得关键时序路径的功耗。
[0078]
在一种实施方式中,上述获取关键时序路径中晶体管的动态功耗可以包括以下具体处理:计算关键时序路径中晶体管的翻转功耗与该晶体管基于波形信息发生翻转的次数的乘积,获得该晶体管的动态功耗。例如,关键时序路径为a/b/c,a、b和c均为关键时序路径中的晶体管的标识,a晶体管的翻转功耗为a1,且a晶体管基于波形信息发生翻转的次数为a2,b晶体管的翻转功耗为b1,且b晶体管基于波形信息发生翻转的次数为b2,c晶体管的翻转功耗为c1,且c晶体管基于波形信息发生翻转的次数为c2,则该关键时序路径的功耗=a1*a2+b1*b2+c1*c2。
[0079]
在另一种实施方式中,上述获取关键时序路径中晶体管的动态功耗可以包括以下具体处理:计算关键时序路径中晶体管的翻转功耗、该晶体管基于波形信息发生翻转的次数以及该晶体管的权重系数的乘积,获得该晶体管的动态功耗。权重系数可以为预设得到的,也可以为根据晶体管的型号或类别等得到的,本技术实施例对此不作限定。
[0080]
在本技术实施例中,关键时序路径的功耗不仅考虑到晶体管的翻转功耗,还考虑到了晶体管基于波形信息发生翻转的次数,因此该关键时序路径的功耗大小可以更加准确的反映待分析芯片基于波形信息进行实际运行时该关键时序路径实际产生的功耗大小,提高确定关键时序电路的功耗的准确性。
[0081]
在一种可能的实现方式中,功耗分析结果中的关键时序路径按照对应功耗由大至小的顺序进行排列。
[0082]
在得到关键时序路径的功耗后,可以按照对应功耗由大至小的顺序将关键时序路
径进行排序,并根据排序后的关键时序路径及关键时序路径的功耗生成功耗分析结果。由此,可以优先针对功耗分析结果中排列在前的关键时序路径进行优化,以使在更短的时间内可以通过对待分析芯片进行优化而降低待分析芯片更多的功耗,提高芯片优化的有效率。
[0083]
在一种可能的实现方式中,波形信息与待分析芯片在应用场景内工作时的运行状态相匹配。例如,待分析芯片通常应用于执行一种算法,则波形信息可以通过模拟待分析芯片在执行该算法时的运行状态得到。
[0084]
在一种可能的实现方式中,功耗分析方法还包括:
[0085]
在待分析芯片的版图中对关键时序路径进行高亮显示。
[0086]
在本技术实施例中,通过在待分析芯片的版图中对关键时序路径进行高亮显示,使芯片设计人员可以直观的看到关键时序路在待分析芯片中的排布,进而可以方便芯片设计人员对待分析芯片进行分析和优化等。
[0087]
功耗分析装置
[0088]
基于上述方法实施例,本技术还公开了一种功耗分析装置,该功耗分析装置可实现为功耗分析交互软件,该功耗分析装置包括:
[0089]
接收单元,用于获取输入的待分析芯片的功耗分析结果,功耗分析结果可以通过上述任一实施例中的功耗分析方法获得;
[0090]
展示单元,用于展示如下至少一项:功耗分析结果中的关键时序路径、关键时序路径的功耗、按照对应功耗由大至小顺序排列的关键时序路径、关键时序路径的优化顺序、及包括关键时序路径和关键时序路径的功耗的功耗热力图。
[0091]
接收单元在获取到用户输入的功耗分析结果后,展示单元可以通过显示屏显示功耗分析结果中的每一关键时序路径和/或每一关键时序路径的功耗。
[0092]
在一种可能的实现方式中,展示单元可以按照对应功耗由大至小的顺序对功耗分析结果中的关键时序路径进行排序,得到关键时序路径序列,再根据关键时序路径序列,确定关键时序路径的功耗优化优先级。
[0093]
若功耗分析结果中的关键时序路径是按照对应功耗由大至小的顺序进行排列的,则展示单元可以在功耗分析结果中直接获取到关键时序路径序列;若功耗分析结果中的关键时序路径未按照对应功耗由大至小的顺序进行排列的,则展示单元按照关键时序路径的功耗由大至小的顺序对功耗分析结果中的关键时序路径进行排序,以得到关键时序路径序列。
[0094]
关键时序路径序列中排列顺序越靠前的关键时序路径的功耗优化优先级越高,关键时序路径序列中排列顺序越靠后的关键时序路径的功耗优化优先级越低。
[0095]
在本技术实施例中,可以优先针对优化优先级高的关键时序路径进行优化,以使在更短的时间内可以通过对待分析芯片进行优化而降低待分析芯片更多的功耗,提高芯片优化的有效率。
[0096]
在一种可能的实现方式中,展示单元可以通过功耗热力图展示功耗分析结果中的关键时序路径和关键时序路径的功耗。
[0097]
在功耗热力图中,可以每一关键时序路径的亮度相同,也可以对应功耗越大的关键时序路径的亮度越大,还可以按照对应功耗的大小确定关键时序路径的亮度等级,并按
照该亮度等级的亮度显示该关键时序路径,本技术实施例对此不做限定。
[0098]
在本技术实施例中,工作人员基于功耗热力图可以直观的看到待优化芯片中的关键时序路径的功耗情况,进而可以方便工作人员基于功耗热力图对待优化芯片进行优化。
[0099]
功耗分析装置
[0100]
对应于上述方法实施例,图5示出了本技术一个实施例的功耗分析装置的示意图,如图5所示,该功耗分析装置500包括:
[0101]
获取单元501,用于根据待分析芯片的门级网表和波形信息,获得翻转信息,其中,波形信息用于指示待分析芯片中晶体管的运行状态,翻转信息用于指示基于波形信息待分析芯片中发生翻转的晶体管;
[0102]
分析单元502,用于根据门级网表和翻转信息,从待分析芯片包括的时序路径中确定关键时序路径,其中,关键时序路径包括的至少部分晶体管基于波形信息发生过翻转;
[0103]
生成单元503,用于生成包括关键时序路径的功耗分析结果。
[0104]
在本技术实施例中,获取单元501可以根据待分析芯片的门级网表和波形信息,获得翻转信息,分析单元502可以根据门级网表和翻转信息,从待分析芯片包括的时序路径中确定关键时序路径,生成单元503可以生成包括关键时序路径的功耗分析结果,由此,由于功耗分析结果包括关键时序路径,因此可以实现基于功耗分析结果得到待分析芯片内的电路信号的翻转及流向情况,而待分析芯片的动态功耗大小是与待分析芯片内电路信号的翻转及电路内的连线情况强相关,因此,为了降低待分析芯片的动态功耗,基于功耗分析结果可以更有针对性的对待分析芯片的架构设计进行优化,以提高基于功耗分析结果对待分析芯片进行优化的效率。
[0105]
需要说明的是,本实施例的功耗分析装置用于实现前述方法实施例中相应的功耗分析方法,并具有相应的方法实施例的有益效果,在此不再赘述。
[0106]
电子设备
[0107]
图6是本技术实施例提供的一种电子设备的示意性框图,本技术具体实施例并不对电子设备的具体实现做限定。如图6所示,该电子设备可以包括:处理器(processor)602、通信接口(communications interface)604、存储器(memory)606、以及通信总线608。其中:
[0108]
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
[0109]
通信接口604,用于与其它电子设备或服务器进行通信。
[0110]
处理器602,用于执行程序610,具体可以执行前述任一功耗分析方法实施例中的相关步骤。
[0111]
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
[0112]
处理器602可能是cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0113]
risc-v是一种基于精简指令集(risc)原则的开源指令集架构,其可以应用于单片机和fpga芯片等各个方面,具体可应用在物联网安全、工业控制、手机、个人计算机等领域,且由于其在设计时考虑了小型、快速、低功耗的现实情况,使得其尤其适用于仓库规模云计算机、高端移动电话和微小嵌入式系统等现代计算设备。随着人工智能物联网aiot的兴起,
risc-v指令集架构也受到越来越多的关注和支持,并有望成为下一代广泛应用的cpu架构。
[0114]
本技术实施例中的计算机操作指令可以是基于risc-v指令集架构的计算机操作指令,对应地,处理器602可以基于risc-v的指令集设计。具体地,本技术实施例提供的电子设备中的处理器的芯片可以为采用risc-v指令集设计的芯片,该芯片可基于所配置的指令执行可执行代码,进而实现上述实施例中的功耗分析方法。
[0115]
存储器606,用于存放程序610。存储器606可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0116]
程序610具体可以用于使得处理器602执行前述任一实施例中的功耗分析方法。
[0117]
程序610中各步骤的具体实现可以参见前述任一功耗分析方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0118]
通过本技术实施例的电子设备,基于关键时序路径包括的至少部分晶体管基于波形信息发生过翻转,从待分析芯片包括的时序路径中确定关键时序路径,并生成包括关键时序路径的功耗分析结果。由此,由于功耗分析结果包括关键时序路径,因此可以实现基于功耗分析结果得到待分析芯片内的电路信号的翻转及流向情况,而待分析芯片的动态功耗大小是与待分析芯片内电路信号的翻转及电路内的连线情况强相关,因此,为了降低待分析芯片的动态功耗,基于功耗分析结果可以更有针对性的对待分析芯片的架构设计进行优化,以提高基于功耗分析结果对待分析芯片进行优化的效率。
[0119]
计算机存储介质
[0120]
本技术还提供了一种计算机可读存储介质,存储用于使一机器执行如本文所述的功耗分析方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0121]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本技术的一部分。
[0122]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0123]
计算机程序产品
[0124]
本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一对应的操作。
[0125]
需要说明的是,本技术实施例所涉及到的与用户有关的信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于对模型进行训练的样本数据、用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
[0126]
需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步
骤,以实现本技术实施例的目的。
[0127]
上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
[0128]
需要说明的是,本技术实施例所涉及到的与用户有关的信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于对模型进行训练的样本数据、用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
[0129]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
[0130]
以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。

技术特征:
1.一种功耗分析方法,包括:根据待分析芯片的门级网表和波形信息,获得翻转信息,其中,所述波形信息用于指示所述待分析芯片中晶体管的运行状态,所述翻转信息用于指示基于所述波形信息所述待分析芯片中发生翻转的晶体管;根据所述门级网表和所述翻转信息,从所述待分析芯片包括的时序路径中确定关键时序路径,其中,所述关键时序路径包括的至少部分晶体管基于所述波形信息发生过翻转;生成包括所述关键时序路径的功耗分析结果。2.根据权利要求1所述的方法,其中,所述根据所述门级网表和所述翻转信息,从所述待分析芯片包括的数据路径中确定关键时序路径,包括:根据所述门级网表从所述待分析芯片包括的时序路径中确定数据路径;根据所述翻转信息从所述的数据路径中确定关键时序路径。3.根据权利要求2所述的方法,其中,所述根据所述翻转信息从所述数据路径中确定关键时序路径,包括:根据所述翻转信息,确定所述数据路径中基于所述波形信息发生过翻转的晶体管的数量;计算所述数据路径中基于所述波形信息发生过翻转的晶体管的数量,与该数据路径包括的晶体管的数量的比值,获得该数据路径的第一翻转比例;将对应第一翻转比例大于第一比例阈值的所述数据路径确定为关键时序路径。4.根据权利要求2所述的方法,其中,所述根据所述翻转信息从所述数据路径中确定关键时序路径,包括:根据所述翻转信息,将所包括晶体管基于所述波形信息均发生过翻转的数据路径确定为关键时序路径。5.根据权利要求2所述的方法,其中,所述根据所述翻转信息从所述数据路径中确定关键时序路径,包括:根据所述翻转信息,确定所述数据路径中在同一时钟周期发生翻转的晶体管的数量;计算所述数据路径中在同一时钟周期发生翻转的晶体管的数量,与该数据路径包括的晶体管的数量的比值,获得该数据路径的第二翻转比例;将对应第二翻转比例大于第二比例阈值的所述数据路径确定为关键时序路径。6.根据权利要求2所述的方法,其中,所述根据所述翻转信息从所述数据路径中确定关键时序路径,包括:根据所述翻转信息,将所包括晶体管在同一时钟周期均发生翻转的数据路径确定为关键时序路径。7.根据权利要求1所述的方法,其中,所述生成包括所述关键时序路径的功耗分析结果,包括:根据所述关键时序路径中晶体管的翻转功耗,确定所述关键时序路径的功耗;生成包括所述关键时序路径、及所述关键时序路径的功耗的功耗分析结果。8.根据权利要求7所述的方法,其中,所述根据所述关键时序路径中晶体管的翻转功耗,确定所述关键时序路径的功耗,包括:根据所述关键时序路径中晶体管的翻转功耗,确定所述关键时序路径中晶体管的动态
功耗,所述关键时序路径中晶体管的动态功耗与该晶体管的翻转功耗、及该晶体管基于所述波形信息发生翻转的次数正相关;将所述关键时序路径中晶体管的动态功耗进行累加,获得所述关键时序路径的功耗。9.根据权利要求1所述的方法,其中,所述功耗分析结果中的关键时序路径按照对应功耗由大至小的顺序进行排列。10.根据权利要求1所述的方法,其中,所述波形信息与所述待分析芯片在应用场景内工作时的运行状态相匹配。11.根据权利要求1-10中任一项所述的方法,所述方法还包括:在所述待分析芯片的版图中对所述关键时序路径进行高亮显示。12.一种功耗分析装置,包括:接收单元,用于获取输入的待分析芯片的功耗分析结果,所述功耗分析结果通过权利要求1-11中任一项所述的功耗分析方法获得;展示单元,用于展示如下至少一项:所述功耗分析结果中的关键时序路径、所述关键时序路径的功耗、按照对应功耗由大至小顺序排列的所述关键时序路径、所述关键时序路径的优化顺序、及包括所述关键时序路径和所述关键时序路径的功耗的功耗热力图。13.一种功耗分析装置,包括:获取单元,用于根据待分析芯片的门级网表和波形信息,获得翻转信息,其中,所述波形信息用于指示所述待分析芯片中晶体管的运行状态,所述翻转信息用于指示基于所述波形信息所述待分析芯片中发生翻转的晶体管;分析单元,用于根据所述门级网表和所述翻转信息,从所述待分析芯片包括的时序路径中确定关键时序路径,其中,所述关键时序路径包括的至少部分晶体管基于所述波形信息发生过翻转;生成单元,用于生成包括所述关键时序路径的功耗分析结果。

技术总结
本申请实施例提供了一种功耗分析方法、装置、电子设备及存储介质,该功耗分析方法包括:根据待分析芯片的门级网表和波形信息,获得翻转信息,其中,波形信息用于指示待分析芯片中晶体管的运行状态,翻转信息用于指示基于波形信息待分析芯片中发生翻转的晶体管;根据门级网表和翻转信息,从待分析芯片包括的时序路径中确定关键时序路径,其中,关键时序路径包括的至少部分晶体管基于波形信息发生过翻转;生成包括关键时序路径的功耗分析结果。基于本方案提供的功耗分析结果可以更有针对性的对待分析芯片的架构设计进行优化,以提高基于功耗分析结果对待分析芯片进行优化的效率。分析结果对待分析芯片进行优化的效率。分析结果对待分析芯片进行优化的效率。


技术研发人员:陈普凡 蔡泽鉴 唐辉艳
受保护的技术使用者:平头哥(上海)半导体技术有限公司
技术研发日:2023.07.06
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐