CN114090423A - 一种芯片验证自动化控制方法 - Google Patents

一种芯片验证自动化控制方法 Download PDF

Info

Publication number
CN114090423A
CN114090423A CN202111189828.2A CN202111189828A CN114090423A CN 114090423 A CN114090423 A CN 114090423A CN 202111189828 A CN202111189828 A CN 202111189828A CN 114090423 A CN114090423 A CN 114090423A
Authority
CN
China
Prior art keywords
simulation
stage
hardware
control method
automatic control
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
Application number
CN202111189828.2A
Other languages
English (en)
Inventor
崔帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinhe Semiconductor Technology Wuxi Co Ltd
Original Assignee
Xinhe Semiconductor Technology Wuxi Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xinhe Semiconductor Technology Wuxi Co Ltd filed Critical Xinhe Semiconductor Technology Wuxi Co Ltd
Priority to CN202111189828.2A priority Critical patent/CN114090423A/zh
Publication of CN114090423A publication Critical patent/CN114090423A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及芯片验证技术领域,尤其涉及一种芯片验证自动化控制方法,该方法基于uvm phase机制控制,包括建立、连接、复位、配置、运行、关断、检查、退出阶段。本发明在仿真启动后,能够根据设定的参数自动控制仿真平台重复运行,直至将预期的场景遍历完后,仿真才退出,极大的提高了芯片的仿真效率和验证工作的价值。

Description

