CN110442904A - 一种fpga的功耗模型校准装置和校准方法 - Google Patents
一种fpga的功耗模型校准装置和校准方法 Download PDFInfo
- Publication number
- CN110442904A CN110442904A CN201910580651.5A CN201910580651A CN110442904A CN 110442904 A CN110442904 A CN 110442904A CN 201910580651 A CN201910580651 A CN 201910580651A CN 110442904 A CN110442904 A CN 110442904A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- data
- model
- module
- ideal
- 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.)
- Granted
Links
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
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明实施例提供了一种FPGA的功耗模型校准装置和FPGA的功耗模型校准方法,FPGA的功耗模型校准装置包括:单元实测模块、功耗数据仿真模块、方程组提取模块和方程组求解反标模块;单元实测模块用于对测试单元进行实测,并提取出实测功耗数据;功耗数据仿真模块用于对测试单元进行理想模型仿真得出理想功耗数据;方程组提取模块用于建立方程组;方程组求解反标模块用于对方程组进行求解得到校准数据,并得出校准功耗模型。通过提取实测数据和理想功耗数据,并建立方程组进行求解,最终得出校准数据,最后将校准数据反标到理想功耗模型中得出校准功耗模型,实现了FPGA仿真功耗模型的校准,使得FPGA功耗仿真更准确,减小了功耗分析的误差,有助于FPGA的电路设计。
Description
技术领域
本发明涉及EDA技术领域,更具体地说,涉及一种FPGA的功耗模型校准装置和FPGA的功耗模型校准方法。
背景技术
随着半导体工艺提高,器件规模变大,半导体设计厂商和用户对功耗越来越关心,尤其在FPGA领域,其特有的可编程性使得传统数字电路设计的过程大大简化,越来越多的电子设计人员使用FPGA芯片进行电子系统的设计。在不同的设计中,资源使用率、资源类型、设计中的信号翻转情况,都会对功耗产生影响。
FPGA的功耗对于系统级的供电设计,以及散热方案设计有影响。所以,功耗数据不但要准确,而且要在用户设计初期就要提供。鉴于这项要求的困难程度,FPGA厂商基本都提供了以下两种提供功耗数据的方案。
一、在设计之前,根据设计的规模、资源利用率、信号翻转率等对设计的功耗进行评估,根据评估结果来设计电源和散热系统等。
二、在设计满足布局绕线以及时序约束之后,根据资源的实际使用情况和信号的翻转信息,对功耗进行分析,根据功耗分析的结果对设计进行优化以减少功耗,这项功能一般集成在半导体厂商的EDA工具中。
因此,提出一种对功耗模型进行校准,对于获取FPGA的准确功耗,以及提高FPGA的功耗模型仿真的准确性具有十分重要的意义。
发明内容
本发明要解决的技术问题在于目前功耗模型已经无法准确的仿真出FPGA的功耗数据,导致现在对于FPGA的功耗分析存在较大的误差,影响FPGA的电路设计,针对该技术问题,提供一种FPGA的功耗模型校准装置和FPGA的功耗模型校准方法。
为解决上述技术问题,本发明提供一种FPGA的功耗模型校准装置,所述FPGA的功耗模型校准装置包括:单元实测模块、功耗数据仿真模块、方程组提取模块和方程组求解反标模块;
所述单元实测模块用于对测试单元进行功耗实测,并提取出实测功耗数据;
所述功耗数据仿真模块用于根据存储的数据库,对所述测试单元进行理想模型仿真,并提取得出理想功耗数据;
所述方程组提取模块用于根据所述实测功耗数据和所述理想仿真功耗数据建立方程组;
所述方程组求解反标模块用于对所述方程组进行求解得到校准数据,并将所述校准数据反标到所述理想功耗模型中得出校准功耗模型。
可选的,所述单元实测模块包括:实测模型设计模块和条件实测模块;
所述实测模型设计模块用于根据测试单元的不同功能配置设计不同的实测模型,并提取出各个实测模型的模型参数;
所述条件实测模块用于将所述不同的实测模型在不同的测试条件下进行功耗测试,得到实际功耗数值;所述模型参数和所述实际功耗数值共同构成所述实测功耗数据。
可选的,所述功耗数据仿真模块包括:存储单元和仿真模块;
所述存储单元中存储有测试单元的不同功能配置对应的不同理想仿真模型,以及所述测试单元中各个器件的器件参数;
所述仿真模块用于将所述不同的理想仿真模型在不同的测试条件下进行功耗测试,并提取得到所述理想功耗数据。
可选的,所述方程组求解反标模块包括:解方程模块、校准模块和统计模块;
所述解方程模块用于对所述方程组进行求解得到初步校准数据;
所述矫正模块用于当所述初步校准数据与理想功耗数据相比存在缺少项时,通过预设算法将初步校准数据中的所述缺少项进行补充;
所述统计模块用于根据预设统计规则,对所述初步校准数据和补充数据进行统计,得出校准数据。
进一步地,本发明还提供了一种FPGA的功耗模型校准方法,所述FPGA的功耗模型校准方法包括:
对测试单元进行功耗实测,并提取出实测功耗数据;
根据存储的数据库,对所述测试单元进行理想模型仿真,并提取得出理想功耗数据;
根据所述实测功耗数据和所述理想仿真功耗数据建立方程组;
对所述方程组进行求解得到校准数据,并将所述校准数据反标到所述理想功耗模型中得出校准功耗模型。
可选的,所述对测试单元进行实测,并提取出实测功耗数据包括:
根据测试单元的不同功能配置设计不同的实测模型,并提取出各个实测模型的模型参数;
将所述不同的实测模型在不同的测试条件下进行功耗测试,得到实际功耗数值;所述模型参数和所述实际功耗数值共同构成所述实测功耗数据。
可选的,所述根据存储的数据库,对所述测试单元进行理想模型仿真,并提取得出理想功耗数据包括:
从存储单元中取出测试单元的不同功能配置对应的不同理想仿真模型,以及所述测试单元中各个器件的器件参数;
将所述不同的理想仿真模型在不同的测试条件下进行功耗测试,并提取得到所述理想功耗数据。
可选的,所述测试条件包括:温度、电压、时钟频率、信号翻转率中至少一种工作条件。
可选的,所述对所述方程组进行求解得到校准数据,并将所述校准数据反标到所述理想功耗模型中得出校准功耗模型包括:
对所述方程组进行求解得到初步校准数据;
当所述初步校准数据与理想功耗数据相比存在缺少项时,通过预设算法将初步校准数据中的所述缺少项进行补充;
根据预设统计规则,对所述初步校准数据和补充数据进行统计,得出校准数据。
可选的,所述预设算法包括:
当所述缺少项为测试条件项时,采用多维线性插值算法,根据所述实测功耗数据计算出补充数据;
当所述缺少项为测试模型项时,在理想模型中插入对应的实测条件并将计算结果作为补充数据。
有益效果
本发明实施例提供了一种FPGA的功耗模型校准装置和FPGA的功耗模型校准方法,针对目前功耗模型已经无法准确的仿真出FPGA的功耗数据,导致现在对于FPGA的功耗分析存在较大的误差,影响FPGA的电路设计的问题,提供的FPGA的功耗模型校准装置包括:单元实测模块、功耗数据仿真模块、方程组提取模块和方程组求解反标模块;单元实测模块用于对测试单元进行实测,并提取出实测功耗数据;功耗数据仿真模块用于根据存储的数据库,对测试单元进行理想模型仿真得出理想功耗数据;方程组提取模块用于根据实测功耗数据和理想仿真功耗数据建立方程组;方程组求解反标模块用于对方程组进行求解得到校准数据,并将校准数据反标到理想功耗模型中得出校准功耗模型。通过提取实测数据和理想功耗数据,并建立方程组进行求解,最终得出校准数据,最后将校准数据反标到理想功耗模型中得出校准功耗模型,从而实现了FPGA仿真功耗模型的校准,提高了FPGA功耗仿真的准确性,减小了功耗分析的误差值,有助于FPGA的电路设计。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明第一实施例提供的一种FPGA的功耗模型校准装置的结构示意图。
图2为本发明第一实施例提供的一种单元实测模块的结构示意图;
图3为本发明第二实施例提供的一种FPGA的功耗模型校准方法的基本流程图;
图4为本发明第三实施例提供的一种FPGA的功耗模型校准装置的结构示意图;
图5为本发明第三实施例提供的实测功耗数据的组成示意图;
图6为本发明第三实施例提供的一种功耗模型校准的方法流程示意图;
图7为本发明第三实施例提供的需要获取指定条件下的功耗数据流程示意图;
图8为本发明第四实施例提供的实测模型示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
第一实施例
目前影响FPGA功耗的因素有很多,主要包括一下几类:
一、环境条件,如环境温度、散热等。
二、工作条件,如工作电压、内部信号翻转率、外部驱动负载等。
三、器件本身,如工艺偏差、速度等级,封装大小等。
四、设计本身,如资源使用率、配置等。
为了应对不同条件因素下FPGA的功耗分析,需要建立功耗模型并提供不同条件下的功耗数据,通常,在器件开发阶段,芯片流片之前,功耗模型会采用仿真数据,随着器件开发和EDA工具软件的支持完善,为了功耗数据的准确性,会根据实测结果来进行校准,因此,为了提高功耗分析的准确性,需要对功耗模型中的数据进行校准,本方案发明了一种基于FPGA实测的功耗模型校准方法和装置,该方法可以对不同条件因素下的FPGA功耗模型数据进行校准,提高功耗分析的准确性。
本实施例提供了一种FPGA的功耗模型校准装置,该FPGA的功耗模型校准装置包括:FPGA的功耗模型校准装置包括:单元实测模块、功耗数据仿真模块、方程组提取模块和方程组求解反标模块;单元实测模块用于对测试单元进行功耗实测,并提取出实测功耗数据;功耗数据仿真模块用于根据存储的数据库,对测试单元进行理想模型仿真,并提取得出理想功耗数据;方程组提取模块用于根据实测功耗数据和理想仿真功耗数据建立方程组;方程组求解反标模块用于对方程组进行求解得到校准数据,并将校准数据反标到理想功耗模型中得出校准功耗模型。
具体的可参见图1,在图1中功耗模型校准装置包括:单元实测模块、功耗数据仿真模块、方程组提取模块和方程组求解反标模块;单元实测模块是对测试单元进行实际的功耗测试,实际的功耗测试即是将目前已经制作出实物的测试单元放在单元实测模块中进行功耗的实际测试,并从测试结果提取出所需要的实测功耗数据;功耗数据仿真模块是对测试单元的设计电路直接根据已知的数据库中存储的数据,通过仿真软件对测试单元进行理想情况下的理想模型仿真得出理想功耗数据;方程组提取模块结合单元实测模块中提取出的实测功耗数据和从功耗数据仿真模块中提取出的理想功耗数据,建立方程组,在本实施例中,该方程组通常是线性方程组,当然在另外一些实施例中,还可以根据实际需求组建其他种类的方程组;方程组求解反标模块对方程组提取模块中组建的方程组进行求解,最终求解出的数据就是校准数据,将该校准数据反标到理想功耗模型中,对理想功耗模型进行校准得到的新的功耗模型就是校准功耗模型,之后同类型的测试单元进行仿真时就可以采用校准功耗模型进行功耗仿真,从而提高了仿真功耗数值的准确性。需要说明的是,在本发明实施例中,测试单元包括但不限于单独的电子元器件,以及具备特定功能的单元电路模块等。
由于测试单元可以根据不同的模型组合出不同配置功能的电路单元,测试单元在这些根据不同配置功能的构建的模型中的功耗表现往往会存在差异;又由于当测试单元处于不同的测试条件的情况下时,包括但不限于不同的温度、电压、时钟频率、信号翻转率等测试条件下时,测试单元的功耗表现也会存在差异,因此在检测测试单元的功耗数据时,需要充分考虑到每一种可能情况下的表现,从而使得最终的功耗分析结果更佳的准确。
因此,在本实施例中,单元实测模块包括:实测模型设计模块和条件实测模块;实测模型设计模块用于根据测试单元的不同功能配置设计不同的实测模型,并提取出各个实测模型的模型参数;条件实测模块用于将不同的实测模型在不同的测试条件下进行功耗测试,得到实际功耗数值;模型参数和实际功耗数值共同构成实测功耗数据。
具体的可参见图2,图2为本实施例提供的一种单元实测模块的结构示意图,在图2中,单元实测模块包括:实测模型设计模块和条件实测模块,其中实测模型设计模块用于根据测试单元的功能配置设计对应的实测模型,由于一个测试单元在不同的电路模型中往往会具有不同的功能,因此为了使得测试单元的最终功耗数据更佳的完善和完整,实测模型设计模块会根据测试单元的不同的功能配置设计多种功耗实测模型,在设计出功耗实测模型后,还需要配合后端的方程组提取模块组件对应的方程组,因此需要将设计的实测模型中的模型参数提取出来,便于方程组提取模块组件对应的方程组。
在单元实测模块完成实测模型的设计或者构建后,需要对这些实测模型进行功耗的实测,条件实测模块就是将各个实测模型放置在不同的测试条件下检测实测模型的实际功耗,在本实施例中,测试条件包括但不限于,温度、电压、时钟频率、信号翻转率中的至少一种,在每一种测试条件下还需要分别测试在不同的数值下的功耗情况,最终得到实际功耗数值。
本发明的目的是对现有的仿真功耗模型进项矫正,并将校准后的校准功耗模型作为该测试单元以后的仿真模型进行使用,从而避免仿真使用的功耗模型不进行校准导致误差越来越大的问题,因此,在上述得到测试单元的实际功耗数据后,还需要测试单元当前的理想仿真功耗数据,从而了解到当前的理想仿真功耗模型得到的理想仿真功耗与实际功耗之间的差异,并对仿真使用的功耗模型进行校准。
因此,在本实施例中,功耗数据仿真模块包括:存储单元和仿真模块;存储单元中存储有测试单元的不同功能配置对应的不同理想仿真模型,以及测试单元中各个器件的器件参数;仿真模块用于将不同的理想仿真模型在不同的测试条件下进行功耗测试,并提取得到理想功耗数据。
功耗数据仿真模块的功能可以采用目前常见的软件仿真工具来实现,在这些软件仿真工具中会根据测试单元的功能配置,在存储单元中预存储有各种供仿真使用的理想功耗模型和测试单元的各种器件参数,在进行功耗仿真时,仿真模块只需要从存储单元中取出对应的理想仿真模型,并在理想仿真模型中填入对应的器件参数,并在不同的测试条件对理想仿真模型进行功耗仿真,最终得出理想功耗数据。需要说明的是,在本实施例中,器件参数包括但不限于器件本身的物理参数和器件的电学参数。
在得到实测功耗数据和通过仿真的出的理想功耗数据后,需要对这两组数据进行处理,使得两组数据之前产生必要的联系,从而去得到两组数据之间的差异值,这个差异值就是校准数据;建立方程组就是最常见的将两个数据产生联系的方法。因此,在本实施例中就包含了方程组提取模块,该方程组提取模块就是通过提取得到的实测功耗数据和理想仿真功耗数据,建立对应的方程组,从而让实测功耗数据和理想仿真功耗数据之间建立联系,例如包括但不限于以下方式,由于测试单元的功能配置在设计之初就已经确定,所以可以将对应的实测模型和理想仿真功耗模型放在一起组成方程组,其中的参数值就是对应的模型参数,变量即是在相同的测试条件下不同数值的功耗数据。
在建立好方程组后,需要对对该方程组进行求解得到校准数据,最终将该校准数据反标到理想功耗模型中得到校准功耗模型。因此,在本实施例中还包括方程组求解反标模块,该方程组求解反标模块包括:解方程模块、校准模块和统计模块;解方程模块用于对方程组进行求解得到初步校准数据;矫正模块用于当初步校准数据与理想功耗数据相比存在缺少项时,通过预设算法将初步校准数据中的缺少项进行补充;统计模块用于根据预设统计规则,对初步校准数据和补充数据进行统计,得出校准数据。
需要说明的是,在本实施例中,由于同时存在多种功耗测试模型和多种测试条件,以及在同一测试条件下也还包括多种数值的功耗测试,因此最终求解出来的数据会很多,为了避免统计出错,统计模块包括但不限于采用表格进行统计,其中统计和校准的顺序可以采用先统计得出初步校准数据,再根据统计表格中的缺少项对缺少项中的数据采用预设算法进行补充得到校准数据;还可以采用在求解出方程组时,直接对求解结果中缺少的缺少项进行补充,之后统计模块再对数据进行统计得到校准数据。在得到校准数据后,将该校准数据反标到理想功耗模型中从而得到校准功耗模型,在这之后采用相同的测试单元进行功耗仿真时,功耗数据仿真模块只需要采用校准功耗模型减小功耗仿真就可以得到更加准确的功耗数据。
在上述步骤中,当需要对缺少项进行补充时,通过预设算法进行补充,本实施例所采用的预设算法包括但不限于以下方式:当缺少项为测试条件项时,采用多维线性插值算法,根据实测功耗数据计算出补充数据;当缺少项为测试模型项时,在理想模型中插入对应的实测条件并将计算结果作为补充数据。
本实施例提供了一种FPGA的功耗模型校准装置,该FPGA的功耗模型校准装置包括:单元实测模块、功耗数据仿真模块、方程组提取模块和方程组求解反标模块;单元实测模块用于对测试单元进行功耗实测,并提取出实测功耗数据;功耗数据仿真模块用于根据存储的数据库,对测试单元进行理想模型仿真,并提取得出理想功耗数据;方程组提取模块用于根据实测功耗数据和理想仿真功耗数据建立方程组;方程组求解反标模块用于对方程组进行求解得到校准数据,并将校准数据反标到理想功耗模型中得出校准功耗模型。通过采集实测功耗数据和反正的理想功耗数据,并建立方程组,对方程组件进行求解的方式得到校准数据,最后将校准数据反标到理想功耗模型中得到校准功耗模型,从而提高了测试单元进行功耗仿真得到的功耗数据的准确性。
第二实施例
本实施例提供了一种FPGA的功耗模型校准方法,该FPGA的功耗模型校准方法的步骤流程可参见图3,在图3中,FPGA的功耗模型校准方法的步骤包括:
S301、对测试单元进行功耗实测,并提取出实测功耗数据。
S302、根据存储的数据库,对所述测试单元进行理想模型仿真,并提取得出理想功耗数据。
S303、根据所述实测功耗数据和所述理想仿真功耗数据建立方程组。
S304、对所述方程组进行求解得到校准数据,并将所述校准数据反标到所述理想功耗模型中得出校准功耗模型。
在本实施例中,步骤S301,对测试单元进行实测,并提取出实测功耗数据包括:根据测试单元的不同功能配置设计不同的实测模型,并提取出各个实测模型的模型参数;将不同的实测模型在不同的测试条件下进行功耗测试,得到实际功耗数值;模型参数和实际功耗数值共同构成实测功耗数据。
由于影响FPGA功耗的因素有很多,主要包括一下几类:一、环境条件,如环境温度、散热等。二、工作条件,如工作电压、内部信号翻转率、外部驱动负载等。三、器件本身,如工艺偏差、速度等级,封装大小等。四、设计本身,如资源使用率、配置等。因此,需要通过实测功耗数据来对理想的仿真功耗数据进行校准。
在本实施例中,实测就是对测试单元的功耗进行实际测试,一个测试单元在不同的测试电路中可以起到不同的功能,因此,为了保证功耗测试的严谨和数据的完整性,在进行功耗实测前需要根据测试单元的功能配置设计不同的实测模型,同时考虑到步骤S303中需要建立方程组,因此在设计好实测功耗模型后,需要提取出各个实测模型的模型参数,便于建立方程组。在完成实测功耗模型的设计后,需要将实测功耗模型放置在不同的测试条件下进行测试,在本实施例中,测试条件包括但不限于温度、电压、时钟频率、信号翻转率中至少一种,将实测模型在不同的测试条件下,同时输入不同数值的输入信号并检测出对应的实际功耗数值。
在本实施例中,步骤S302、根据存储的数据库,对所述测试单元进行理想模型仿真,并提取得出理想功耗数据包括:从存储单元中取出测试单元的不同功能配置对应的不同理想仿真模型,以及测试单元中各个器件的器件参数;将不同的理想仿真模型在不同的测试条件下进行功耗测试,并提取得到理想功耗数据。
由于理想模型仿真包括但不限于通过仿真软件来完成对应的电路仿真,在仿真软件中存储有测试模块对应的理想功耗模型和测试单元的各种器件参数和配置信息等,因此在进行测试单元的功耗仿真时,仿真软件只需要从存储单元中取出对应的理想仿真模型,并在理想仿真模型中填入对应的器件参数,并在不同的测试条件对理想仿真模型进行功耗仿真,最终得出理想功耗数据。需要说明的是,在本实施例中,器件参数包括但不限于器件本身的物理参数和器件的电学参数。在本实施例中,测试条件包括但不限于温度、电压、时钟频率、信号翻转率中至少一种,将理想功耗模型在不同的测试条件下,同时输入不同数值的输入信号并检测出对应的理想功耗数据。
在完成实测功耗数据和仿真得出理想功耗数据后,需要根据实测功耗数据和理想功耗数据建立方程组,在本实施例中,建立的方程组包括但不限于线性方程组。
在本实施例中,步骤S304、对方程组进行求解得到校准数据,并将校准数据反标到理想功耗模型中得出校准功耗模型包括:对方程组进行求解得到初步校准数据;当初步校准数据与理想功耗数据相比存在缺少项时,通过预设算法将初步校准数据中的缺少项进行补充;根据预设统计规则,对初步校准数据和补充数据进行统计,得出校准数据。
由于同时存在多种功耗测试模型和多种测试条件,以及在同一测试条件下也还包括多种数值的功耗测试,因此最终求解出来的数据会很多,为了避免统计出错,统计模块包括但不限于采用表格进行统计,其中统计和校准的顺序可以采用先统计得出初步校准数据,再根据统计表格中的缺少项对缺少项中的数据采用预设算法进行补充得到校准数据;还可以采用在求解出方程组时,直接对求解结果中缺少的缺少项进行补充,之后统计模块再对数据进行统计得到校准数据。在得到校准数据后,将该校准数据反标到理想功耗模型中从而得到校准功耗模型,在这之后采用相同的测试单元进行功耗仿真时,只需要采用校准功耗模型减小功耗仿真就可以得到更加准确的功耗数据。
在上述步骤中,当需要对缺少项进行补充时,通过预设算法进行补充,本实施例所采用的预设算法包括但不限于以下方式:当缺少项为测试条件项时,采用多维线性插值算法,根据实测功耗数据计算出补充数据;当缺少项为测试模型项时,在理想模型中插入对应的实测条件并将计算结果作为补充数据。
本实施例提供了一种FPGA的功耗模型校准方法,该FPGA的功耗模型校准方法包括:对测试单元进行功耗实测,并提取出实测功耗数据;根据存储的数据库,对测试单元进行理想模型仿真,并提取得出理想功耗数据;根据实测功耗数据和理想仿真功耗数据建立方程组;对方程组进行求解得到校准数据,并将校准数据反标到理想功耗模型中得出校准功耗模型。通过采集实测功耗数据和反正的理想功耗数据,并建立方程组,对方程组件进行求解的方式得到校准数据,最后将校准数据反标到理想功耗模型中得到校准功耗模型,从而提高了测试单元进行功耗仿真得到的功耗数据的准确性。
第三实施例
本实施例提供了一种FPGA的功耗模型校准装置以及其对应的FPGA的功耗模型校准方法,本装置的结构如图4所示,包括:单元实测设计、功耗数据模型、实测数据、方程提取模块,线性方程组求解反标模块,其中单元实测设计对应于本发明的实测模型设计模块,功耗数据模型对应于本发明的功耗数据仿真模块,实测数据对应于本发明的条件实测模块,方程提取模块对应于本发明的方程组提取模块,线性方程组求解反标模块对应于本发明的方程组求解反标模块。
其中,单元实测设计是针对该单元不同功能配置下的单元实测,通过实测提取该单元在不同条件下的实际功耗数据。
功耗数据模型是基于器件工艺库通过仿真工具提取的不同参数配置和条件下的功耗数据,功耗分析软件根据功耗模型数据来分析和评估设计的功耗。
实测数据是根据实测结果提取出来的不同条件和配置下单元的实际功耗,包括不同工作温度、电压、时钟频率、信号翻转率等功耗数据。
方程提取模块用于提取单元实测设计中相关单元的功耗数据建立方程组,通过求解方程组来获取单元的功耗数据,在FPGA中,设计会用到各种资源,为了获取单个单元的功耗如LUT或FF,通常需要多个针对单个资源特殊的设计,利用多个设计的在不同条件下的实测数据,提取单元的实测功耗数据,如图5所示。
线性方程组求解反标模块用来求解上述的线性方程组,并将结果反标到模型中。
利用上述装置进行功耗模型校准的方法包括下述步骤,如图6所示:
1、提取单元在不同测试条件下的实测功耗数据,如图5所示,在实测设计Case A、Case B等不同设计中,各个单元的配置参数相同,部分资源数量相同,部分资源数量不同,在相同测试条件下测得实测数据,可以建立方程组:
n0*D0+n1*D1+…+n2*Dx=d0
n0*D1+n1*D1+…+n3*Dx=d1
……
nx*D1+ny*D2+…+nz*Dx=dx
其中:n0、n1…等表示设计中使用到的单元的数量,D0、D1…Dx表示单元的实测功耗变量,d0,d1…表示实测设计CaseA、Case B等的实测总功耗数据。解上述方程组能够得到单元的功耗数据。
2、提取不同条件下的功耗模型数据,如表1所示,按照不同的参数维度(温度、电压、时钟频率、信号翻转率等),建立表格。
表1不同条件下功耗模型数据
3、用相同条件下的实测数据代替表格中的功耗模型数据,若没有对应的实测条件,则采用多维线性插值算法,根据已实测的数据计算出校准数据,若没有对应的模型数据,则用在模型中插入对应的条件并将实测数据作为校准数据。
在本实施例中,多维插值获取指定条件下的数据包括:
假设已知条件下的功耗数据如表2所示:
表2假设的已知条件下的功耗数据
温度 | 电压 | 功耗 |
T0 | V0 | P0 |
V1 | P1 | |
T1 | V0 | P2 |
V1 | P3 |
需要获取指定条件T2(T0<T2<T1)、V2(V0<V2<V1)…条件下的功耗数据,流程如图7所示。
4、利用校准后的表格数据反标回功耗模型。
第四实施例
本实施例给出了本发明的一种具体实施流程和实施流程中求解过程的示例,具体的实施流程包括:
1、测试用例设计
在针对某个单元实测时,采用增量的方式,设计方法如图8所示,测试用例A和B中都用到3中资源A、B、C、B在测试用例A的基础上,针对目标测试单元C,减少C的使用数量。
2、建立线性方程组及求解
在1的设计方案中,会有多个类似的测试设计,每一个测试用例在指定条件下能够测得一个实测数据,根据设计中资源的数量,可以建立方程组:
a00*A+a01*B+a02*C+..+a0n*X=d0
a10*A+a11*B+a12*C+…+a1n*X=d1
……
an0*A+an1*B+an2*C+…+ann*X=dn
其中,a00~an0表示N个测试设计中A资源的使用数目,a01~an1表示B资源的使用数量,以此类推。
A、B、C等表示各单元的功耗数据。
d0~dn表示N个测试设计的实测总功耗。
以矩阵的形式表示如下:
采用迭代法求解上述方程组,以功耗模型中的数据作为初始值,求解该方程组,得到A、B、C等单元的基本功耗数据。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种FPGA的功耗模型校准装置,其特征在于,所述FPGA的功耗模型校准装置包括:单元实测模块、功耗数据仿真模块、方程组提取模块和方程组求解反标模块;
所述单元实测模块用于对测试单元进行功耗实测,并提取出实测功耗数据;
所述功耗数据仿真模块用于根据存储的数据库,对所述测试单元进行理想模型仿真,并提取得出理想功耗数据;
所述方程组提取模块用于根据所述实测功耗数据和所述理想仿真功耗数据建立方程组;
所述方程组求解反标模块用于对所述方程组进行求解得到校准数据,并将所述校准数据反标到所述理想功耗模型中得出校准功耗模型。
2.如权利要求1所述的FPGA的功耗模型校准装置,其特征在于,所述单元实测模块包括:实测模型设计模块和条件实测模块;
所述实测模型设计模块用于根据测试单元的不同功能配置设计不同的实测模型,并提取出各个实测模型的模型参数;
所述条件实测模块用于将所述不同的实测模型在不同的测试条件下进行功耗测试,得到实际功耗数值;所述模型参数和所述实际功耗数值共同构成所述实测功耗数据。
3.如权利要求1所述的FPGA的功耗模型校准装置,其特征在于,所述功耗数据仿真模块包括:存储单元和仿真模块;
所述存储单元中存储有测试单元的不同功能配置对应的不同理想仿真模型,以及所述测试单元中各个器件的器件参数;
所述仿真模块用于将所述不同的理想仿真模型在不同的测试条件下进行功耗测试,并提取得到所述理想功耗数据。
4.如权利要求1-3任一项所述的FPGA的功耗模型校准装置,其特征在于,所述方程组求解反标模块包括:解方程模块、校准模块和统计模块;
所述解方程模块用于对所述方程组进行求解得到初步校准数据;
所述矫正模块用于当所述初步校准数据与理想功耗数据相比存在缺少项时,通过预设算法将初步校准数据中的所述缺少项进行补充;
所述统计模块用于根据预设统计规则,对所述初步校准数据和补充数据进行统计,得出校准数据。
5.一种FPGA的功耗模型校准方法,其特征在于,所述FPGA的功耗模型校准方法包括:
对测试单元进行功耗实测,并提取出实测功耗数据;
根据存储的数据库,对所述测试单元进行理想模型仿真,并提取得出理想功耗数据;
根据所述实测功耗数据和所述理想仿真功耗数据建立方程组;
对所述方程组进行求解得到校准数据,并将所述校准数据反标到所述理想功耗模型中得出校准功耗模型。
6.如权利要求5所述的FPGA的功耗模型校准方法,其特征在于,所述对测试单元进行实测,并提取出实测功耗数据包括:
根据测试单元的不同功能配置设计不同的实测模型,并提取出各个实测模型的模型参数;
将所述不同的实测模型在不同的测试条件下进行功耗测试,得到实际功耗数值;所述模型参数和所述实际功耗数值共同构成所述实测功耗数据。
7.如权利要求5所述的FPGA的功耗模型校准方法,其特征在于,所述根据存储的数据库,对所述测试单元进行理想模型仿真,并提取得出理想功耗数据包括:
从存储单元中取出测试单元的不同功能配置对应的不同理想仿真模型,以及所述测试单元中各个器件的器件参数;
将所述不同的理想仿真模型在不同的测试条件下进行功耗测试,并提取得到所述理想功耗数据。
8.如权利要求5-7任一项所述的FPGA的功耗模型校准方法,其特征在于,所述测试条件包括:温度、电压、时钟频率、信号翻转率中至少一种工作条件。
9.如权利要求5-7任一项所述的FPGA的功耗模型校准方法,其特征在于,所述对所述方程组进行求解得到校准数据,并将所述校准数据反标到所述理想功耗模型中得出校准功耗模型包括:
对所述方程组进行求解得到初步校准数据;
当所述初步校准数据与理想功耗数据相比存在缺少项时,通过预设算法将初步校准数据中的所述缺少项进行补充;
根据预设统计规则,对所述初步校准数据和补充数据进行统计,得出校准数据。
10.如权利要求9所述的FPGA的功耗模型校准方法,其特征在于,所述预设算法包括:
当所述缺少项为测试条件项时,采用多维线性插值算法,根据所述实测功耗数据计算出补充数据;
当所述缺少项为测试模型项时,在理想模型中插入对应的实测条件并将计算结果作为补充数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580651.5A CN110442904B (zh) | 2019-06-28 | 2019-06-28 | 一种fpga的功耗模型校准装置和校准方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580651.5A CN110442904B (zh) | 2019-06-28 | 2019-06-28 | 一种fpga的功耗模型校准装置和校准方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442904A true CN110442904A (zh) | 2019-11-12 |
CN110442904B CN110442904B (zh) | 2023-03-17 |
Family
ID=68428772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910580651.5A Active CN110442904B (zh) | 2019-06-28 | 2019-06-28 | 一种fpga的功耗模型校准装置和校准方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442904B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111551613A (zh) * | 2020-04-30 | 2020-08-18 | 利晟(杭州)科技有限公司 | 一种基于线性回归的气体监测校准方法及系统 |
CN112835777A (zh) * | 2021-02-23 | 2021-05-25 | 深圳市得一微电子有限责任公司 | 一种提高flash仿真准确性的方法、系统 |
WO2021128169A1 (zh) * | 2019-12-26 | 2021-07-01 | 深圳市大疆创新科技有限公司 | 芯片设计方法、芯片设计设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244686A1 (en) * | 2006-04-13 | 2007-10-18 | Industrial Technology Research Institute | Calibration method for mixed-mode simulation |
CN104820787A (zh) * | 2015-05-13 | 2015-08-05 | 西安电子科技大学 | 基于fpga芯片的电路系统功耗预测方法 |
CN112286756A (zh) * | 2020-09-29 | 2021-01-29 | 深圳致星科技有限公司 | 用于联邦学习异构处理系统的fpga功耗预测方法及系统 |
-
2019
- 2019-06-28 CN CN201910580651.5A patent/CN110442904B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244686A1 (en) * | 2006-04-13 | 2007-10-18 | Industrial Technology Research Institute | Calibration method for mixed-mode simulation |
CN104820787A (zh) * | 2015-05-13 | 2015-08-05 | 西安电子科技大学 | 基于fpga芯片的电路系统功耗预测方法 |
CN112286756A (zh) * | 2020-09-29 | 2021-01-29 | 深圳致星科技有限公司 | 用于联邦学习异构处理系统的fpga功耗预测方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021128169A1 (zh) * | 2019-12-26 | 2021-07-01 | 深圳市大疆创新科技有限公司 | 芯片设计方法、芯片设计设备和存储介质 |
CN111551613A (zh) * | 2020-04-30 | 2020-08-18 | 利晟(杭州)科技有限公司 | 一种基于线性回归的气体监测校准方法及系统 |
CN112835777A (zh) * | 2021-02-23 | 2021-05-25 | 深圳市得一微电子有限责任公司 | 一种提高flash仿真准确性的方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110442904B (zh) | 2023-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10997331B2 (en) | Integrated circuit including parametric analog elements | |
CN110442904A (zh) | 一种fpga的功耗模型校准装置和校准方法 | |
US8036870B2 (en) | Simulation method for efficient characterization of electronic systems under variability effects | |
CN101482891B (zh) | 性能评估模拟 | |
US10262093B2 (en) | Computer implemented system and method of identification of useful untested states of an electronic design | |
US9858376B2 (en) | Tool and method for refining a circuit including parametric analog elements | |
US20080127001A1 (en) | Power consumption analyzing method and computer- readable storage medium | |
CN103150440A (zh) | 一种模块级电路网表仿真方法 | |
US9618547B2 (en) | Digital circuit power measurements using numerical analysis | |
US8401828B1 (en) | Methods and systems for analog object fetch in mixed-signal simulation | |
US6876210B2 (en) | Method and apparatus for analyzing electromagnetic interference | |
CN103675575B (zh) | 使用单个短路点群组测试被测板卡的系统及其方法 | |
CN115688641A (zh) | 一种表征标准单元片上变化参数的方法与系统 | |
EP1768040A1 (en) | Electric power calculating apparatus, electric power calculating method, tamper resistance evaluating apparatus, and tamper resistance evaluating method | |
CN112131811B (zh) | 一种fpga的时序参数提取方法 | |
EP2109053A1 (en) | Signal selection device, system, circuit emulator, method, and program | |
CN115270674A (zh) | 一种基于自动化的带时序裕量的lib提取方法和装置 | |
CN108304659B (zh) | 一种基于LabVIEW平台的开关电源测试性分析系统及方法 | |
US7853908B2 (en) | Algorithmic reactive testbench for analog designs | |
CN116151172B (zh) | Mems器件模型构建方法、装置及设计方法 | |
CN118095180B (zh) | 一种集成电路标准单元高精度仿真系统 | |
CN112487747B (zh) | 功率元件仿真方法及装置 | |
CN104572250A (zh) | 一种智能电能表及其检定设备的仿真方法 | |
Eichler et al. | Gate-level digital power simulation with varying technology parameters | |
CN118690720A (zh) | 一种基于产化运算的芯片建模组件稳定性测试方法及系统 |
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 |