CN115935870A - 功耗分析方法、装置、电子设备、存储介质 - Google Patents
功耗分析方法、装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115935870A CN115935870A CN202211511775.6A CN202211511775A CN115935870A CN 115935870 A CN115935870 A CN 115935870A CN 202211511775 A CN202211511775 A CN 202211511775A CN 115935870 A CN115935870 A CN 115935870A
- Authority
- CN
- China
- Prior art keywords
- tested
- power consumption
- input
- functional module
- state
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 160
- 238000012360 testing method Methods 0.000 claims abstract description 142
- 238000004088 simulation Methods 0.000 claims abstract description 120
- 230000005284 excitation Effects 0.000 claims abstract description 104
- 238000013507 mapping Methods 0.000 claims abstract description 59
- 238000013461 design Methods 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 26
- 238000000034 method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 19
- 230000006399 behavior Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims 2
- 238000005457 optimization Methods 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- 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
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种功耗分析方法、装置、电子设备、存储介质。该功耗分析方法包括:获取待测试功能模块处于目标测试状态时对应的输入激励;确定待测试功能模块的输入端口在集成电路的门级网表文件中对应的状态元件;将待测试功能模块的输入端口与状态元件建立映射关系;基于映射关系和门级网表文件,对集成电路进行仿真功耗分析,其中,在仿真功耗分析过程中,输入激励被输入到状态元件。该功耗分析方法能够进行功能模块级别的功耗详细分析,得到所关注的功能模块的动态功耗,允许对单个功能模块进行功耗分析,从而可以后续针对性地对这些功能模块进行相关的优化。
Description
技术领域
本公开的实施例涉及一种功耗分析方法、功耗分析装置、电子设备、非瞬时性计算机可读存储介质。
背景技术
在集成电路(Integrated Circuit)设计里,无论是高性能的中央处理器(CentralProcessing Unit,简称CPU)或图形处理器(Graphic Processing Unit,简称GPU)的设计,或者是物理网的低功耗设计等,都需要考虑在低功耗设计下的电池寿命,以及对于电路在高能耗运行模式下的热限制。在集成电路的设计阶段,需要对集成电路的设计在不同测试状态下的极限运行状态进行测试,实现对集成电路设计的性能的准确评估。
发明内容
本公开至少一实施例提供一种功耗分析方法,用于集成电路的设计,其中,所述集成电路包括待测试功能模块,所述功耗分析方法包括:获取所述待测试功能模块处于目标测试状态时对应的输入激励;确定所述待测试功能模块的输入端口在所述集成电路的门级网表文件中对应的状态元件;将所述待测试功能模块的输入端口与所述状态元件建立映射关系;基于所述映射关系和所述门级网表文件,对所述集成电路进行仿真功耗分析,其中,在所述仿真功耗分析过程中,所述输入激励被输入到所述状态元件。
例如,在本公开至少一实施例提供一种功耗分析方法中,获取所述待测试功能模块处于目标测试状态时对应的输入激励,包括:确定至少一个仿真激励;根据所述至少一个仿真激励对所述待测试功能模块进行仿真测试;在所述仿真测试过程中,将所述待测试功能模块处于所述目标测试状态时输入的仿真激励作为所述输入激励。
例如,在本公开至少一实施例提供一种功耗分析方法中,确定至少一个仿真激励,包括:根据所述待测试功能模块的目标测试状态,构建至少一组随机输入数据,将所述至少一组随机输入数据作为所述至少一个仿真激励;或者,根据所述集成电路对应的在架构设计阶段定义的模块输入输出行为标准,确定所述至少一个仿真激励。
例如,在本公开至少一实施例提供一种功耗分析方法中,根据所述至少一个仿真激励对所述待测试功能模块进行仿真测试,包括:将所述至少一个仿真激励依次输入所述待测试功能模块的输入端口,得到所述待测试功能模块的输出波形;根据所述输出波形,判断所述待测试功能模块是否处于所述目标测试状态;响应于所述待测试功能模块处于所述目标测试状态,将当前输入的仿真激励作为所述输入激励,响应于所述待测试功能模块不处于所述目标测试状态,继续输入下一个仿真激励进行所述仿真测试,直到得到所述输入激励。
例如,在本公开至少一实施例提供一种功耗分析方法中,基于所述映射关系和所述门级网表文件,对所述集成电路进行功耗分析,包括:基于所述映射关系,将所述输入激励输入所述门级网表文件中的所述状态元件,以模拟所述输入激励通过所述状态元件输入到所述待测试功能模块对应的门级电路结构的电路状态;根据所述电路状态,对所述集成电路进行功耗分析。
例如,在本公开至少一实施例提供一种功耗分析方法中,根据所述电路状态,对所述集成电路进行功耗分析,包括:获取所述门级电路结构在接收到所述输入激励时生成的输出结果;根据所述输出结果,对所述待测试功能模块对应的门级电路结构进行功耗分析。
例如,在本公开至少一实施例提供一种功耗分析方法中,基于所述映射关系,将所述输入激励输入所述门级网表文件中的所述状态元件,以模拟所述输入激励通过所述状态元件输入到所述待测试功能模块对应的门级电路结构的电路状态,包括:设置所述集成电路的门级网表文件中除所述门级电路结构以外的电路部分为不工作状态,将所述输入激励输入到所述状态元件;或者仅将所述输入激励输入所述状态元件,并让所述输入激励仅通过所述门级电路结构传播。
例如,在本公开至少一实施例提供一种功耗分析方法中,所述目标测试状态包括功耗最高状态或漏电流最低状态。
例如,在本公开至少一实施例提供一种功耗分析方法中,所述映射关系指示,所述待测试功能模块的输入端口在所述网表文件中映射为所述状态元件的输出端口。
例如,本公开至少一实施例提供一种功耗分析方法中还包括:根据所述功耗分析的结果,对所述待测功能模块进行优化。
例如,在本公开至少一实施例提供一种功耗分析方法中,所述待测试功能模块属于第一集成电路设计,所述第一集成电路设计的描述形式包括寄存器传输级描述文件形式或门级网表形式;所述第一集成电路设计的描述形式或层级结构与所述集成电路的门级网表文件不同。
本公开至少一实施例提供一种功耗分析装置,用于集成电路的设计,其中,所述集成电路包括待测试功能模块,所述功耗分析装置包括:获取单元,配置为获取所述待测试功能模块处于目标测试状态时对应的输入激励;确定单元,配置为确定所述待测试功能模块的输入端口在所述集成电路的门级网表文件中对应的状态元件;映射单元,配置为将所述待测试功能模块的输入端口与所述状态元件建立映射关系;分析单元,配置为基于所述映射关系和所述门级网表文件,对所述集成电路进行仿真功耗分析,其中,在所述仿真功耗分析过程中,所述输入激励被输入到所述状态元件。
例如,在本公开至少一实施例提供一种功耗分析装置中,所述获取单元执行获取所述待测试功能模块处于目标测试状态时对应的输入激励时,包括执行以下操作:确定至少一个仿真激励;根据所述至少一个仿真激励对所述待测试功能模块进行仿真测试;在所述仿真测试过程中,将所述待测试功能模块处于所述目标测试状态时输入的仿真激励作为所述输入激励。
例如,在本公开至少一实施例提供一种功耗分析装置中,所述获取单元执行根据所述至少一个仿真激励对所述待测试功能模块进行仿真测试,包括执行以下操作:将所述至少一个仿真激励依次输入所述待测试功能模块的输入端口,得到所述待测试功能模块的输出波形;根据所述输出波形,判断所述待测试功能模块是否处于所述目标测试状态;响应于所述待测试功能模块处于所述目标测试状态,将当前输入的仿真激励作为所述输入激励,响应于所述待测试功能模块不处于所述目标测试状态,继续输入下一个仿真激励进行所述仿真测试,直到得到所述输入激励。
例如,在本公开至少一实施例提供一种功耗分析装置中,所述分析单元执行基于所述映射关系和所述门级网表文件,对所述集成电路进行仿真功耗分析时,包括执行以下操作:基于所述映射关系,将所述输入激励输入所述门级网表文件中的所述状态元件,以模拟所述输入激励通过所述状态元件输入到所述待测试功能模块对应的门级电路结构时的电路状态;根据所述电路状态,对所述集成电路进行功耗分析。
例如,在本公开至少一实施例提供一种功耗分析装置中,所述分析单元执行根据所述电路状态,对所述集成电路进行功耗分析时,包括执行以下操作:获取所述门级电路结构在接收到所述输入激励时生成的输出结果;根据所述输出结果,对所述待测试功能模块对应的门级电路结构进行功耗分析。
例如,在本公开至少一实施例提供一种功耗分析装置中,所述分析单元执行基于所述映射关系,将所述输入激励输入所述门级网表文件中的所述状态元件,以模拟所述输入激励通过所述状态元件输入到所述待测试功能模块对应的门级电路结构的电路状态时,包括执行以下操作:设置所述集成电路的门级网表文件中除所述门级电路结构以外的电路部分为不工作状态,将所述输入激励输入到所述状态元件;或者仅将所述输入激励输入所述状态元件,并让所述输入激励仅通过所述门级电路结构传播。
本公开至少一实施例提供一种电子设备,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据本公开任一实施例所述的功耗分析方法。
本公开至少一实施例提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的功耗分析方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一实施例提供的一种功耗分析方法的示意性流程图;
图2为本公开至少一实施例提供的待测试功能模块的仿真测试示意图;
图3为本公开至少一实施例提供的待测试功能模块与门级电路结构的映射关系示意图;
图4为本公开至少一实施例提供的一种功耗分析装置的示意性框图;
图5为本公开至少一实施例提供的一种电子设备的示意性框图;
图6为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
随着算力需求的日益增长,集成电路的规模越来越大,使得集成电路的功耗分析要求也越来越高。
集成电路可以根据功能被划分成多个功能模块,每个功能模块可以由一些完成特定功能的电路逻辑构成。例如,功能模块可以为算术组件(arithmetic component),用于执行运算任务,例如,功能模块可以是乘法器、累加器等。例如,功能模块可以为执行数据传输功能的模块。例如,功能模块还可以是完成寄存器读写和请求转发功能的功能模块、完成任务分发功能的功能模块等。例如,集成电路通过将这些功能模块进行组合,实现控制、运算、存储等功能。
例如,多个功能模块可以进行并行设计和开发,最终共同进行综合、布局布线等。例如,若电路中一个功能模块只出现一次,则对该功能模块来说,实例(instance)和功能模块表示相同的含义,均指该功能模块;若集成电路中一个功能模块出现多次且被命名为不同名称时,这些具有不同名称的功能模块称为不同的实例,例如,集成电路包括两个功能模块1,两个功能模块1具有不同的命名且分别可以称之为实例1和实例2。
在集成电路的设计流程中的多个设计阶段会对电路进行仿真验证,包括前仿真、综合后仿真和后仿真等。例如,前仿真包括寄存器传输级(Register Transfer Level,简称RTL)仿真,寄存器传输级仿真是基于RTL文件进行仿真,对逻辑功能进行测试模拟,以验证功能是否满足设计要求。例如,综合后仿真将标准延时文件反标注至综合仿真模型中,以估计门延时对电路带来的影响。例如,后仿真包括对布局布线后的网表进行仿真,这种仿真更接近真实电路器件运行的情况。
在集成电路的仿真验证过程中,通常编写程序或模块,构造一个仿真激励的产生器,将仿真激励输入集成电路的顶层输入端口,模拟执行和验证硬件模型的功能正确性,对集成电路进行系统级的逻辑功能仿真。例如,对于一组模拟的输入激励,其可以用于验证该组输入激励所模拟的场景,在集成电路的设计中,需要对多种场景下的集成电路的电路工作状态进行模拟、测试,确保集成电路在各种场景下均能够正常工作。
对于大规模集成电路,一些关键功能模块(例如执行运算任务的功能模块,如乘法器等)的功耗对于集成电路的整体性能至关重要。集成电路真正的功耗需要在布局布线完成后才能进行测试得到,例如,可以对布局布线后的电路进行后仿真得到波形文件,根据该波形文件分析功耗。虽然后仿波形非常接近真实电路情况,但后仿周期很长,并且需要大量的硬件资源和时间,尤其在超大规模的集成电路中,例如CPU(中央处理器)或GPU(图形处理器)芯片,设计人员很难做到对整个电路各种模式下的仿真验证。相比而言,前仿真所花费的时间会少很多,因此,可以利用前仿波形得到后仿波形,使得功耗分析可以跟随自动布局布线在项目中同步进行,大大提高了功耗分析速度,对功耗分析和优化起到关键作用。
但是,目前的功耗分析方案仅能对集成电路进行整体性、系统级的功耗分析,输入激励通过外部输入端口进入集成电路后,经过多级数据传输(如寄存器或其他功能模块等)才能到达关键功能模块的输入端口,从而无法针对性地仅对其中的关键功能模块进行功耗分析,由此也无法针对性地对这些关键功能模块进行功耗优化。
此外,对于集成电路中的多个功能模块,各个功能模块很可能是在不同的场景下工作。例如,对于集成电路中的多个乘法器,部分乘法器在场景1下工作,部分乘法器在场景2下工作,场景1和场景2彼此不相关,对于大规模集成电路,很难构造一种场景使得全部乘法器都处于功耗最高状态等测试状态,由此也无法测试集成电路在乘法器都处于功耗最高状态等测试状态时的功耗。
本公开至少一实施例提供一种功耗分析方法、功耗分析装置、电子设备和非瞬时性计算机可读存储介质。该功耗分析方法包括:获取待测试功能模块处于目标测试状态时对应的输入激励;确定待测试功能模块的输入端口在集成电路的门级网表文件中对应的状态元件;将待测试功能模块的输入端口与状态元件建立映射关系;基于映射关系和门级网表文件,对集成电路进行仿真功耗分析,其中,在仿真功耗分析过程中,输入激励被输入到状态元件。
该功耗分析方法能够进行功能模块级别的功耗详细分析,得到所关注的功能模块的动态功耗,允许对单个功能模块进行功耗分析,或者对多个功能模块进行并行的功耗分析,确定集成电路中的关键功能模块的功耗对整个集成电路的影响,从而可以后续针对性地对这些功能模块进行相关的优化。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1为本公开至少一实施例提供的一种功耗分析方法的示意性流程图。
例如,该功耗分析方法应用于集成电路的设计(design)。例如,该集成电路包括多个功能模块,关于功能模块的定义如前文所述,这里不再赘述。
例如,待测试功能模块为多个功能模块中的一个关键功能模块,例如,待测试功能模块可以是执行运算任务的功能模块,或者可以是执行数据传输功能的功能模块,本公开对此不作具体限制。
例如,待测试功能模块可以是集成电路中的实例,关于实例的概念如前文所述。在集成电路包括多个对应同一功能模块的实例时,可以将各个实例分别作为待测试功能模块,独立进行功耗分析。
例如,待测试功能模块还可以是多个功能模块中的部分功能模块,例如两个或更多功能模块整体作为待测试功能模块。例如,多个功能模块可以由不同开发团队并行开发,每个开发团队负责其中的部分功能模块,在进行功耗测试时,可以将各个团队负责的部分功能模块作为本发明中的待测试功能模块,对各个开发团队负责的待测试功能模块分别进行功耗分析以及优化。
在本公开中,待测试功能模块为希望进行功耗分析及优化的电路逻辑,待测试功能模块的内容、划分方式、在集成电路中的范围、功能等,本领域技术人员可以根据需要选择,本公开对此不作具体限制。
例如,待测试功能模块可以是寄存器传输级描述文件(Register TransferLevel,简称RTL)的形式,或者,待测试功能模块可以是门级网表(Gate-Level netlist)形式。RTL级的综合级别(或者抽象程度)比门级网表高,RTL级别涉及的电路元件通常是寄存器或组合逻辑,门级网表中描述的电路元件是“门”(gate)或与此同级别的电路元件。本公开对待测试功能模块的形式不作具体限制。
例如,如图1所示,本公开实施例提供的功耗分析方法包括步骤S10至S40。
在步骤S10,获取待测试功能模块处于目标测试状态时对应的输入激励。
例如,目标测试状态为待测试功能模块的期望工作状态。例如,若期望待测试功能模块在高能耗状态运行以测试集成电路的热限制,则目标测试状态可以是功耗最高状态;例如,若期望待测试功能模块在低功耗状态运行以测试集成电路处于休眠状态或低电量状态时的电池寿命,则目标测试状态可以是漏电流最低状态,或者功耗最低状态。当然,目标测试状态还可以是其它期望的工作状态,本公开对此不作具体限制。
例如,步骤S10可以包括:确定至少一个仿真激励;根据至少一个仿真激励对待测试功能模块进行仿真测试;在仿真测试过程中,将待测试功能模块处于目标测试状态时输入的仿真激励作为输入激励。
例如,确定至少一个仿真激励,可以包括:根据待测试功能模块的目标测试状态,构建至少一组随机输入数据,将至少一组随机输入数据作为至少一个仿真激励;或者,根据集成电路对应的在架构设计阶段定义的模块输入输出行为标准,确定至少一个仿真激励。
例如,根据至少一个仿真激励对待测试功能模块进行仿真测试,可以包括:将至少一个仿真激励依次输入待测试功能模块的输入端口,得到待测试功能模块的输出波形;根据输出波形,判断待测试功能模块是否处于目标测试状态;响应于待测试功能模块处于目标测试状态,将当前输入的仿真激励作为输入激励,响应于待测试功能模块不处于目标测试状态,继续输入下一个仿真激励进行仿真测试,直到得到输入激励。
例如,可以将待测试功能模块作为一个独立的单元电路进行仿真测试,此时,输入激励无需再通过多级信号传输到达待测试功能模块,而是可以直接输入待测试功能模块的输入端口,因此可以更容易覆盖到待测试功能模块的多种模拟场景,构造多种模拟场景下的仿真激励并直接输入待测试功能模块,较为便捷、快速、低成本地得到待测试功能模块处于目标测试状态时的输入激励。
例如,输入激励与目标测试状态有关。例如对于乘法器,获取乘法器处于功耗最高状态时的输入激励时,可以构造多组随机数作为仿真激励,将仿真激励直接输入待测试功能模块(乘法器)的输入端口,得到待测试功能模块输出端口的输出波形。根据输出波形,可以判断待测试功能模块是否处于功耗最高状态,在得到期望的输出波形后,将能够输出该期望的输出波形的仿真激励作为输入激励。
例如,在集成电路设计过程中,架构设计阶段的输出成果是一个正式的架构设计文档和一套C模型。架构设计文档描述了集成电路的工作原理,而C模型则进一步定义了集成电路的输入输出行为。例如,仿真激励可以是来自C模型中定义的与待测试功能模块相关的定点格式的输入数据。
在得到待测试功能模块处于目标测试状态时对应的输入激励的过程中,将待测试功能模块作为一个独立的单元电路进行分析,从而可以直接将构造的仿真激励输入待测试功能模块的输入端口,直接对单元电路进行功耗分析,由此无需再将集成电路作为一个整体,输入激励无需经过多级信号传输才能到达待测试功能模块,从而可以快速、低成本地得到待测试功能模块处于目标测试状态时对应的输入激励。
例如,在仿真测试过程中,也可以基于整个集成电路的设计得到输入激励,例如将构造的仿真激励输入集成电路,构造的仿真激励主要与待测试功能模块相关,根据待测试功能模块的输出波形确定待测试功能模块是否处于目标测试状态,得到输入激励,具体过程不再赘述。
图2为本公开至少一实施例提供的待测试功能模块的仿真测试示意图。
如图2所示,对于待测试功能模块102,可以作为独立的单元电路进行仿真测试。仿真激励生成器101用于生成一个或多个仿真激励输入待测试功能模块。模拟时钟生成器103用于生成模拟时钟信号并提供给待测试功能模块102。由此,待测试功能模块102可以在模拟时钟信号的控制下,接收仿真激励,输出对应的输出波形,根据输出波形确定待测试功能模块处于目标测试状态时对应的输入激励。
在该实施例中,通过将待测试功能模块作为单独的单元电路进行仿真测试,可以为待测试功能模块便捷地建立自定义的输入激励,较为容易地覆盖各种测试场景,以使得待测试功能模块处于目标测试状态。
在步骤S20,确定待测试功能模块的输入端口在集成电路的门级网表文件中对应的状态元件。
状态元件为集成电路中会对电路状态产生影响的电路元件。例如,状态元件可以包括集成电路的输入端口(INPUT PORT)、寄存器、存储器等。
在集成电路的设计过程中,不同版本的RTL及网表之间的状态元件需要匹配,这里的匹配指它们具有一对一的映射关系。
例如,待测试功能模块为RTL形式,对RTL文件进行综合得到门级网表文件,门级网表的电路功能与RTL文件一致。例如,待测试功能模块的输入端口经过综合后在门级网表中具有对应的状态元件,例如,待测试功能模块的输入端口在门级网表中对应的状态元件为寄存器,寄存器在系统时钟的控制下,将输入信号输入待测试功能模块。
例如,集成电路采用层次设计(hierarchy design)的方式进行设计,经过综合或优化迭代等过程后,集成电路的层次可能发生变化。
例如,待测试功能模块属于第一集成电路设计,第一集成电路设计可以是RTL文件形式或门级网表形式,第一集成电路设计与“集成电路的门级网表文件”的描述形式或层级结构不同。例如,第一集成电路设计可以是RTL文件,此时第一集成电路设计与“集成电路的门级网表文件”的描述形式不同;例如,当第一集成电路设计也是门级网表形式时,第一集成电路设计的层级结构与集成电路的门级网表文件不同。
例如,待测试功能模块的输入端口在第一集成电路设计中的层级与该输入端口对应的状态元件在集成电路的门级网表文件不同,因此,需要在步骤S30,将待测试功能模块的输入端口与状态元件建立映射关系,使得待测试功能模块的输入端口与对应状态元件相匹配,由此可以利用集成电路的门级网表文件对集成电路进行仿真功耗分析。
例如,映射关系指示,待测试功能模块的输入端口在网表文件中映射为状态元件的输出端口。
图3为本公开至少一实施例提供的待测试功能模块与门级电路结构的映射关系示意图。
如图3所示,待测试功能模块100属于第一集成电路设计,第一集成电路设计例如是RTL文件形式。
如图3所示,待测试功能模块100包括输入端口A0、输入端口A1和输入端口A2,此外,待测试功能模块还包括时钟信号输入端口CLK。
待测试功能模块在集成电路的网表文件中对应的门级电路结构如图3中的门级电路结构200所示。
例如,待测试功能模块的输入端口A0对应的状态元件为寄存器201_A0,待测试功能模块的输入端口A1对应的状态元件为寄存器201_A1,待测试功能模块的输入端口A2对应的状态元件为寄存器201_A2。
如图3所示,门级电路结构200还包括电路逻辑202,用于完成待测试功能模块的电路功能,以及输出寄存器203。
例如,待测试功能模块的输入端口在第一集成电路设计中的层级与对应的状态元件在门级电路结构中的层级不同,需要为待测试功能模块的输入端口与状态元件建立映射关系。
例如,映射关系如下所示:
DesignName0/A0=>DesignName1/U0/Q0
DesignName0/A1=>DesignName1/U1/Q1
DesignName0/A2=>DesignName1/U2/Q2
……
例如,输入端口A0的层级(或层次关系)为DesignName0/A0,表示输入端口A0在设计DesignName0内;输入端口A1的层级为DesignName0/A1;输入端口A2的层级为DesignName0/A2。
例如,输入端口A0对应的状态元件为寄存器201_A0,输入端口A0在集成电路的网表文件中映射为寄存器201_A0的输出端口Q0,寄存器201_A0在集成电路的网表文件中的层级为DesignName1/U0,其与输入端口A0在第一集成电路设计中的层级不同。
例如,输入端口A1对应的状态元件为寄存器201_A1,输入端口A1在集成电路的网表文件中映射为寄存器201_A1的输出端口Q1,寄存器201_A1在集成电路的网表文件中的层级为DesignName1/U1,其与输入端口A1在第一集成电路设计中的层级不同。
类似的,输入端口A2对应的状态元件为寄存器201_A2,输入端口A2在集成电路的网表文件中映射为寄存器201_A2的输出端口Q2,寄存器201_A2在集成电路的网表文件中的层级为DesignName1/U2,其与输入端口A2在第一集成电路设计中的层级不同。
当然,待测试功能模块还可以包括更多的输入端口,这些输入端口也在集成电路的网表文件中具有对应的状态元件,与输入端口A0等类似,将这些输入端口与对应的状态元件分别建立映射关系,使得它们相匹配(match),这里不再赘述。
在步骤S40,基于映射关系和门级网表文件,对集成电路进行仿真功耗分析,其中,在仿真功耗分析过程中,输入激励被输入到状态元件。
例如,步骤S40可以包括:基于映射关系,将输入激励输入门级网表文件中的状态元件,以模拟输入激励通过状态元件输入到待测试功能模块对应的门级电路结构时的电路状态;根据电路状态,对集成电路进行功耗分析。
例如,在进行功耗分析时,将输入激励输入到状态元件,从而待测试功能模块的输入端口处的输入波形与建立映射关系的状态元件的输出端口处的波形相同,由此待测试功能模块对应的门级电路结构能够在输入激励的作用下,运行在期望的工作状态。
例如,根据待测试功能模块的输入端口与集成电路的门级网表文件中状态元件的对应关系,可以利用功率重放技术(power replay),将输入激励输入状态元件,基于状态元件的状态逐周期地重放状态元件之间的波形,模拟待测试功能模块对应的门级电路结构的电路状态,得到待测试功能模块的模拟波形。
例如,功率重放技术支持选择集成电路的功耗分析区域,从而能够针对性地对待测试功能模块进行单独的功耗测试。
例如,基于映射关系,将输入激励输入门级网表文件中的状态元件,以模拟输入激励通过状态元件输入到待测试功能模块对应的门级电路结构的电路状态,可以包括:设置集成电路的门级网表文件中除待测试功能模块对应的门级电路结构以外的电路部分为不工作状态,将输入激励输入到状态元件;或者仅将输入激励输入状态元件,并让输入激励仅通过门级电路结构传播。
例如,在一些实施例中,在功耗分析过程中,可以设置集成电路的门级网表文件中除门级电路结构以外的电路部分为不工作状态,例如其他电路部分不提供输入数据,使其处于“X”状态(不定态),将输入激励输入到对应的状态元件,由此可以得到仅包含待测试功能模块的功耗分析结果。
例如,在另一些实施例中,在功耗分析过程中,可以仅将输入激励注入对应的状态元件,并让输入激励仅通过待测试功能模块传播,由此可以得到仅包含待测试功能模块的功耗分析结果。
例如,根据电路状态,对集成电路进行功耗分析,可以包括:获取门级电路结构在接收到输入激励时生成的输出结果;根据输出结果,对待测试功能模块对应的门级电路结构进行功耗分析。
例如,输出结果可以是电流波形,通过电流波形可以计算门级电路结构的动态功耗,以对待测试功能模块对应的门级电路结构进行功耗分析。
在该实施例中,能够得到功能模块级的功耗详细分析结果,例如可以得到待测试功能模块的功耗详细分析结果,之后,可以根据功耗分析的结果,对待测功能模块进行针对性的优化。不同于目前技术方案仅能得到集成电路的整体功耗,本发明至少一实施例提供的功耗分析方法能够得到更细粒度,例如功能模块级别的功耗分析结果,从而可以在集成电路的优化过程中,为这些功能模块的优化提供决策参考。
例如,在集成电路包括多个待测试功能模块时,多个待测试功能模块的类型可以相同,例如均为乘法器。
例如,在一些实施例中,多个待测试功能模块的目标测试状态可以均相同。例如,此时可以对其中一个待测试功能模块执行步骤S10,得到待测试功能模块处于目标测试状态时对应的输入激励,之后,在步骤S20得到各个待测试功能模块的输入端口在集成电路的门级网表文件中分别对应的状态元件,并在步骤S30中将各个待测试功能模块的输入端口与对应的状态元件建立映射关系,最后在步骤S40中,将输入激励输入到各个待测试功能模块分别对应的状态元件中,参考步骤S40的过程进行仿真测试。
例如,在另一些实施例中,在集成电路包括多个待测试功能模块时,多个待测试功能模块的目标测试状态可以不完全相同,例如,部分待测试功能模块的目标测试状态为第一测试状态,其他待测试功能模块的目标测试状态为第二测试状态。例如,此时可以对一个待测试功能模块执行步骤S10,得到待测试功能模块处于第一测试状态时对应的第一输入激励,以及待测试功能模块处于第二测试状态时对应的第二输入激励;之后,在步骤S20得到各个待测试功能模块的输入端口在集成电路的门级网表文件中分别对应的状态元件,并在步骤S30中将各个待测试功能模块的输入端口与对应的状态元件建立映射关系;最后,在步骤S40中,将第一输入激励输入到目标测试状态为第一测试状态的待测试功能模块对应的状态元件中,将第二输入激励输入到目标测试状态为第二测试状态的待测试功能模块对应的状态元件中,参考步骤S40的过程进行功耗分析。当然,需要说明的是,目标测试状态还可以包括第三测试状态、第四测试状态等,这里不再赘述。
例如,以待测试功能模块为乘法器为例,例如集成电路中包括N个乘法器,对其中一个乘法器进行仿真测试,参考步骤S10得到乘法器输出期望波形时输入的随机分布,之后,可以在进行功耗分析时,将该随机分布输入N个乘法器的输入端口对应的状态元件,结合功率重放技术进行功耗分析;或者,N个乘法器中的M个乘法器对应第一测试状态,N-M个乘法器对应第二测试状态,乘法器处于第一测试状态时对应的输入激励为第一随机分布,乘法器处于第二测试状态时对应的输入激励为第二随机分布,在进行功耗分析时,将第一随机分布输入该M个乘法器的输入端口对应的状态元件,将第二随机分布输入该N-M个乘法器的输入端口对应的状态元件,结合功率重放技术进行功耗分析。这里M和N为正整数。
例如,多个待测试功能模块中的至少部分在第一集成电路设计中的层级结构不同。例如,对于集成电路中的N个待测试模块,N个待测试模块在集成电路中的层级结构可以不完全相同,例如一些待测试模块位于顶层,一些待测试模块位于第一子设计下的模块A,一些待测试模块位于第二子设计下的模块B,一些待测试模块位于模块A下的子模块C等,本公开对此不作具体限制。
在上述实施例中,将待测试功能模块作为独立电路进行仿真测试,能够较为便捷、快速、低成本地得到待测试功能模块处于目标测试状态时的输入激励,多个待测试功能模块可以对应相同目标测试状态,或者具有不同的目标测试状态,各个待测试功能模块可以独立分析功耗,或者也可以综合分析各个待测试功能模块都处于目标测试状态时的功耗,即使集成电路本身结构复杂庞大,或者待测试功能模块在集成电路的层级结构不同,也不影响方案的实施,仍然可以执行功耗分析。
例如,在集成电路包括多个待测试功能模块时,多个待测试功能模块的类型可以不同,例如待测试功能模块可以包括计算单元、传输单元等。
例如,在一些实施例中,基于映射关系和门级网表文件,对集成电路进行功耗分析,可以包括:基于每个待测试功能模块的映射关系以及门级网表文件,对集成电路进行功耗分析;其中,在功耗分析过程中,对多个待测试功能模块对应的多个门级电路结构分别独立进行功耗分析。
例如,在该实施例中,每个待测试功能模块分别执行步骤S10-S30,得到各个待测试功能模块对应的输入激励、各个待测试功能模块的输入端口对应的状态元件,并对各个待测试功能模块的输入端口对应的状态元件和待测试功能模块的输入端口建立映射关系,重复之处不再赘述。之后,将各个待测试功能模块对应的输入激励分别输入各个待测试功能模块对应的状态元件,使得输入激励通过对应的门级电路结构在集成电路中传播,对集成电路的整体功耗进行分析。例如,可以测试集成电路中的所有关注的功能模块都处于功耗最高状态时的热限制,或者,可以测试集成电路中的所有关注的功能模块都处于功耗最低状态时的电池寿命。
例如,在另一些实施例中,在集成电路包括多个待测试功能模块时,待测试功能模块可以分别独立执行步骤S10-S40,对各个待测试功能模块独立进行并行的功耗分析。
与上述功耗分析方法相对应,本公开至少一实施例还提供一种功耗分析装置,图4为本公开至少一实施例提供的一种功耗分析装置的示意性框图。
例如,该功耗分析装置用于集成电路的设计,集成电路包括待测试功能模块。关于待测试功能模块的相关描述可以参考前述功耗分析方法的相关内容,这里不再赘述。
例如,如图4所示,功耗分析装置300包括:获取单元301、确定单元302、映射单元303和分析单元304。
获取单元301配置为获取待测试功能模块处于目标测试状态时对应的输入激励。
确定单元302配置为确定待测试功能模块的输入端口在集成电路的门级网表文件中对应的状态元件。
映射单元303配置为将待测试功能模块的输入端口与状态元件建立映射关系;
分析单元304配置为基于映射关系和门级网表文件,对集成电路进行仿真功耗分析,其中,在仿真功耗分析过程中,输入激励被输入到状态元件。
例如,获取单元301执行获取待测试功能模块处于目标测试状态时对应的输入激励时,包括执行以下操作:确定至少一个仿真激励;根据至少一个仿真激励对待测试功能模块进行仿真测试;在仿真测试过程中,将待测试功能模块处于目标测试状态时输入的仿真激励作为输入激励。
例如,获取单元301执行确定至少一个仿真激励时,包括执行以下操作:根据待测试功能模块的目标测试状态,构建至少一组随机输入数据,将至少一组随机输入数据作为至少一个仿真激励;或者,根据集成电路对应的在架构设计阶段定义的模块输入输出行为标准,确定至少一个仿真激励。
例如,获取单元301执行根据至少一个仿真激励对待测试功能模块进行仿真测试时,包括执行以下操作:将至少一个仿真激励依次输入待测试功能模块的输入端口,得到待测试功能模块的输出波形;根据输出波形,判断待测试功能模块是否处于目标测试状态;响应于待测试功能模块处于目标测试状态,将当前输入的仿真激励作为输入激励,响应于待测试功能模块不处于目标测试状态,继续输入下一个仿真激励进行仿真测试,直到得到输入激励。
例如,分析单元304执行基于映射关系和门级网表文件,对集成电路进行功耗分析,包括执行以下操作:基于映射关系,将输入激励输入门级网表文件中的状态元件,以模拟输入激励通过状态元件输入到待测试功能模块对应的门级电路结构的电路状态;根据电路状态,对集成电路进行功耗分析。
例如,分析单元304执行根据电路状态,对集成电路进行功耗分析时,包括执行以下操作:获取门级电路结构在接收到输入激励时生成的输出结果;根据输出结果,对待测试功能模块对应的门级电路结构进行功耗分析。
分析单元304执行基于映射关系,将输入激励输入门级网表文件中的状态元件,以模拟输入激励通过状态元件输入到待测试功能模块对应的门级电路结构的电路状态时,包括执行以下操作:设置集成电路的门级网表文件中除门级电路结构以外的电路部分为不工作状态,将输入激励输入到状态元件;或者仅将输入激励输入状态元件,并让输入激励仅通过门级电路结构传播。
例如,目标测试状态包括功耗最高状态或漏电流最低状态。
例如,映射关系指示,待测试功能模块的输入端口在网表文件中映射为状态元件的输出端口。例如,功耗分析装置300还包括优化单元(未示出),优化单元配置为根据功耗分析的结果,对待测功能模块进行优化。
例如,待测试功能模块属于第一集成电路设计,第一集成电路设计的描述形式包括寄存器传输级描述文件形式或门级网表形式;第一集成电路设计的描述形式或层级结构与集成电路的门级网表文件不同。
例如,集成电路包括多个待测试功能模块,多个待测试功能模块的目标测试状态相同;或者多个待测试功能模块的目标测试状态不完全相同。
例如,多个待测试功能模块中的至少部分在第一集成电路设计中的层级结构不同。
例如,获取单元301、确定单元302、映射单元303和分析单元304包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的获取单元301、确定单元302、映射单元303和分析单元304的一些功能或全部功能。例如,获取单元301、确定单元302、映射单元303和分析单元304可以是专用硬件器件,用来实现如上所述的获取单元301、确定单元302、映射单元303和分析单元304的一些或全部功能。例如,获取单元301、确定单元302、映射单元303和分析单元304可以是一个电路板或多个电路板的组合,用于实现如上所述的功能。在本申请实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的存储器;以及(3)处理器可执行的存储在存储器中的固件。
需要说明的是,获取单元301用于实现图1所示的步骤S10,确定单元302用于实现图1所示的步骤S20,映射单元303用于实现图1所示的步骤S30,分析单元304用于实现图1所示的步骤S40。从而关于获取单元301的具体说明可以参考上述功耗分析方法的实施例中图1所示的步骤S10的相关描述,关于确定单元302的具体说明可以参考上述功耗分析方法的实施例中图1所示的步骤S20的相关描述,关于映射单元303的具体说明可以参考上述功耗分析方法的实施例中图1所示的步骤S30的相关描述,关于分析单元304的具体说明可以参考上述功耗分析方法的实施例中图1所示的步骤S40的相关描述。此外,功耗分析装置可以实现与前述功耗分析方法相似的技术效果,在此不再赘述。
本公开至少一实施例还提供一种电子设备,图5为本公开至少一实施例提供的一种电子设备的示意性框图。
例如,如图5所示,该电子设备包括处理器401、通信接口402、存储器403和通信总线404。处理器401、通信接口402、存储器403通过通信总线404实现相互通信,处理器401、通信接口402、存储器403等组件之间也可以通过网络连接进行通信。本公开对网络的类型和功能在此不作限制。
例如,存储器403用于非瞬时性地存储计算机可执行指令。处理器401用于运行计算机可执行指令时,计算机可执行指令被处理器401运行时实现根据上述任一实施例所述的功耗分析方法。关于该功耗分析方法的各个步骤的具体实现以及相关解释内容可以参见上述功耗分析方法的实施例,在此不作赘述。
例如,处理器401执行存储器403上所存储的程序而实现功耗分析方法的实现方式,与前述功耗分析方法的实施例部分所提及的实现方式相同,这里也不再赘述。
例如,通信总线404可以是外设部件互连标准(PCI)总线或扩展工业标准结构(EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
例如,通信接口402用于实现电子设备与其他设备之间的通信。
例如,处理器401和存储器403可以设置在服务器端(或云端)。
例如,处理器401可以控制电子设备中的其它组件以执行期望的功能。处理器401可以是中央处理器(CPU)、网络处理器(NP)等,还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。
例如,存储器403可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可执行指令,处理器401可以运行所述计算机可执行指令,以实现电子设备的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
例如,关于电子设备执行功耗分析的过程的详细说明可以参考功耗分析方法的实施例中的相关描述,重复之处不再赘述。
图6为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图6所示,在存储介质500上可以非暂时性地存储一个或多个计算机可执行指令501。例如,当计算机可执行指令501由处理器执行时可以执行根据上文所述的功耗分析方法中的一个或多个步骤。
例如,该存储介质500可以应用于上述电子设备和/或功耗分析装置1400中。例如,存储介质500可以包括电子设备中的存储器1003。
例如,关于存储介质500的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。单元仅是说明性的,并且系统和方法的不同方面可以使用不同单元。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过计算机程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
Claims (21)
1.一种功耗分析方法,用于集成电路的设计,其中,所述集成电路包括待测试功能模块,
所述功耗分析方法包括:
获取所述待测试功能模块处于目标测试状态时对应的输入激励;
确定所述待测试功能模块的输入端口在所述集成电路的门级网表文件中对应的状态元件;
将所述待测试功能模块的输入端口与所述状态元件建立映射关系;
基于所述映射关系和所述门级网表文件,对所述集成电路进行仿真功耗分析,其中,在所述仿真功耗分析过程中,所述输入激励被输入到所述状态元件。
2.根据权利要求1所述的功耗分析方法,其中,获取所述待测试功能模块处于目标测试状态时对应的输入激励,包括:
确定至少一个仿真激励;
根据所述至少一个仿真激励对所述待测试功能模块进行仿真测试;
在所述仿真测试过程中,将所述待测试功能模块处于所述目标测试状态时输入的仿真激励作为所述输入激励。
3.根据权利要求2所述的功耗分析方法,其中,确定至少一个仿真激励,包括:
根据所述待测试功能模块的目标测试状态,构建至少一组随机输入数据,将所述至少一组随机输入数据作为所述至少一个仿真激励;或者,
根据所述集成电路对应的在架构设计阶段定义的模块输入输出行为标准,确定所述至少一个仿真激励。
4.根据权利要求2所述的功耗分析方法,其中,根据所述至少一个仿真激励对所述待测试功能模块进行仿真测试,包括:
将所述至少一个仿真激励依次输入所述待测试功能模块的输入端口,得到所述待测试功能模块的输出波形;
根据所述输出波形,判断所述待测试功能模块是否处于所述目标测试状态;
响应于所述待测试功能模块处于所述目标测试状态,将当前输入的仿真激励作为所述输入激励,
响应于所述待测试功能模块不处于所述目标测试状态,继续输入下一个仿真激励进行所述仿真测试,直到得到所述输入激励。
5.根据权利要求1所述的功耗分析方法,其中,基于所述映射关系和所述门级网表文件,对所述集成电路进行功耗分析,包括:
基于所述映射关系,将所述输入激励输入所述门级网表文件中的所述状态元件,以模拟所述输入激励通过所述状态元件输入到所述待测试功能模块对应的门级电路结构的电路状态;
根据所述电路状态,对所述集成电路进行功耗分析。
6.根据权利要求5所述的功耗分析方法,其中,根据所述电路状态,对所述集成电路进行功耗分析,包括:
获取所述门级电路结构在接收到所述输入激励时生成的输出结果;
根据所述输出结果,对所述待测试功能模块对应的门级电路结构进行功耗分析。
7.根据权利要求5所述的功耗分析方法,其中,基于所述映射关系,将所述输入激励输入所述门级网表文件中的所述状态元件,以模拟所述输入激励通过所述状态元件输入到所述待测试功能模块对应的门级电路结构的电路状态,包括:
设置所述集成电路的门级网表文件中除所述门级电路结构以外的电路部分为不工作状态,将所述输入激励输入到所述状态元件;或者
仅将所述输入激励输入所述状态元件,并让所述输入激励仅通过所述门级电路结构传播。
8.根据权利要求1-7任一项所述的功耗分析方法,其中,所述目标测试状态包括功耗最高状态或漏电流最低状态。
9.根据权利要求1-7任一项所述的功耗分析方法,其中,所述映射关系指示,所述待测试功能模块的输入端口在所述网表文件中映射为所述状态元件的输出端口。
10.根据权利要求1-7任一项所述的功耗分析方法,还包括:
根据所述功耗分析的结果,对所述待测功能模块进行优化。
11.根据权利要求1-7任一项所述的功耗分析方法,其中,所述待测试功能模块属于第一集成电路设计,所述第一集成电路设计的描述形式包括寄存器传输级描述文件形式或门级网表形式;
所述第一集成电路设计的描述形式或层级结构与所述集成电路的门级网表文件不同。
12.根据权利要求1-7任一项所述的功耗分析方法,其中,所述集成电路包括多个所述待测试功能模块,
多个所述待测试功能模块的目标测试状态相同;或者
多个所述待测试功能模块的目标测试状态不完全相同。
13.根据权利要求12所述的功耗分析方法,其中,多个所述待测试功能模块中的至少部分在所述第一集成电路设计中的层级结构不同。
14.一种功耗分析装置,用于集成电路的设计,其中,所述集成电路包括待测试功能模块,
所述功耗分析装置包括:
获取单元,配置为获取所述待测试功能模块处于目标测试状态时对应的输入激励;
确定单元,配置为确定所述待测试功能模块的输入端口在所述集成电路的门级网表文件中对应的状态元件;
映射单元,配置为将所述待测试功能模块的输入端口与所述状态元件建立映射关系;
分析单元,配置为基于所述映射关系和所述门级网表文件,对所述集成电路进行仿真功耗分析,其中,在所述仿真功耗分析过程中,所述输入激励被输入到所述状态元件。
15.根据权利要求14所述的功耗分析装置,其中,所述获取单元执行获取所述待测试功能模块处于目标测试状态时对应的输入激励时,包括执行以下操作:
确定至少一个仿真激励;
根据所述至少一个仿真激励对所述待测试功能模块进行仿真测试;
在所述仿真测试过程中,将所述待测试功能模块处于所述目标测试状态时输入的仿真激励作为所述输入激励。
16.根据权利要求15所述的功耗分析装置,其中,所述获取单元执行根据所述至少一个仿真激励对所述待测试功能模块进行仿真测试,包括执行以下操作:
将所述至少一个仿真激励依次输入所述待测试功能模块的输入端口,得到所述待测试功能模块的输出波形;
根据所述输出波形,判断所述待测试功能模块是否处于所述目标测试状态;
响应于所述待测试功能模块处于所述目标测试状态,将当前输入的仿真激励作为所述输入激励,
响应于所述待测试功能模块不处于所述目标测试状态,继续输入下一个仿真激励进行所述仿真测试,直到得到所述输入激励。
17.根据权利要求14所述的功耗分析装置,其中,所述分析单元执行基于所述映射关系和所述门级网表文件,对所述集成电路进行仿真功耗分析时,包括执行以下操作:
基于所述映射关系,将所述输入激励输入所述门级网表文件中的所述状态元件,以模拟所述输入激励通过所述状态元件输入到所述待测试功能模块对应的门级电路结构时的电路状态;
根据所述电路状态,对所述集成电路进行功耗分析。
18.根据权利要求17所述的功耗分析装置,其中,所述分析单元执行根据所述电路状态,对所述集成电路进行功耗分析时,包括执行以下操作:
获取所述门级电路结构在接收到所述输入激励时生成的输出结果;
根据所述输出结果,对所述待测试功能模块对应的门级电路结构进行功耗分析。
19.根据权利要求17所述的功耗分析方法,其中,所述分析单元执行基于所述映射关系,将所述输入激励输入所述门级网表文件中的所述状态元件,以模拟所述输入激励通过所述状态元件输入到所述待测试功能模块对应的门级电路结构的电路状态时,包括执行以下操作:
设置所述集成电路的门级网表文件中除所述门级电路结构以外的电路部分为不工作状态,将所述输入激励输入到所述状态元件;或者
仅将所述输入激励输入所述状态元件,并让所述输入激励仅通过所述门级电路结构传播。
20.一种电子设备,包括:
存储器,非瞬时性地存储有计算机可执行指令;
处理器,配置为运行所述计算机可执行指令,
其中,所述计算机可执行指令被所述处理器运行时实现根据权利要求1-13任一项所述的功耗分析方法。
21.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1-13任一项所述的功耗分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211511775.6A CN115935870A (zh) | 2022-11-29 | 2022-11-29 | 功耗分析方法、装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211511775.6A CN115935870A (zh) | 2022-11-29 | 2022-11-29 | 功耗分析方法、装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115935870A true CN115935870A (zh) | 2023-04-07 |
Family
ID=86655298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211511775.6A Pending CN115935870A (zh) | 2022-11-29 | 2022-11-29 | 功耗分析方法、装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115935870A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116362168A (zh) * | 2023-05-31 | 2023-06-30 | 芯动微电子科技(珠海)有限公司 | 一种gpgpu离线时钟的建模方法、装置和存储介质 |
-
2022
- 2022-11-29 CN CN202211511775.6A patent/CN115935870A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116362168A (zh) * | 2023-05-31 | 2023-06-30 | 芯动微电子科技(珠海)有限公司 | 一种gpgpu离线时钟的建模方法、装置和存储介质 |
CN116362168B (zh) * | 2023-05-31 | 2023-08-22 | 芯动微电子科技(珠海)有限公司 | 一种gpgpu离线时钟的建模方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111931445B (zh) | 用于调试逻辑系统设计的方法、仿真器及存储介质 | |
KR100491461B1 (ko) | SoC 설계 검증을 위한 방법 및 장치 | |
Davis et al. | BEE3: Revitalizing computer architecture research | |
JP4994393B2 (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
US12001317B2 (en) | Waveform based reconstruction for emulation | |
US7865346B2 (en) | Instruction encoding in a hardware simulation accelerator | |
CN112949233B (zh) | Fpga芯片的自动化开发方法及装置、电子设备 | |
US20060130029A1 (en) | Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium | |
US8000950B2 (en) | Random initialization of latches in an integrated circuit design for simulation | |
CN114462338A (zh) | 一种集成电路的验证方法、装置、计算机设备及存储介质 | |
JP2014154173A (ja) | ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法 | |
CN112100957B (zh) | 用于调试逻辑系统设计的方法、仿真器、存储介质 | |
CN107533473B (zh) | 用于仿真的高效波形生成 | |
US10162915B2 (en) | Method and system for emulation of multiple electronic designs in a single testbench environment | |
CN114707453A (zh) | 芯片功能的验证方法、装置、电子设备及存储介质 | |
CN117667655A (zh) | 验证系统、验证方法、电子设备以及存储介质 | |
CN115935870A (zh) | 功耗分析方法、装置、电子设备、存储介质 | |
US20120166168A1 (en) | Methods and systems for fault-tolerant power analysis | |
CN117910398A (zh) | 仿真逻辑系统设计的方法、电子装置和存储介质 | |
US7703054B2 (en) | Circuit emulation and debugging method | |
US10409624B1 (en) | Data array compaction in an emulation system | |
CN112861455B (zh) | Fpga建模验证系统及方法 | |
CN116048952A (zh) | 一种基于可裁剪ip的实例化模块仿真验证方法及装置 | |
US20190012418A1 (en) | Simulation program, method, and device | |
CN116451625B (zh) | 用于rtl和带sdf网表的联合仿真的装置和方法 |
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 |