CN114861580A - 一种芯片最大功耗确定方法、装置、设备及介质 - Google Patents
一种芯片最大功耗确定方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114861580A CN114861580A CN202210462108.7A CN202210462108A CN114861580A CN 114861580 A CN114861580 A CN 114861580A CN 202210462108 A CN202210462108 A CN 202210462108A CN 114861580 A CN114861580 A CN 114861580A
- Authority
- CN
- China
- Prior art keywords
- logic gate
- logic
- combination
- logic gates
- target
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- 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)
- 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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及集成电路技术领域,尤其涉及一种芯片最大功耗确定方法、装置、设备及介质。所述方法包括:搭建带有形式验证工具的形式验证环境;在形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;对门级模型中的各逻辑门进行组合以生成若干逻辑门组合;通过形式验证工具生成与各逻辑门组合对应的断言,并基于断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;通过形式验证工具为目标逻辑门组合生成波形,并基于目标逻辑门组合的波形确定目标芯片的最大功耗。本发明的方案极大的提高了波形文件的产生效率,节省了大量的人力物力。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种芯片最大功耗确定方法、装置、设备及介质。
背景技术
一款SoC(System on Chip,片上系统)芯片设计成功与否有很多的标准来衡量,目前业界最通用的方法是就是看芯片的功耗,性能,面积这三个参数。因而芯片设计追求的目标就是如何用尽量小的面积来实现更低的功耗,更高的性能。但在市场的压力下,芯片设计团队不可能有充足的时间来实现,因而芯片设计目标就转变成为对面积、功耗和性能的平衡。所以在芯片设计中,必须在流片前对芯片的功耗做出测量,保证最终芯片流片后的功耗符合设计要求。SoC芯片的功耗可以分为静态功耗和动态功耗。静态功耗主要来源于晶体管的泄露电流,这是由工艺决定,通常不在芯片设计的考虑范围之中,因此主要是确实SoC芯片的动态功耗。芯片的动态功耗主要来源于逻辑门翻转时负载电容的充放电的翻转功耗和电路短路时短路电流引起的短路功耗。因此芯片动态功耗的测量可以通过检查逻辑门的翻转来实现,即在某一段时间内如果同时翻转的逻辑门越多,那么动态功耗就越大。
请参照图1所示,图1示出了传统测量动态功耗的流程图,具体来说是在芯片完成后端实现后,由验证工程师提供一段表征芯片活动仿真波形,用后端工具如PTPX(PrimeTime Power Extension,一种功耗仿真工具),读取波形文件来统计逻辑门的翻转率,通过翻转率数据就可以换算出芯片在这段时间内的动态功耗。然而为了使得最大功耗的测量结果更加准确,那么就需要验证工程师提供的波形可以让尽量多的门同时翻转。最困难的是验证工程往往只能基于功能定义测试用例,不可能精确到逻辑门程度,所有为了达到触发尽量多的逻辑门翻转这一目标,需要验证工程师提供大量的仿真波形,不断重复的测量动态功耗值来找到可能的芯片最大功耗,不仅需要耗费较大的人力,而且效率较低,因此亟需对当前业界的主流测量动态功耗进行改进。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种芯片最大功耗确定方法、装置、设备及介质。
根据本发明的第一方面,提供了一种芯片最大功耗确定方法,所述方法包括:
搭建带有形式验证工具的形式验证环境;
在所述形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;
对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合;
通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中,所述断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;
通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗。
在一些实施例中,所述搭建带有形式验证工具的形式验证环境的步骤包括:
基于预先定义的设计文件、时钟信号和复位信号及极性生成支持property的形式验证环境。
在一些实施例中,所述对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合的步骤包括:
通过形式验证工具将所述门级模型中所有的逻辑门导出生成包含逻辑门列表;
读取所述逻辑门列表中的逻辑门并剔除重复的逻辑门;
以门遍历每一种可能性的组合方式对已剔除重复的全部逻辑门进行组合生成若干逻辑门组合。
在一些实施例中,所述通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合的步骤包括:
对各逻辑门组合所包括的逻辑门的数量进行统计;
每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合;
利用所述形式验证工具为所选取的当前逻辑门的数量最多的逻辑门组合生成断言;
响应于所述断言证明当前逻辑门的数量最多的逻辑门组合中所有逻辑门不能同时翻转,则返回执行所述每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合的步骤;
响应于所述断言证明当前逻辑门的数量最多的逻辑门组合中所有逻辑门能同时翻转,则将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合。
在一些实施例中,在执行所述将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合的步骤之前,所述方法还包括:
对所选取的当前逻辑门的数量最多的逻辑门组合作进行合法性验证以判断所选取的当前逻辑门的数量最多的逻辑门组合是否合法;
响应于所选取的当前逻辑门的数量最多的逻辑门组合不合法,则返回执行所述每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合的步骤;
响应于所选取的当前逻辑门的数量最多的逻辑门组合合法,则执行所述将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合的步骤。
在一些实施例中,所述对所选取的当前逻辑门的数量最多的逻辑门组合作进行合法性验证以判断所选取的当前逻辑门的数量最多的逻辑门组合是否合法的步骤包括:
将所选取的当前逻辑门的数量最多的逻辑门组合中的各逻辑门与预设违法逻辑门组合列表进行比对,其中,所述预设违法逻辑门组合列表中包括若干组非法逻辑门的组合;
响应于所选取的当前逻辑门的数量最多的逻辑门组合与所述预设违法逻辑门组合列表存在至少一组相同逻辑门组合,则判定所选取的当前逻辑门的数量最多的逻辑门组合违法;
否则,判定所选取的当前逻辑门的数量最多的逻辑门组合合法。
在一些实施例中,所述通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗的步骤包括:
响应于所述目标逻辑门组合的为多组,则利用所述形式验证工具分别为每组目标逻辑门组合生成波形;
基于波形确定每组目标逻辑门组合的功耗值,并将最大功耗值作为所述目标芯片的最大功耗。
根据本发明的第二方面,提供了一种芯片最大功耗确定装置,所述装置包括:
搭建模块,配置用于搭建带有形式验证工具的形式验证环境;
编译模块,配置用于在所述形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;
组合模块,配置用于对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合;
筛选模块,配置用于通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中,所述断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;
确定模块,配置用于通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的芯片最大功耗确定方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的芯片最大功耗确定方法。
上述一种芯片最大功耗确定方法,利用形式验证工具穷举的特性,可以找到理论上最多的翻转门,使用形式验证来产生波形激励,取代了耗时非常多的门级仿真,极大的提高了波形文件的产生效率,无需等到后端设计完成后才开始,芯片设计工程师可以及时得到反馈,有充裕的时间改变设计代码,给芯片设计节省了大量的人力物力。
此外,本发明还提供了一种芯片最大功耗确定装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为传统测量动态功耗的流程图;
图2为本发明一个实施例提供的一种芯片最大功耗确定方法的流程图;
图3为本发明另一个实施例提供的另一种芯片最大功耗确定方法的流程图;
图4为本发明另一个实施例提供的一种芯片最大功耗确定装置的结构示意图;
图5为本发明另一个实施例中计算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图2所示,本发明提供了一种芯片最大功耗确定方法,具体来说,所述方法包括以下步骤:
步骤101,搭建带有形式验证工具的形式验证环境;
步骤102,在所述形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;
步骤103,对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合;
步骤104,通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中,所述断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;
步骤105,通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗。
上述一种芯片最大功耗确定方法,利用形式验证工具穷举的特性,可以找到理论上最多的翻转门,使用形式验证来产生波形激励,取代了耗时非常多的门级仿真,极大的提高了波形文件的产生效率,无需等到后端设计完成后才开始,芯片设计工程师可以及时得到反馈,有充裕的时间改变设计代码,给芯片设计节省了大量的人力物力。
在一些实施例中,前述步骤101,,搭建带有形式验证工具的形式验证环境具体包括:
基于预先定义的设计文件、时钟信号和复位信号及极性生成支持property的形式验证环境。
在一些实施例中,前述步骤103,对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合具体包括:
通过形式验证工具将所述门级模型中所有的逻辑门导出生成包含逻辑门列表;
读取所述逻辑门列表中的逻辑门并剔除重复的逻辑门;
以门遍历每一种可能性的组合方式对已剔除重复的全部逻辑门进行组合生成若干逻辑门组合。
在一些实施例中,前述步骤104,通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合具体包括:
对各逻辑门组合所包括的逻辑门的数量进行统计;
每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合;
利用所述形式验证工具为所选取的当前逻辑门的数量最多的逻辑门组合生成断言;
响应于所述断言证明当前逻辑门的数量最多的逻辑门组合中所有逻辑门不能同时翻转,则返回执行所述每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合的步骤;
响应于所述断言证明当前逻辑门的数量最多的逻辑门组合中所有逻辑门能同时翻转,则将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合。
在一些实施例中,在执行所述将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合的步骤之前,所述方法还包括:
对所选取的当前逻辑门的数量最多的逻辑门组合作进行合法性验证以判断所选取的当前逻辑门的数量最多的逻辑门组合是否合法;
响应于所选取的当前逻辑门的数量最多的逻辑门组合不合法,则返回执行所述每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合的步骤;
响应于所选取的当前逻辑门的数量最多的逻辑门组合合法,则执行所述将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合的步骤。
在一些实施例中,所述对所选取的当前逻辑门的数量最多的逻辑门组合作进行合法性验证以判断所选取的当前逻辑门的数量最多的逻辑门组合是否合法的步骤具体包括:
将所选取的当前逻辑门的数量最多的逻辑门组合中的各逻辑门与预设违法逻辑门组合列表进行比对,其中,所述预设违法逻辑门组合列表中包括若干组非法逻辑门的组合;
响应于所选取的当前逻辑门的数量最多的逻辑门组合与所述预设违法逻辑门组合列表存在至少一组相同逻辑门组合,则判定所选取的当前逻辑门的数量最多的逻辑门组合违法;
否则,判定所选取的当前逻辑门的数量最多的逻辑门组合合法。
在一些实施例中,前述步骤105,通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗具体步骤包括:
响应于所述目标逻辑门组合的为多组,则利用所述形式验证工具分别为每组目标逻辑门组合生成波形;
基于波形确定每组目标逻辑门组合的功耗值,并将最大功耗值作为所述目标芯片的最大功耗。
在另一个实施例中,为了便于理解本发明的方案,下面以Synopsys的VC formal为例采用本发明方法确定某个SoC芯片的最大功耗为应用场景,请参照图3所示本实施例提供了另一种芯片最大功耗确定方法,具体实施方式如下:
步骤一,搭建基于property的形式验证环境是所有形式验证工具都支持的最基础的工作模式,不需要特别的支持工作。用户只需要指定设计文件,定义时钟、复位信号,就可以生成支持property的形式验证环境。在具体实施过程搭建的形式验证环境部分代码参考如下:
set design top_tb
set vcs“
+lint=TFIPC-L\
${DESIGN_DIR}/*.sv
”
…
read_file–sva top$design–format sverilog–vcs“$vcs”#编译设计代码
create_clock clk–period 100#指定时钟及频率
create_reset rstn–low#指定复位信号及极性
…
步骤二,经过形式验证工具编译执行后,RTL级设计代码被转为门级模型。通过形式验证工具可以很方便的导出电路中所有的逻辑门。常用数字电路逻辑门分为寄存器和组合逻辑两大类,例如Synopsys的VC formal产生包含了逻辑门的路径信息的列表如下:
Registers:142
Dut.genblk2[0].inst_sync2_rstn.first_stage_sync_r
Dut.genblk2[0].inst_sync2_rstn.second_stage_sync_r
Dut.genblk2[1].inst_sync2_rstn.first_stage_sync_r
Dut.genblk2[1].inst_sync2_rstn.second_stage_sync_r
…
Comb.Logics:500
Dut.genblk2[0].inst_sync2_rstn.dout
Dut.genblk2[0].inst_sync2_rstn.second_stage_sync_r
步骤三,利用形式验证工具完成下列任务:读取逻辑门列表中的寄存器逻辑门,剔除可能重复的逻辑门,组合列表中逻辑门,遍历每一种可能的组合,生成system verilog断言以用来证明逻辑门可以在同时翻转,生成的system Verilog断言示例如下:
ivt_logic_reg_all_toggle_ast:assertproperty(p_ivt_sig_toggle_together(combined_regs_bits))
else$display(“ERROR”,“all reg bits could not toggle at the sametime!”)
…
ivt_logic_reg123_toggle_ast:assertproperty(p_ivt_sig_toggle_together(combined_reg123_bits))
else$display(“ERROR”,“reg 1/2/3could not toggle at the same time!”)
ivt_logic_reg13_toggle_ast:assertproperty(p_ivt_sig_toggle_together(combined_reg13_bits))
else$display(“ERROR”,“reg 1/3could not toggle at the same time!”)
ivt_logic_reg23_toggle_ast:assertproperty(p_ivt_sig_toggle_together(combined_reg23_bits))
else$display(“ERROR”,“reg 2/3could not toggle at the same time!”)
ivt_logic_reg12_toggle_ast:assertproperty(p_ivt_sig_toggle_together(combined_reg12_bits))
else$display(“ERROR”,“reg 1/2could not toggle at the same time!”)
步骤四,运行形式验证工具证明自动生成的组合,选取具有最高组合级数的断言,使用形式验证工具自带的功能产生波形,这也就是在某一时刻同时翻转最多的场景。
为了更好理解步骤三和步骤四的内容,不妨假设导出电路中所有的逻辑门为10个,并且是个逻辑门均为不重复的逻辑门,则以组合的方式将10个逻辑均组合到一起作为一个逻辑门组合,然后以从中取出是9个作为新的组合得到九个逻辑门组合,依次类推,直至采取两两组合又得到若干逻辑门组合。后续先从包含逻辑门数量最多的组合开始验证,例如假设包喊是十个的逻辑门组合断言判定其无法同时翻转,则再依次验证包含九个逻辑们的组合情况,为了节省时间,提升效率如果假如已经找到最多包含7个逻辑门的某个组合可以同时翻转,则不需要再对剩余少于7个逻辑门组合进行分析。
步骤,在具体实施过程中考虑到形式验证工具自动找出的场景可能是不合法的,比如不会有这种用法或者功能不支持,这时需要通过约束来剔除不合法的场景,重新再次运行整个流程,直到找出第一个合法的场景为止。
本实施例的种芯片最大功耗确定方法,至少具备以下有益技术效果:
(1)利用形式验证工具穷举的特性,可以找到理论上最多的翻转门,这是通过仿真无法做到的,因为仿真是无法把激励精确地加到单个的逻辑门上;
(2)使用形式验证来产生波形激励,取代了耗时非常多的门级仿真,极大的提高了波形文件的产生效率;
(3)芯片的动态功耗可以提前在RTL代码上就进行估算,不用等到后端设计完成后才开始,芯片设计工程师可以及时得到反馈,有充裕的时间改变设计代码,这无疑给芯片设计节省了大量的人力物力。
在一些实施例中,请参照图4所示,本发明还提供了一种芯片最大功耗确定装置200,所述装置包括:
搭建模块201,配置用于搭建带有形式验证工具的形式验证环境;
编译模块202,配置用于在所述形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;
组合模块203,配置用于对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合;
筛选模块204,配置用于通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中,所述断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;
确定模块205,配置用于通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗。
上述一种芯片最大功耗确定装置,利用形式验证工具穷举的特性,可以找到理论上最多的翻转门,使用形式验证来产生波形激励,取代了耗时非常多的门级仿真,极大的提高了波形文件的产生效率,无需等到后端设计完成后才开始,芯片设计工程师可以及时得到反馈,有充裕的时间改变设计代码,给芯片设计节省了大量的人力物力。
需要说明的是,关于芯片最大功耗确定装置的具体限定可以参见上文中对芯片最大功耗确定方法的限定,在此不再赘述。上述芯片最大功耗确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的芯片最大功耗确定方法,具体来说,所述方法包括以下步骤:
搭建带有形式验证工具的形式验证环境;
在所述形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;
对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合;
通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中,所述断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;
通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的芯片最大功耗确定方法,具体来说,包括执行以下步骤:
搭建带有形式验证工具的形式验证环境;
在所述形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;
对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合;
通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中,所述断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;
通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种芯片最大功耗确定方法,其特征在于,所述方法包括:
搭建带有形式验证工具的形式验证环境;
在所述形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;
对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合;
通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中,所述断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;
通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗。
2.根据权利要求1所述的方法,其特征在于,所述搭建带有形式验证工具的形式验证环境的步骤包括:
基于预先定义的设计文件、时钟信号和复位信号及极性生成支持property的形式验证环境。
3.根据权利要求1所述的方法,其特征在于,所述对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合的步骤包括:
通过形式验证工具将所述门级模型中所有的逻辑门导出生成包含逻辑门列表;
读取所述逻辑门列表中的逻辑门并剔除重复的逻辑门;
以门遍历每一种可能性的组合方式对已剔除重复的全部逻辑门进行组合生成若干逻辑门组合。
4.根据权利要求1所述的方法,其特征在于,所述通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合的步骤包括:
对各逻辑门组合所包括的逻辑门的数量进行统计;
每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合;
利用所述形式验证工具为所选取的当前逻辑门的数量最多的逻辑门组合生成断言;
响应于所述断言证明当前逻辑门的数量最多的逻辑门组合中所有逻辑门不能同时翻转,则返回执行所述每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合的步骤;
响应于所述断言证明当前逻辑门的数量最多的逻辑门组合中所有逻辑门能同时翻转,则将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合。
5.根据权利要求4所述的方法,其特征在于,在执行所述将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合的步骤之前,所述方法还包括:
对所选取的当前逻辑门的数量最多的逻辑门组合作进行合法性验证以判断所选取的当前逻辑门的数量最多的逻辑门组合是否合法;
响应于所选取的当前逻辑门的数量最多的逻辑门组合不合法,则返回执行所述每次从所有逻辑门组合中不放回的选取当前逻辑门的数量最多的逻辑门组合的步骤;
响应于所选取的当前逻辑门的数量最多的逻辑门组合合法,则执行所述将所选取的当前逻辑门的数量最多的逻辑门组合作为所述目标逻辑门组合的步骤。
6.根据权利要求5所述的方法,其特征在于,所述对所选取的当前逻辑门的数量最多的逻辑门组合作进行合法性验证以判断所选取的当前逻辑门的数量最多的逻辑门组合是否合法的步骤包括:
将所选取的当前逻辑门的数量最多的逻辑门组合中的各逻辑门与预设违法逻辑门组合列表进行比对,其中,所述预设违法逻辑门组合列表中包括若干组非法逻辑门的组合;
响应于所选取的当前逻辑门的数量最多的逻辑门组合与所述预设违法逻辑门组合列表存在至少一组相同逻辑门组合,则判定所选取的当前逻辑门的数量最多的逻辑门组合违法;
否则,判定所选取的当前逻辑门的数量最多的逻辑门组合合法。
7.根据权利要求1所述的方法,其特征在于,所述通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗的步骤包括:
响应于所述目标逻辑门组合的为多组,则利用所述形式验证工具分别为每组目标逻辑门组合生成波形;
基于波形确定每组目标逻辑门组合的功耗值,并将最大功耗值作为所述目标芯片的最大功耗。
8.一种芯片最大功耗确定装置,其特征在于,所述装置包括:
搭建模块,配置用于搭建带有形式验证工具的形式验证环境;
编译模块,配置用于在所述形式验证环境中对目标芯片的RTL级设计代码进行编译以生成门级模型;
组合模块,配置用于对所述门级模型中的各逻辑门进行组合以生成若干逻辑门组合;
筛选模块,配置用于通过所述形式验证工具生成与各逻辑门组合对应的断言,并基于所述断言从所有逻辑门组合中筛选出同时翻转逻辑门最多的逻辑门组合作为目标逻辑门组合,其中,所述断言用以证明逻辑门组合中的所有逻辑门是否能同时翻转;
确定模块,配置用于通过所述形式验证工具为所述目标逻辑门组合生成波形,并基于所述目标逻辑门组合的波形确定所述目标芯片的最大功耗。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210462108.7A CN114861580A (zh) | 2022-04-28 | 2022-04-28 | 一种芯片最大功耗确定方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210462108.7A CN114861580A (zh) | 2022-04-28 | 2022-04-28 | 一种芯片最大功耗确定方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114861580A true CN114861580A (zh) | 2022-08-05 |
Family
ID=82636348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210462108.7A Pending CN114861580A (zh) | 2022-04-28 | 2022-04-28 | 一种芯片最大功耗确定方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861580A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117391010A (zh) * | 2023-11-01 | 2024-01-12 | 深圳市合芯数字科技有限公司 | 芯片的功耗波形文件生成方法、设备及存储介质 |
-
2022
- 2022-04-28 CN CN202210462108.7A patent/CN114861580A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117391010A (zh) * | 2023-11-01 | 2024-01-12 | 深圳市合芯数字科技有限公司 | 芯片的功耗波形文件生成方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112232006B (zh) | 一种标准单元库验证方法、装置、电子设备及存储介质 | |
US6292765B1 (en) | Method for automatically searching for functional defects in a description of a circuit | |
US6378112B1 (en) | Verification of design blocks and method of equivalence checking of multiple design views | |
US5835380A (en) | Simulation based extractor of expected waveforms for gate-level power analysis tool | |
US5768145A (en) | Parametrized waveform processor for gate-level power analysis tool | |
US7546559B2 (en) | Method of optimization of clock gating in integrated circuit designs | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
CN111027270B (zh) | 一种用于集成电路设计流程可信设计的方法及电路 | |
US11386250B2 (en) | Detecting timing violations in emulation using field programmable gate array (FPGA) reprogramming | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN104951698B (zh) | 能检测不活跃硬件木马的电路安全可测性设计方法及对硬件木马的检测方法 | |
CN112069763B (zh) | 修正电路的方法 | |
CN112149380A (zh) | 一种标准单元库的指标分析方法及装置 | |
CN109901049B (zh) | 检测集成电路用时序路径中异步路径的方法、装置 | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
CN116227398B (zh) | 一种自动化生成ip核测试激励的方法及系统 | |
CN114637638B (zh) | 一种模板化的存储器测试图形发生器及方法 | |
CN112257358B (zh) | 一种动态功耗精确分析方法及装置 | |
US10515169B1 (en) | System, method, and computer program product for computing formal coverage data compatible with dynamic verification | |
US20060136793A1 (en) | Memory power models related to access information and methods thereof | |
CN116663462A (zh) | 断言验证方法、断言验证平台、电子设备及可读存储介质 | |
US9038006B2 (en) | Method and apparatus for generating gate-level activity data for use in clock gating efficiency analysis | |
CN114861580A (zh) | 一种芯片最大功耗确定方法、装置、设备及介质 | |
US6564360B2 (en) | Static timing analysis method for a circuit using generated clock | |
Liu et al. | An efficient degraded deductive fault simulator for small-delay defects |
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 |