CN105446859A - 功耗分析的软件条件监测及波形文件自动生成方法 - Google Patents
功耗分析的软件条件监测及波形文件自动生成方法 Download PDFInfo
- Publication number
- CN105446859A CN105446859A CN201410441213.8A CN201410441213A CN105446859A CN 105446859 A CN105446859 A CN 105446859A CN 201410441213 A CN201410441213 A CN 201410441213A CN 105446859 A CN105446859 A CN 105446859A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- consumption analysis
- monitoring
- file
- analysis
- 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
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种数字电路中功耗分析的软件条件监测及波形文件自动生成方法,步骤1,按照功耗分析需求,对于软件测试例的条件进行提取分析,并填入规定格式的excel表格,通过脚本处理,生成寄存器配置信息的文件,作为监测时比对的理论值;步骤2,对于功耗分析提供的软件测试例进行EDA仿真,读入监测的理论值文件,仿真过程中对于影响功耗的因素进行自动检查比对;步骤3,按照功耗分析的需求,在仿真过程中根据寄存器配置或者信号的变化确定导出波形的起止,直接导出供功耗分析的波形文件。本发明能大大节省工作量,有效提高工作效率。
Description
技术领域
本发明涉及数字电路中功耗分析领域,特别是涉及一种数字电路中功耗分析的软件条件监测及波形文件自动生成方法。
背景技术
功耗分析对于芯片的性能评估非常重要。传统的提供功耗分析波形的方法是,通过人工查看仿真后的波形文件,确认运行的程序的软件配置符合功耗分析的要求后,再将仿真波形文件按要求分段截取作为功耗分析的输入。随着芯片设计越来越复杂,集成的IP(IntellectualProperty,知识产权)越来越多,所应用的场景越来越多样化,功耗分析的工作量也随之增大。传统做法难以适应芯片发展的需求,采用自动监测和自动生成波形的方法能大大节省工作量,提高效率。
发明内容
本发明要解决的技术问题是提供一种数字电路中功耗分析的软件条件监测及波形文件自动生成方法,能大大节省工作量,有效提高工作效率。
为解决上述技术问题,本发明的数字电路中功耗分析的软件条件监测及波形文件自动生成方法,包括如下步骤:
步骤1,按照功耗分析需求,对于软件pattern(测试例)的条件进行提取分析,并填入规定格式的excel(MicrosoftExcel办公软件)表格,通过脚本处理,生成寄存器配置信息的文件,作为监测时比对的理论值;
步骤2,对于功耗分析提供的软件pattern进行EDA(电子设计自动化)仿真,读入监测的理论值文件,仿真过程中对于影响功耗的因素进行自动检查比对,检查通过,进入步骤3;如果检查结果与理论值不符,报出错误,并打印出具体信息,对软件进行debug(调试),修改后重新仿真,重复步骤2,直到检查通过;
步骤3,按照功耗分析的需求,在仿真过程中根据寄存器配置或者信号的变化确定dump(导出)波形的起止,直接dump出供功耗分析的波形文件。
传统的提供功耗分析的波形文件的流程是通过人工检查仿真波形中软件的配置是否正确,条件是否符合要求,确认后,按照功耗分析的要求人工确认波形截取时刻,工作量大,而且截取工具对于服务器的内存和波形文件的大小也有限制。本发明可以按照功耗分析的需求对软件的条件进行自动监测,并且自动生成波形文件,不需要人工参与,直接生成符合要求的功耗分析的波形文件,不需要使用截取工具,提高工作效率,并且可移植性和灵活性强。
本发明特别适用于需要进行功耗分析的程序和影响功耗的因素较多的情况。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是所述数字电路中功耗分析的软件条件监测及波形文件自动生成方法的实现流程图。
具体实施方式
所述数字电路中功耗分析的软件条件监测及波形文件自动生成方法,包括如下步骤:
步骤1,按照功耗分析需求,对于软件pattern的条件进行提取分析,并填入规定格式的excel表格,通过脚本处理,生成寄存器配置信息的文件,作为监测时比对的理论值。
步骤2,对于功耗分析提供的软件pattern进行EDA仿真,读入监测的理论值文件,仿真过程中对于影响功耗的因素进行自动检查比对,检查通过,进入步骤3。如果检查结果与理论值不符,报出ERROR(错误),并打印出具体信息,对软件进行debug,修改后重新仿真,重复步骤2,直到检查通过。
步骤3,按照功耗分析的需求,在仿真过程中根据寄存器配置或者信号的变化确定dump波形的起止,直接dump出供功耗分析的波形文件。
影响功耗分析的各种因素的excel表格,通过脚本处理后生成的配置信息文件是以宏定义方式应用到监测环境中,不同的pattern的寄存器配置信息通过pattern名字分别在仿真中体现。
基于UVM(通用验证方法学)的仿真环境使用AMBA(AdvancedMicrocontrollerBusArchitecture,先进微控制器总线架构)的VIP(VerificationIntellectualProperty,验证知识产权)监测总线上寄存器的读写操作,根据功耗分析的需求,确定每一个pattern的监测起始点,用一个寄存器进行记录,该寄存器记为en_mon;即en_mon[i]=1记录第i种情况的功耗分析的开始,当监测到结束时,将en_mon[i]置为0,并将en_mon[31]置为1,标志监测结束。
监测的起始点根据功耗分析的需求进行确定,种类多样,可以通过监测系统功耗模式寄存器的读写,确认pattern是否进入低功耗模式,通过监测算法模块的控制寄存器的读写,确认pattern是否开始算法运行或者停止运算,通过监测EEPROM的控制模块寄存器的读写,确认pattern是否对于EEPROM进行读写操作等。
在en_mon[30:0]为1时,对于影响功耗的因素进行监测,包括总线时钟频率,各个功能模块的时钟频率,安全检查相关的模拟模块和数字控制部分的开启,随机数生成器的模拟源和数字控制部分的开启,程序运行在ROM,RAM或者EEPROM等。
仿真环境中,将所述的影响功耗的具体因素与所述的宏定义的理论值进行实时比对,如不相同,报出ERROR,并打印出具体信息,当监测到en_mon[31]为1时,将所有影响功耗的因素的具体信息打印,并输出到文件;当有影响功耗的因素不符合时,对软件进行debug,并修改后,重新仿真,直到所有条件均与理论值一致。
当所有影响功耗的因素都符合后,便可导出供功耗分析的波形文件。
通过命令选项可以选择导出VCD(Valuechangedump,一种通用的波形文件格式)文件,FSDB(fastsignaldatabase,verdi波形工具使用的一种专用的数据格式)文件或SAIF(SwitchingActivityInterchangeFormat,交换动作互换格式)文件。
进行功耗预估,导出前仿波形,可以通过监测寄存器的配置信息,确认波形文件的起止;进行后仿的功耗分析,则需要监测内部的具体信号变化来定位精确的波形文件的起止点。
通过分析功耗需求,提前确认好波形的起止点的条件,仿真时达到此条件,便自动生成相应的波形文件。
参见附图,下面是一具体实施例,提供了数字电路中功耗分析的软件条件监测及波形文件自动生成方法具体细节。
本实例是一个具有多种功耗模式,多个算法模块的芯片系统。影响功耗分析的因素有:电源供应模式,功耗模式配置,系统时钟配置,算法模块IP的开启,安全检查数字模块和模拟模块的开启等。以DES(DataEncryptionStandard,数据加密算法)运算为例,需要分析DES运行过程中的功耗,条件如下:
(1)接触式上电模式。
(2)程序在RAM中运行,ROM,RAM,EEPROM加解密打开。
(3)时钟配置:clk_7816=4M,hclk=15M,pclk=hclk/4,clk_timer1_ext=clk_timer2_ext=pclk,clk_rsa_ext=30M,其他时钟采用默认配置,低压降频使能和随机变频使能关闭,INT/RNG/PIT/WDT/E2/RF/GPIO/7816/DES时钟开启。
(4)各种安检电路使能打开,模拟随机源关闭,伪随机序列打开。
根据以上的需求分析,提取出具体的软件寄存器配置信息,生成文件如下:
`ifdefPA_01_DES_RAM
`defineSYS_ANA‘h7//ROM,RAM,EEPROM加解密打开
`defineRUN_RAM‘h1//程序在RAM中运行
`definePowerAvail‘h1//接触式上电模式
`defineclkregdata‘h3//hclk的配置
`defineexclkregdata‘h56//clk_timer_ext和clk_rsa_ext外部时钟配置
`definesdctlregdata‘h07ef//各种安检电路使能打开
`defineRngctlregdata‘h4//模拟随机源关闭,伪随机序列打开
`defineCLK_CLS‘h19f6//INT/RNG/PIT/WDT/E2/RF/GPIO/7816/DES时钟开启
`defineSECUTY_ANA‘h1f//模拟安检开启
`defineRNG_ANA0//模拟随机源关闭
`defineCLK_CB_PD250//clk_7816=4M
`defineCLK_H16.6//osc时钟源频率为60M
`defineCLK_HCLK4//HCLK为4分频,即15M
`defineCLK_PCLK4//pclk=hclk/4
在UVM搭建的仿真验证平台中,通过AMBA总线的VIP,对总线进行监测。当检测到对DES控制寄存器进行写1,即开启DES算法操作时,将en_mon[1]置为1,标志开始进行软件条件监测。当读到DES控制寄存器为0时,即将en_mon[1]置为0,并将en_mon[31]置为1,标志监测结束。
对于软件条件的配置值,通过总线的监测记录下来,在en_mon[1]为1期间时,与读入的理论软件寄存器配置信息文件中的宏定义值进行比对。如果在此期间配置值与理论值有任何一点不一致,即报ERROR。当en_mon[31]置为1时,打印具体信息。通过分析打印出来的信息,debug软件,修改后,重新仿真,直至全部通过。
en_mon[1]为1期间,通过监测模拟模块的内部的信号线并与理论值进行比对,来确定模拟部分的配置是否正确。通过对各个时钟进行监测,确定时钟频率是否符合要求。对时钟的监测可以参照标准时钟源,监测其分频系数,也可以直接计算各个时钟周期值,与理论值进行比对。当所有配置都与理论值一致时,即表明该程序软件符合功耗分析的配置需求,接下来可以dump波形文件了。
如果做功耗预估,只需dump前仿波形,通过总线监测到开启DES算法操作时,便可以开始dump波形文件,当读到DES控制寄存器为0时,结束dump波形文件。如果需要做精确功耗分析,则需要dump后仿波形。在后仿时,为了达到精确功耗分析的目的,需要通过监测DESIP内部的控制信号线,当置为1时,表明算法开启,开始dump波形,当为0时,结束dump波形,算法结束。根据命令,可以选择dump出VCD格式,FSDB格式或SAIF文件。如果软件有多种时钟频率下的开启算法操作,当每次检测到信号线的变化时,便会dump波形,并自动修改文件名。这样,在一次仿真过程中就可以自动dump不同配置下的波形文件了。
以上所述仅为本发明的具体实施方式,本发明保护范围并不局限于此。
Claims (10)
1.一种数字电路中功耗分析的软件条件监测及波形文件自动生成方法,其特征在于:
步骤1,按照功耗分析需求,对于软件测试例的条件进行提取分析,并填入规定格式的excel表格,通过脚本处理,生成寄存器配置信息的文件,作为监测时比对的理论值;
步骤2,对于功耗分析提供的软件测试例进行EDA仿真,读入监测的理论值文件,仿真过程中对于影响功耗的因素进行自动检查比对,检查通过,进入步骤3;如果检查结果与理论值不符,报出错误,并打印出具体信息,对软件进行调试,修改后重新仿真,重复步骤2,直到检查通过;
步骤3,按照功耗分析的需求,在仿真过程中根据寄存器配置或者信号的变化确定导出波形的起止,直接导出供功耗分析的波形文件。
2.如权利要求1所述的方法,其特征在于:影响功耗分析的各种因素的excel表格,通过脚本处理后生成的配置信息文件是以宏定义方式应用到监测环境中,不同的测试例的寄存器配置信息通过测试例名字分别在仿真中体现。
3.如权利要求1所述的方法,其特征在于:基于UVM验证方法学的仿真环境使用AMBA的VIP监测总线上寄存器的读写操作,根据功耗分析的需求,确定每一个测试例的监测起始点,用一个寄存器进行记录,该寄存器记为en_mon;即en_mon[i]=1记录第i种情况的功耗分析的开始,当监测到结束时,将en_mon[i]置为0,并将en_mon[31]置为1,标志监测结束。
4.如权利要求3所述的方法,其特征在于:监测的起始点根据功耗分析的需求进行确定。
5.如权利要求3所述的方法,其特征在于:在en_mon[30:0]为1时,对于影响功耗的因素进行监测,包括总线时钟频率,各个功能模块的时钟频率,安全检查相关的模拟模块和数字控制部分的开启,随机数生成器的模拟源和数字控制部分的开启,程序运行在ROM,RAM或者EEPROM。
6.如权利要求5所述的方法,其特征在于:影响功耗分析的各种因素的excel表格,通过脚本处理后生成的配置信息文件是以宏定义方式应用到监测环境中,不同的测试例的寄存器配置信息通过测试例名字分别在仿真中体现;
仿真环境中,将所述的影响功耗的具体因素与所述的宏定义的理论值进行实时比对,如不相同,报出错误,并打印出具体信息,当监测到en_mon[31]为1时,将所有影响功耗的因素的具体信息打印,并输出到文件;当有影响功耗的因素不符合时,对软件进行调试,并修改后,重新仿真,直到所有条件均与理论值一致。
7.如权利要求1所述的方法,其特征在于:当所有影响功耗的因素都符合后,便可导出供功耗分析的波形文件。
8.如权利要求1所述的方法,其特征在于:通过命令选项选择导出VCD格式,FSDB格式或SAIF文件。
9.如权利要求1所述的方法,其特征在于:进行功耗预估,导出前仿波形,通过监测寄存器的配置信息,确认波形文件的起止;进行后仿的功耗分析,则需要监测内部的具体信号变化来定位精确的波形文件的起止点。
10.如权利要求1所述的方法,其特征在于:通过分析功耗需求,提前确认好波形的起止点的条件,仿真时达到此条件,便自动生成相应的波形文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410441213.8A CN105446859B (zh) | 2014-09-01 | 2014-09-01 | 功耗分析的软件条件监测及波形文件自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410441213.8A CN105446859B (zh) | 2014-09-01 | 2014-09-01 | 功耗分析的软件条件监测及波形文件自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446859A true CN105446859A (zh) | 2016-03-30 |
CN105446859B CN105446859B (zh) | 2018-06-19 |
Family
ID=55557091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410441213.8A Active CN105446859B (zh) | 2014-09-01 | 2014-09-01 | 功耗分析的软件条件监测及波形文件自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446859B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107870841A (zh) * | 2016-09-26 | 2018-04-03 | 展讯通信(上海)有限公司 | 移动终端功耗分析方法及系统 |
CN109740250A (zh) * | 2018-12-29 | 2019-05-10 | 湖北航天技术研究院总体设计所 | 基于uvm的fpga软件验证结果仿真波形的获取方法和系统 |
CN112287626A (zh) * | 2020-10-26 | 2021-01-29 | 浙江大学 | 基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法 |
CN112346918A (zh) * | 2020-10-26 | 2021-02-09 | 眸芯科技(上海)有限公司 | 芯片验证中辅助波形debug的方法及应用 |
CN113343438A (zh) * | 2021-05-20 | 2021-09-03 | 北京中电华大电子设计有限责任公司 | 一种基于Python的自动化功耗仿真方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100251025A1 (en) * | 2009-03-31 | 2010-09-30 | Fujitsu Limited | Operation management system, process analyzing apparatus, recording medium in which process analysis program is recorded, and process analysis method |
CN103678747A (zh) * | 2012-09-19 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 适用于多类型cpu的联合仿真工具 |
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
-
2014
- 2014-09-01 CN CN201410441213.8A patent/CN105446859B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100251025A1 (en) * | 2009-03-31 | 2010-09-30 | Fujitsu Limited | Operation management system, process analyzing apparatus, recording medium in which process analysis program is recorded, and process analysis method |
CN103678747A (zh) * | 2012-09-19 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 适用于多类型cpu的联合仿真工具 |
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107870841A (zh) * | 2016-09-26 | 2018-04-03 | 展讯通信(上海)有限公司 | 移动终端功耗分析方法及系统 |
CN109740250A (zh) * | 2018-12-29 | 2019-05-10 | 湖北航天技术研究院总体设计所 | 基于uvm的fpga软件验证结果仿真波形的获取方法和系统 |
CN109740250B (zh) * | 2018-12-29 | 2022-03-18 | 湖北航天技术研究院总体设计所 | 基于uvm的fpga软件验证结果仿真波形的获取方法和系统 |
CN112287626A (zh) * | 2020-10-26 | 2021-01-29 | 浙江大学 | 基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法 |
CN112346918A (zh) * | 2020-10-26 | 2021-02-09 | 眸芯科技(上海)有限公司 | 芯片验证中辅助波形debug的方法及应用 |
CN112287626B (zh) * | 2020-10-26 | 2022-05-06 | 浙江大学 | 基于静态时序信息的开关电流模型拟合功耗变化波形方法 |
CN113343438A (zh) * | 2021-05-20 | 2021-09-03 | 北京中电华大电子设计有限责任公司 | 一种基于Python的自动化功耗仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105446859B (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302950B (zh) | 一种软、硬件协同的可编程逻辑器件交联仿真测试方法 | |
CN101504692B (zh) | 一种验证和测试片上系统的系统及方法 | |
CN105446859A (zh) | 功耗分析的软件条件监测及波形文件自动生成方法 | |
US7418681B2 (en) | Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit | |
CN104657245B (zh) | 基于amba总线的模块级uvm验证平台的自动生成装置 | |
CN100573537C (zh) | 一种soc芯片系统级验证系统及方法 | |
CN102542110B (zh) | 一种应用于移动存储soc芯片的仿真验证方法 | |
CN102540060A (zh) | 一种数字集成电路芯片测试系统 | |
CN102623069B (zh) | 随机激励闪存模型验证方法 | |
CN110865971A (zh) | Soc芯片的验证系统及其方法 | |
CN110632499B (zh) | 基于测试对象的测试向量生成方法及存储介质 | |
Bouhadiba et al. | System-level modeling of energy in TLM for early validation of power and thermal management | |
CN111221693B (zh) | 一种NOR flash配置模块验证方法、系统、装置和存储介质 | |
CN106294144B (zh) | 串行通信协议的测试向量的生成方法、系统及服务器 | |
CN102479123A (zh) | 卡片操作系统的测试系统及测试方法 | |
CN107479918A (zh) | 一种可重构的mcu烧录的fpga模型 | |
Hsu et al. | PowerDepot: Integrating IP-based power modeling with ESL power analysis for multi-core SoC designs | |
CN102147831A (zh) | 逻辑验证方法和装置 | |
CN106405388B (zh) | 一种数字芯片功能测试方法及系统 | |
CN1987877A (zh) | 一种原型机的测试系统和方法 | |
Gao et al. | Software and hardware co-verification technology based on virtual prototyping of RF SOC | |
Genser et al. | An emulation-based real-time power profiling unit for embedded software | |
Salah | A Unified UVM Architecture for Flash-Based Memory | |
CN103345610B (zh) | 快速验证智能卡数据完整性的设备及方法 | |
CN106066822B (zh) | 一种支持覆盖率统计功能的仿真器及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |