CN108984991B - 一种用于低功耗设计的可重用仿真验证方法 - Google Patents
一种用于低功耗设计的可重用仿真验证方法 Download PDFInfo
- Publication number
- CN108984991B CN108984991B CN201811103167.5A CN201811103167A CN108984991B CN 108984991 B CN108984991 B CN 108984991B CN 201811103167 A CN201811103167 A CN 201811103167A CN 108984991 B CN108984991 B CN 108984991B
- Authority
- CN
- China
- Prior art keywords
- verification
- power
- simulation
- module
- data
- 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.)
- Active
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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- 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
Abstract
本发明公开了一种用于低功耗设计的可重用仿真验证方法,本发明通过对传输的电源状态的动态统计,实现了仿真在满足测试用例指定要求时自适应的进行仿真和自动结束;通过在测试平台传递配置参数,实现了验证环境组件、特殊功能的开关作用,同时实现了验证环境在类似设计中的可重用性;通过断言的绑定方法,和设计路径传输的参数化,实现了断言在源代码和网表级的完全复用。采用本发明的验证方法构建的验证平台不仅可以完成传统验证平台的功能覆盖性,同时可以覆盖电路中所有的电源状态。
Description
技术领域
本发明属于低功耗仿真验证领域,具体涉及一种用于低功耗设计的可重用仿真验证方法。
背景技术
随着数字集成电路规模的不断扩大,芯片的主频和器件密度都大幅度提高,并且随着工艺技术逐步进入65nm及以下,芯片的漏电流也呈指数级增长,漏电功耗有超过动态功耗的趋势,成为继速度、面积之后第三个制约芯片发展的因素。传统的功能验证并未覆盖芯片电源状态的验证,因此,面对低功耗设计芯片的要求,对芯片的功能仿真验证提出了新的更高的要求。
目前,为了满足功能验证不断增加的需求,验证方法学在过去十年里得到了快速的发展,形成了基于约束的验证、基于断言的形式化验证、基于覆盖率的验证等。同时,以各EDA厂商为代表发布了各种验证方法,但是没有一种能有效的完全解决低功耗设计对于功能验证提出的各种新的挑战,并不能有效地覆盖所有的电源状态,不能对于低功耗控制中的各种复杂时序进行有效的检查,同时缺少验证环境的可扩展性、动态配置性、自动化适应性,复用性较差。
发明内容
本发明的目的在于克服上述不足,提供一种用于低功耗设计的可重用仿真验证方法,能够高效快速覆盖所有电源状态、实时监控复杂控制序列,能够极大缩短验证周期,提高验证效率。
为了达到上述目的,本发明包括以下步骤:
步骤一,对芯片端口信号的电源状态信息进行抽象,对验证环境与实际芯片交互的状态约束传输数据进行抽象,并配置测试平台的验证环境;
步骤二,验证环境中的monitor模块对抽象的数据进行实时监控,并将抽象的数据发送至计分板scoreboard;
步骤三,计分板scoreboard统计接收到的抽象数据中电源状态是否已经覆盖,并将抽象的数据发送至coverage模块,之后输出文档记录信息;
步骤四,coverage模块将接受到的抽象数据与阈值进行对比,并将抽象数据通过数据库动态反馈至测试用例,测试用例对抽象数据进行仿真处理,仿真结束前在发送对应的数据包时对coverage模块反馈的抽象数据进行判断,当满足仿真结束要求时,本次仿真即可结束,否则,测试用例继续产生新的数据包并通过sequencer模块发送至driver模块;
步骤五,driver模块将验证环境中的抽象数据包转换为信号级的数据,并发送至待测芯片,进行并完成仿真验证。
步骤一中,抽象的数据将以数据包的形式在验证环境中传递,验证环境中从芯片收集到的电源状态数据转换为抽象的数据包在验证环境中传递。
步骤一中,在测试平台中通过测试用例导入验证参数配置验证环境,测试用例继承于测试基类,测试基类中例化了具体的验证环境。
步骤四中,sequencer模块实时监控driver模块是否将当前数据包接受完毕,如果接受完毕,sequencer模块将会继续发送其他数据包,否则挂起driver模块等待完成当前的驱动任务。
测试平台中通过assertion模块监控芯片的控制时序。
测试平台能够通过factory机制进行组件的动态构建和测试用例的动态构建以及重写覆盖。
芯片端口信号的电源状态信息和验证环境与实际芯片交互的状态能够通过model模块进行模拟。
通过验证环境的自动收集统计电源状态覆盖率功能,能够使验证环境自适应运行和停止。
与现有技术相比,本发明通过对传输的电源状态的动态统计,实现了仿真在满足测试用例指定要求时自动结束;通过在测试平台传递配置参数,实现了验证环境组件、特殊功能的开关作用,同时实现了验证环境在类似设计中的可重用性;通过断言的绑定方法,和设计路径传输的参数化,实现了断言在源代码和网表级的完全复用。采用本发明的验证方法构建的验证平台不仅可以完成传统验证平台的功能覆盖性,同时可以覆盖电路中所有的电源状态。本发明不仅可以实现源代码阶段对于复杂控制时序的检查,还可以实现相同功能电路在网表阶段的检查,从而实现了源代码阶段到网表阶段验证环境的复用,极大的提高了验证效率。本发明使用了参数化的配置和动态的电路状态监测,当电路的指定的电源状态均得到覆盖时,通过参数化的配置,可以自动完成仿真验证,减少了测试用例的数目,极大的缩短了验证的周期,提高了验证的效率。
附图说明
图1为本发明的控制流程图;
图2为本发明中复杂控制序列检查示意图;
图3为本发明中功耗覆盖率统计结果示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
参见图1,本发明包括以下步骤:
步骤一,对芯片端口信号的电源状态信息进行抽象,对验证环境与实际芯片交互的状态约束传输数据进行抽象,并配置测试平台的验证环境;抽象的数据将以数据包的形式在验证环境中传递,验证环境中从芯片收集到的数据转换为抽象的数据包在验证环境中传递;在测试平台中通过测试用例导入验证参数配置验证环境,测试用例继承于测试基类,测试基类中例化了具体的验证环境;
步骤二,验证环境中的monitor模块对抽象的数据进行实时监控,并将抽象的数据发送至计分板scoreboard;
步骤三,计分板scoreboard统计接收到的抽象数据中电源状态是否已经覆盖,并将抽象的数据发送至coverage模块,之后输出文档记录信息;
步骤四,coverage模块将接受到的抽象数据与阈值进行对比,并将抽象数据通过数据库动态反馈至测试用例,测试用例对抽象数据进行仿真处理,仿真结束前在发送对应的数据包时对coverage模块反馈的抽象数据进行判断,当满足仿真结束要求时,本次仿真即可结束,否则,测试用例继续产生新的数据包并通过sequencer模块发送至driver模块;
步骤五,sequencer模块实时监控driver模块是否将当前数据包接受完毕,如果接受完毕,sequencer模块将会继续发送其他数据包,否则挂起driver模块等待完成当前的驱动任务;
步骤六,driver模块将验证环境中的抽象数据包转换为信号级的数据,并发送至待测芯片,进行仿真验证。
测试平台中通过assertion模块监控芯片的控制时序,测试平台能够通过factory机制进行重写覆盖,芯片端口信号的电源状态信息和验证环境与实际芯片交互的状态能够通过model模块进行模拟。通过验证环境的自动收集统计电源状态覆盖率功能,能够使验证环境自适应运行和停止。
通过该验证环境组件的配置、激励与验证环境分离、信号级数据到验证环境中的抽象数据等,使得整个验证平台具有灵活的配置性、可重用性和可扩展性等优点。
基于该验证方法增加的回调机制安置在验证平台与待测设计的交互环节驱动器中,可以对特殊要求的测试激励进行修改,实现异常测试用例,从而增强了验证环境的可扩展性和可重用性。本发明的验证环境引入了参数化类配置机制,在不同的测试用例中通过不同的配置信息改变参数化类中相应的参数,实现对仿真测试验证平台的动态配置,从而仿真验证环境可在不同的测试用例中自动调整结构,达到环境的完全复用。
本发明对一款基于低功耗设计的集成多核的SoC进行是仿真验证,并且该芯片已经成功流片,通过应用本发明覆盖了该低功耗设计的各种电源状态组合,对于电路中复杂的控制时序进行了有效的监控,如附图2所示,功耗覆盖率达到了100%,如附图3所示。同时,该仿真验证方法可推广至其他基于低功耗设计的集成电路设计。
Claims (8)
1.一种用于低功耗设计的可重用仿真验证方法,其特征在于,包括以下步骤:
步骤一,对芯片端口信号的电源状态信息进行抽象,对验证环境与实际芯片交互的状态约束传输数据进行抽象,并配置测试平台的验证环境;
步骤二,验证环境中的monitor模块对抽象的数据进行实时监控,并将抽象的数据发送至计分板scoreboard;
步骤三,计分板scoreboard统计接收到的抽象数据中电源状态是否已经覆盖,并将抽象的数据发送至coverage模块,之后输出文档记录信息;
步骤四,coverage模块将接受到的抽象数据与阈值进行对比,并将抽象数据通过数据库动态反馈至测试用例,测试用例对抽象数据进行仿真处理,仿真结束前在发送对应的数据包时对coverage模块反馈的抽象数据进行判断,当满足仿真结束要求时,本次仿真即可结束,否则,测试用例继续产生新的数据包并通过sequencer模块发送至driver模块;
步骤五,driver模块将验证环境中的抽象数据包转换为信号级的数据,并发送至待测芯片,进行并完成仿真验证。
2.根据权利要求1所述的一种用于低功耗设计的可重用仿真验证方法,其特征在于,步骤一中,对电源状态进行抽象,抽象的数据将以数据包的形式在验证环境中传递,验证环境中从芯片收集到的数据转换为抽象的数据包在验证环境中传递。
3.根据权利要求1所述的一种用于低功耗设计的可重用仿真验证方法,其特征在于,步骤一中,在测试平台中通过测试用例导入验证参数配置验证环境,测试用例继承于测试基类,测试基类中例化了具体的验证环境。
4.根据权利要求1所述的一种用于低功耗设计的可重用仿真验证方法,其特征在于,步骤四中,sequencer模块实时监控driver模块是否将当前数据包接受完毕,如果接受完毕,sequencer模块将会继续发送其他数据包,否则挂起driver模块等待完成当前的驱动任务。
5.根据权利要求1所述的一种用于低功耗设计的可重用仿真验证方法,其特征在于,测试平台中通过assertion模块监控芯片的控制时序。
6.根据权利要求1所述的一种用于低功耗设计的可重用仿真验证方法,其特征在于,测试平台能够通过factory机制进行组件的动态构建和测试用例的动态构建以及重写覆盖。
7.根据权利要求1所述的一种用于低功耗设计的可重用仿真验证方法,其特征在于,芯片端口信号的电源状态信息和验证环境与实际芯片交互的状态能够通过model模块进行模拟。
8.根据权利要求1所述的一种用于低功耗设计的可重用仿真验证方法,其特征在于,通过验证环境的自动收集统计电源状态覆盖率功能,能够使验证环境自适应运行和停止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811103167.5A CN108984991B (zh) | 2018-09-20 | 2018-09-20 | 一种用于低功耗设计的可重用仿真验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811103167.5A CN108984991B (zh) | 2018-09-20 | 2018-09-20 | 一种用于低功耗设计的可重用仿真验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984991A CN108984991A (zh) | 2018-12-11 |
CN108984991B true CN108984991B (zh) | 2022-09-13 |
Family
ID=64545842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811103167.5A Active CN108984991B (zh) | 2018-09-20 | 2018-09-20 | 一种用于低功耗设计的可重用仿真验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984991B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114218026B (zh) * | 2021-11-29 | 2022-10-28 | 北京百度网讯科技有限公司 | 计分板生成方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060005286A (ko) * | 2004-07-12 | 2006-01-17 | 양세양 | 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
CN107480382A (zh) * | 2017-08-21 | 2017-12-15 | 中国电子科技集团公司第五十四研究所 | 一种快速收敛的覆盖率驱动验证方法 |
-
2018
- 2018-09-20 CN CN201811103167.5A patent/CN108984991B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060005286A (ko) * | 2004-07-12 | 2006-01-17 | 양세양 | 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법 |
CN107480382A (zh) * | 2017-08-21 | 2017-12-15 | 中国电子科技集团公司第五十四研究所 | 一种快速收敛的覆盖率驱动验证方法 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
Non-Patent Citations (1)
Title |
---|
基于UVM的汽车电子标识系统级验证;肖海等;《中国集成电路》;20161205(第12期);第48-53页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108984991A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046387B (zh) | 一种基于uvm的sm2模块验证平台及验证方法 | |
CN103257925B (zh) | 列车运行监控记录软件自动测试装置、系统及其方法 | |
WO2002001424A3 (en) | System and method relating to verification of integrated circuit design | |
CN107678946B (zh) | 一种基于模型的机载嵌入式软件测试环境构建方法 | |
CN113221318B (zh) | 一种基于dds的系统级仿真测试环境构建方法 | |
CN104483959A (zh) | 故障模拟与测试系统 | |
CN102508752B (zh) | 一种单片机硬件仿真器和仿真方法 | |
US20170045865A1 (en) | Method for connecting an input/output interface of a tester equipped for control unit development | |
CN110632857B (zh) | 用于大规模层次化控制系统的控制性能验证方法 | |
CN109146213B (zh) | 航天器电源系统健康管理验证评估环境系统 | |
CN114417768B (zh) | 一种以太网芯片的数模混合仿真方法及系统 | |
CN111064449A (zh) | 一种基于uvm平台的数字降采样滤波器的验证平台及方法 | |
CN104935936A (zh) | 基于uvm的熵解码器验证方法及装置 | |
CN108984991B (zh) | 一种用于低功耗设计的可重用仿真验证方法 | |
CN206411509U (zh) | 车辆多控制器仿真测试系统 | |
CN107368636B (zh) | 一种兼容sparc V8架构SOC的单机应用验证系统 | |
CN202694145U (zh) | 主控板的测试系统 | |
CN106354515A (zh) | 基于模型的SystemC代码生成系统 | |
US20080250364A1 (en) | Method and system for verification of multi-voltage circuit design | |
CN103576667B (zh) | 主控板的测试方法、装置及系统 | |
CN105378650B (zh) | 用于控制处理模块的操作模式的方法和装置 | |
JP2005536789A (ja) | 様々なシリアルバスタイプをシミュレーションし、エミュレーションし、試験するための普遍的なアプローチ | |
CN103744757B (zh) | 一种基于arinc661的df文件验证方法 | |
CN114780143A (zh) | 基于uvm的can控制器激励序列生成方法、装置和验证平台 | |
CN109932588A (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 |