一种芯片验证自动化控制方法
技术领域
本发明涉及芯片验证技术领域,尤其涉及一种芯片验证自动化控制方法。
背景技术
随着芯片设计复杂度的提升,验证工作面临着越来越大的挑战。作为独立于设计的工种,在设计人员完成代码的初步开发后,验证人员需要在仿真平台上对设计进行代码级的测试。测试的内容主要在功能和性能两部分,功能是芯片要做什么,性能是芯片跑多快。功能测试需要验证人员根据芯片规格编写测试pattern通过仿真观察芯片运行是否符合预期。性能测试需要评估系统处理激励消耗的时间,需要根据芯片工作主频、模块设计时序进行初步评估,实际性能与综合结果、后端工艺实现均有关联。从前仿的角度看,验证人员需要根据方案划分来对不同层面的验证需求进行分解,通过仿真以确认芯片工作正常。
那么如何保证验证的完备性呢?验证工程师会制定一份验证计划来指导验证进程,典型做法如下:
(1)编写定向测试用例,通过特定的配置和激励,测试设计能否实现预期的功能。这种方式单条用例的场景比较单一,需要维护大量的测试条目,且容易遗漏feature。
(2)对配置和场景进行随机化处理,通过配置和激励的随机组合,模拟不同的测试场景。这种方式在面对复杂的设计时,由于场景比较多,容易漏测并造成仿真资源的浪费。
(3)分析coverage以补充测试场景。这种方式的缺点是可能会漏测某些功能,因为代码上的覆盖并不能保证功能上的覆盖。
(4)编写参考模型。目的是与RTL处理结果进行自动化比对,提高问题定位效率;
从上面的分析可以看出,在芯片开发周期比较紧张的情况下,面对复杂的设计,验证工程师除了制定一份完备的验证计划,也需要搭建一个高效的仿真平台,来相对快速的遍历测试场景。验证平台的搭建本身并无标准,主要结合项目需求进行开发,如下几种:
(1)使用verilog/sv语言编写,进行简单测试,激励比较简单,多用于开发人员自测;
(2)基于specman e语言。作为一种面向对象的开发语言,e语言可以在行为级对激励,行为进行描述,灵活性比较好;
(3)基于sv编写的vmm/uvm框架。考虑到sv同时作为代码开发和验证的工作语言,可以提高开发和验证的沟通效率,且框架提供了一系列的仿真库,可以加速验证平台的开发,这一方式已成为业界主流。
从实际来看,越来越多的项目在采用基于uvm框架搭建验证平台,那么如何加速仿真进程呢?依靠服务器性能的提升固然可以缩短仿真时间,但这会引入额外的项目成本。
发明内容
本发明提供了一种芯片验证自动化控制方法,在仿真启动后,能够根据设定的参数自动控制仿真平台重复运行,直至将预期的场景遍历完后,仿真才退出,极大的提高了芯片的仿真效率和验证工作的价值。
为了实现本发明的目的,一种芯片验证自动化控制方法,包括如下步骤:
1)基于uvm建立一个仿真平台组件的树形结构,树形结构的根节点由uvm控制,根节点通过实例化一个继承自uvm_test的类产生,一般为用例名。在用例类中,例化平台的env/agent等组件;
2)建立阶段进行仿真组件的实例化,根据指定的例化名来生成各个组件,并通过parent参数指定父节点;同时建立covergroup,对待监控的场景配置进行建仓,指定需要监控的触发场景;
3)连接阶段将各个组件连接起来;
4)复位阶段将硬件复位,所有触发器回到初始状态,对待测配置进行随机处理,随机值由仿真器随机得到;
5)在配置阶段,对硬件进行配置,并将步骤4)随机处理后的结果同步配置到平台;
6)在运行阶段,硬件接收输入激励,相应的监控同时实时监测硬件运行的正确性;
7)在main阶段发送激励,通过行为对比,而在此之前会对硬件进行相应的配置;
8)在关断阶段运行covergroup的采样,如果未达到目标,则跳转到步骤4),执行下一轮仿真,否则跳转到步骤9);
9)在检查阶段检查硬件退出仿真后的状态。
作为本发明的优化方案,在步骤2)中还完成接口和配置参数的传递,指定待测配置的随机范围。
作为本发明的优化方案,在步骤3)中,组件连接包括接口连接和组件互联。
作为本发明的优化方案,在步骤4)中,test case中的随机类进行随机化得到测试的一组随机值,随机值方式为SV自带的randomize函数。
作为本发明的优化方案,在步骤6)中,监控包括参考模型和断言。
作为本发明的优化方案,在步骤9)中,硬件退出仿真后的状态包括统计状态、FIFO状态或状态机。
作为本发明的优化方案,运行阶段与复位阶段、配置阶段、main阶段、关断阶段4个子阶段并行执行。
本发明具有积极的效果:1)相对定向测试,uvm的phase跳转可以在一条测试用例中覆盖多种模式,避免重复的编写测试用例,提高单条用例的覆盖范围,降低维护成本;
2)本发明相对全随机测试,通过sv的randomize函数能够对变量式范围进行模糊指定,如inside可以在范围内随机,dist可以进行带权重随机,避免无意义的重复,能够更快的触发期望的测试场景;
3)本发明相对单次仿真模式,能够通过重复仿真增加对待测配置的遍历,可以在无人工干预下由仿真器自行对待测模式进行遍历,提高仿真效率;
4)本发明相对代码覆盖率,功能覆盖率covergroup侧重从功能角度对场景进行监控,更贴近实际使用;
5)本发明对芯片验证过程中的定向测试方式进行了改进,又避免了全随机模式对仿真资源造成的浪费,提高了仿真效率,加快仿真的收敛。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明的流程图。
具体实施方式
下面结合附图对本发明的实现做进一步详细的描述:。
如图1所示,一种芯片验证自动化控制方法,包括如下步骤
1)基于uvm建立一个仿真平台组件的树形结构,树形结构的根节点由uvm控制,根节点通过实例化一个继承自uvm_test的类产生,一般为用例名。在用例类中,例化平台的env/agent等组件;
2)建立阶段进行仿真组件的实例化,根据指定的例化名来生成各个组件,并通过parent参数指定父节点;同时建立covergroup,对待监控的场景配置进行建仓;
3)连接阶段将各个组件连接起来;
4)复位阶段将硬件复位,所有触发器回到初始状态,对待测配置进行随机处理,随机值由仿真器随机得到;
5)在配置阶段,对硬件进行相应的配置,并将步骤4)随机处理后的结果同步配置到平台;
6)在运行阶段,硬件接收输入激励,相应的监控同时实时监测硬件运行的正确性;
7)在main运行阶段发送激励,通过行为对比,而在此之前会对硬件进行相应的配置;仿真阶段分为复位、配置、main、关断4个部分;
8)在关断阶段运行covergroup的采样,如果未达到目标(覆盖率未达到100%),则跳转到步骤4),执行下一轮仿真,否则跳转到步骤9);
9)在检查阶段检查硬件退出仿真后的状态
芯片验证自动化控制方法整个进程基于uvm phase机制控制,各个阶段如图1所示。
在步骤2)中还完成接口和配置参数的传递,指定待测配置的随机范围。tese case中初始化covergroup(功能覆盖率),指定covergroup的采样区间及交叉覆盖率等。
在步骤3)中,组件连接包括接口连接和组件互联。
在步骤4)中,test case中的随机类进行随机化得到测试的一组随机值,随机值方式为SV自带的randomize函数。同时,数字电路中的基本存储单元如触发器/RAM在复位阶段均回到默认值,以提供一个初始化环境。
在步骤6)中,监控包括参考模型和断言。使用断言可以创建更稳定、品质更好且不易于出错的代码。
在步骤7)中,在main阶段发送激励,通过行为对比,测试相应的配置下能否对输入激励进行正确处理;通过参考模型和断言会对运行过程进行监控,error会打印到log中,方便问题定位。
在关断阶段同时会打印出覆盖率数据和重复次数,能够对仿真进度有一个量化。
在步骤9)中,硬件退出仿真后的状态包括统计状态、FIFO状态或状态机,如果发现异常,会打印出来方便后续侦错。
所有步骤结束后退出仿真,报告仿真资源的消耗和时间等信息。
运行阶段与复位阶段、配置阶段、main阶段、关断阶段4个子阶段并行执行。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,并不能因此而理解为对本发明专利范围的限制。应当指出的是,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (7)

1.一种芯片验证自动化控制方法,其特征在于:包括如下步骤:
1)基于uvm建立一个仿真平台组件的树形结构,树形结构的根节点由uvm控制,根节点通过实例化一个继承自uvm_test的类产生;
2)建立阶段进行仿真组件的实例化,根据指定的例化名来生成各个组件,并通过parent参数指定父节点;同时建立covergroup,对待监控的场景配置进行建仓;
3)连接阶段将各个组件连接起来;
4)复位阶段将硬件复位,所有触发器回到初始状态,对待测配置进行随机处理,随机值由仿真器随机得到;
5)在配置阶段,对硬件进行配置,并将步骤4)随机处理后的结果同步配置到平台;
6)在运行阶段,硬件接收输入激励,相应的监控同时实时监测硬件运行的正确性;
7)在main阶段发送激励,通过行为对比,而在此之前会对硬件进行相应的配置;
8)在关断阶段运行covergroup的采样,如果未达到目标,则跳转到步骤4),执行下一轮仿真,否则跳转到步骤9);
9)在检查阶段检查硬件退出仿真后的状态。
2.根据权利要求1所述的一种芯片验证自动化控制方法,其特征在于:在步骤2)中还完成接口和配置参数的传递,指定待测配置的随机范围。
3.根据权利要求2所述的一种芯片验证自动化控制方法,其特征在于:在步骤3)中,组件连接包括接口连接和组件互联。
4.根据权利要求3所述的一种芯片验证自动化控制方法,其特征在于:在步骤4)中,test case中的随机类进行随机化得到测试的一组随机值,随机值方式为SV自带的randomize函数。
5.根据权利要求4所述的一种芯片验证自动化控制方法,其特征在于:在步骤6)中,监控包括参考模型和断言。
6.根据权利要求5所述的一种芯片验证自动化控制方法,其特征在于:在步骤9)中,硬件退出仿真后的状态包括统计状态、FIFO状态或状态机。
7.根据权利要求1-6任一项所述的一种芯片验证自动化控制方法,其特征在于:运行阶段与复位阶段、配置阶段、main阶段、关断阶段4个子阶段并行执行。
CN202111189828.2A 2021-10-11 2021-10-11 一种芯片验证自动化控制方法 Pending CN114090423A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111189828.2A CN114090423A (zh) 2021-10-11 2021-10-11 一种芯片验证自动化控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111189828.2A CN114090423A (zh) 2021-10-11 2021-10-11 一种芯片验证自动化控制方法

Publications (1)

Publication Number Publication Date
CN114090423A true CN114090423A (zh) 2022-02-25

Family

ID=80296733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111189828.2A Pending CN114090423A (zh) 2021-10-11 2021-10-11 一种芯片验证自动化控制方法

Country Status (1)

Country Link
CN (1) CN114090423A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116227395A (zh) * 2022-12-26 2023-06-06 爱芯元智半导体(上海)有限公司 数字芯片的仿真测试方法、装置及电子设备
CN117290254A (zh) * 2023-11-24 2023-12-26 沐曦集成电路(南京)有限公司 一种基于组件自动化的芯片验证方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116227395A (zh) * 2022-12-26 2023-06-06 爱芯元智半导体(上海)有限公司 数字芯片的仿真测试方法、装置及电子设备
CN116227395B (zh) * 2022-12-26 2023-09-29 爱芯元智半导体(上海)有限公司 数字芯片的仿真测试方法、装置及电子设备
CN117290254A (zh) * 2023-11-24 2023-12-26 沐曦集成电路(南京)有限公司 一种基于组件自动化的芯片验证方法

Similar Documents

Publication Publication Date Title
CN105094783B (zh) 安卓应用稳定性测试的方法及装置
US8572437B2 (en) Multi-platform test automation enhancement
US8402438B1 (en) Method and system for generating verification information and tests for software
US8666721B2 (en) Resource remapping in a hardware emulation environment
US20130060507A1 (en) Application testing
CN103235756A (zh) 一种面向嵌入式系统分区应用程序软件的仿真测试方法
CN114090423A (zh) 一种芯片验证自动化控制方法
CN111124919A (zh) 一种用户界面的测试方法、装置、设备及存储介质
CN104461810A (zh) 一种提高嵌入式处理器功能验证效率的方法
US20090248390A1 (en) Trace debugging in a hardware emulation environment
CN111859834B (zh) 一种基于uvm的验证平台开发方法、系统、终端及存储介质
CN116956790A (zh) 一种仿真验证方法、装置、设备及介质
CN113094235B (zh) 一种尾延迟异常云审计系统及方法
CN114676053A (zh) 一种硬件设备的自动化分析方法及装置
Pooley et al. CPASA: Continuous performance assessment of software architecture
Júnior et al. Preserving the exception handling design rules in software product line context: A practical approach
CN111309297A (zh) 脚本开发系统及方法
Wang et al. Model-based simulation testing for embedded software
Jägemar Utilizing hardware monitoring to improve the performance of industrial systems
Coyne et al. A methodology for unit testing actors in proprietary discrete event based simulations
Sastry et al. TESTING DISTRIBUTED EMBEDDED SYSTEMS THROUGH INSTRUCTION SET SIMULATORS
CN116451620A (zh) 芯片验证系统及方法
CN116090387A (zh) 芯片设计的仿真验证方法、装置、计算机设备及存储介质
KR920002484B1 (ko) 전자교환기 시험환경 시스팀
CN113282517A (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