CN113835945B - 芯片的测试方法、装置、设备及系统 - Google Patents
芯片的测试方法、装置、设备及系统 Download PDFInfo
- Publication number
- CN113835945B CN113835945B CN202111154313.9A CN202111154313A CN113835945B CN 113835945 B CN113835945 B CN 113835945B CN 202111154313 A CN202111154313 A CN 202111154313A CN 113835945 B CN113835945 B CN 113835945B
- Authority
- CN
- China
- Prior art keywords
- register
- test
- file
- software
- chip
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 185
- 238000012795 verification Methods 0.000 claims abstract description 66
- 230000006978 adaptation Effects 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000013522 software testing Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 57
- 238000013507 mapping Methods 0.000 claims description 34
- 238000010276 construction Methods 0.000 claims description 14
- 238000010998 test method Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000013101 initial test Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 36
- 238000010586 diagram Methods 0.000 description 16
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例涉及芯片技术领域,公开了一种芯片的测试方法、装置、设备及系统,该芯片的测试方法,应用于测试设备,该方法包括:获取验证环境输出的寄存器配置文件;转换寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,适配文件适配测试设备的测试软件的软件测试代码;构建测试用例,并执行测试用例,以对芯片进行测试。通过获取验证环境输出的寄存器配置文件,转换该寄存器配置文件得到适配文件,该适配文件适配测试设备的测试软件的软件测试代码,从而能够直接嵌入到软件测试环境中,使得直接进入到软件主体测试环境的编写阶段,使得本申请能够提高芯片的测试效率,缩短芯片开发周期。
Description
技术领域
本申请涉及芯片技术领域,特别是涉及一种芯片的测试方法、装置、设备及系统。
背景技术
目前,国内芯片发展面临着巨大的挑战,而对于芯片的开发,除了芯片制造的发展瓶颈外,最大的问题在于开发周期非常漫长,从制定芯片规范,到芯片最终量产,需要大量的人力和时间。不少企业在芯片开发时为了能够早日量产,会采用各种不同的缩短芯片开发周期的方法。而数字芯片逻辑验证在整个芯片的开发周期中,担任着非常重要的角色。一份理想的验证方案,不仅能够保证芯片在逻辑上的正确性,增加一次性量产芯片的成功率,还可以帮助到系统软件测试缩短开发周期,增加切换不同场景测试的高效性。
目前,软件测试人员通常需要完成寄存器的配置工作,当面对复杂庞大的寄存器群组时,很容易出现错误,而查找这种错误需要消耗大量的时间,导致芯片测试效率非常低,对开发周期有着一定的影响,并且一旦设计人员修改一些寄存器,就会产生连锁修改效应,费时费力,很不方便。
发明人在实现本发明的过程中,发现目前的技术方案至少存在以下技术问题:芯片的测试效率不足。
发明内容
本申请实施例提供一种芯片的测试方法、装置、设备及系统,其解决了目前芯片的测试效率不足的技术问题,以提高芯片的测试效率,缩短芯片开发周期。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种芯片的测试方法,应用于测试设备,所述方法包括:
获取验证环境输出的寄存器配置文件;
转换所述寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,所述适配文件适配所述测试设备的测试软件的软件测试代码;
构建测试用例,并执行所述测试用例,以对所述芯片进行测试。
在一些实施例中,所述搭建主体测试环境,包括:
将所述适配文件集成到测试设备的初始测试环境,以得到所述主体测试环境。
在一些实施例中,所述寄存器配置文件由验证设备从逻辑验证环境中生成。
在一些实施例中,所述验证设备从逻辑验证环境生成寄存器配置文件,包括:
基于逻辑验证环境,生成寄存器头文件;
扩展第一寄存器映射类,生成第二寄存器映射类;
基于所述第二寄存器映射类,重写任务总线的读任务和写任务分别对应的第一任务体和第二任务体;
从所述第一任务体和第二任务体中分别增加第一函数,通过所述第一函数产生寄存器定义文件,其中,所述寄存器定义文件适配所述测试设备的测试软件的软件测试代码;
组合所述寄存器头文件和寄存器定义文件,生成所述寄存器配置文件。
在一些实施例中,所述通过所述第一函数产生寄存器定义文件,包括:
根据芯片的逻辑模块、读写类型、寄存器名、寄存器域、数据长度,结合所述测试设备的测试软件所需的格式,生成寄存器定义文件。
在一些实施例中,所述方法还包括:
在测试用例的构建阶段,将第二寄存器映射类替换第一寄存器映射类。
在一些实施例中,所述方法还包括:
在测试用例的执行阶段,判断所述寄存器配置文件中是否包括第一函数开启标识,以确定是否开启第一函数的第一功能,其中,所述第一函数开启标识用于确定开启第一函数的第一功能,所述第一功能包括监控寄存器操作以及产生寄存器定义文件。
第二方面,本申请实施例提供一种芯片的测试装置,应用于测试设备,所述装置包括:
配置文件获取模块,用于获取验证环境输出的寄存器配置文件;
软件测试环境搭建模块,用于转换所述寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,所述适配文件适配所述测试设备的测试软件的软件测试代码;
测试用例构建模块,用于构建测试用例,并执行所述测试用例,以对所述芯片进行测试。
第三方面,本申请实施例提供一种测试设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如第一方面所述的芯片的测试方法。
第四方面,本申请实施例提供一种芯片的测试系统,包括:
如第三方面所述的测试设备;
验证设备,通信连接所述测试设备,用于向所述测试设备发送寄存器配置文件。
第五方面,本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使测试设备能够执行如第一方面所述的芯片的测试方法。
本申请实施例的有益效果是:区别于现有技术的情况下,本申请实施例提供的一种芯片的测试方法,应用于测试设备,所述方法包括:获取验证环境输出的寄存器配置文件;转换寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,适配文件适配测试设备的测试软件的软件测试代码;构建测试用例,并执行测试用例,以对芯片进行测试。通过获取验证环境输出的寄存器配置文件,转换该寄存器配置文件得到适配文件,该适配文件适配测试设备的测试软件的软件测试代码,从而能够直接嵌入到软件测试环境中,使得直接进入到软件主体测试环境的编写阶段,使得本申请能够提高芯片的测试效率,缩短芯片开发周期。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请实施例提供的一种芯片开发周期的示意图;
图2是本申请实施例提供的一种软件测试人员开发流程和逻辑测试人员开发流程的示意图;
图3是本申请实施例提供的一种芯片的测试方法的流程示意图;
图4是本申请实施例提供的另一种软件测试人员开发流程和逻辑测试人员开发流程的示意图;
图5是本申请实施例提供的一种生成寄存器配置文件的示意图;
图6是本申请实施例提供的一种寄存器配置的示意图;
图7是本申请实施例提供的一种芯片的测试装置的结构示意图;
图8是本申请实施例提供的一种测试设备的结构示意图;
图9是本申请实施例提供的一种芯片的测试系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
采用验证方法学是芯片验证的趋势之一,统一验证方法学(UniversalVerification Methodology,UVM)是其中的典型代表。UVM架构中最主要的复用单元是总线代理(Agent),验证人员通过编写序列器(sequencer)中的序列(Sequence)生成事务级的包(transaction),并通过驱动器(Driver)转换为接口激励信号作用于总线接口,同时监视器(Monitor)收集总线信号,转换回事务级的包,并发送至计分板(scoreboard)进行自动化比对。UVM提供了一套基础的验证架构,实现了基本的复用和自动化验证。
请参阅图1,图1是本申请实施例提供的一种芯片开发周期的示意图;
如图1所示,芯片开发周期包括芯片设计,芯片逻辑验证和软件测试,其中,芯片设计包括:芯片设计规范、设计开发、RTL单元测试;芯片逻辑验证包括测试点分解、验证框架构建、验证环境开发;软件测试包括:测试点分解、软件测试环境构建、测试软件开发。
请再参阅图2,图2是本申请实施例提供的一种软件测试人员开发流程和逻辑测试人员开发流程的示意图;
如图2所示,软件测试人员的开发流程,包括:
芯片复位流程、配置寄存器,实现芯片初始化、主体环境构建、测试场景用例;
而逻辑测试人员的开发流程,包括:
搭建测试平台、配置寄存器,实现芯片初始化、编写接口驱动和监控、增加测试场景激励;其中,本申请中的测试平台包括UVMtestbench。
可以理解的是,芯片初始化流程中最重要的就是芯片寄存器的配置,而寄存器模型(register model)的配置在芯片逻辑验证的初期环境搭建就已经准备好了。
可以看出,芯片从架构规格和功能规范制定好之后,逻辑验证人员需要从规范文档中提取测试点,编写验证环境。软件测试人员也是如此。而在编写验证测试环境时,存在着一个相同的步骤,即芯片初始化流程中的寄存器配置。而这一步在一般情况下是由环境开发人员独立完成,或者由逻辑验证人员将验证代码(或伪码)交给软件测试人员,这样就存在着重复的劳动,并且软件测试人员需要手动转换,当面对复杂庞大的寄存器群组时,很容易出现笔误,而查找这种错误需要消耗的时间是巨大的,效率非常低,对开发周期有着一定的影响,并且一旦设计人员修改一些寄存器,就会产生连锁修改效应,费时费力,很不方便。
另外,如果某些独立的芯片模块,软件测试时在人力有限的情况下,不可能一开始就介入模块的测试环境开发,软件测试人员直接修改寄存器容易导致开发周期延长。
基于此,本申请实施例提出一种芯片的测试方法,以提高芯片的测试效率,缩短芯片开发周期。下面结合说明书附图对本申请实施例的技术方案进行说明:
请参阅图3,图3是本申请实施例提供的一种芯片的测试方法的流程示意图;
如图3所示,该芯片的测试方法,包括:
步骤S301:获取验证环境输出的寄存器配置文件;
具体的,该寄存器配置文件为特定格式的文件,该寄存器配置文件由验证人员在验证设备中的逻辑验证环境中生成,相当于测试设备获取验证设备发送的寄存器配置文件,例如:该寄存器配置文件为SV文件。
请再参阅图4,图4是本申请实施例提供的另一种软件测试人员开发流程和逻辑测试人员开发流程的示意图;
如图4所示,逻辑验证人员通过配置寄存器,实现芯片初始化,并将寄存器配置文件输出给软件测试人员,使得软件测试开发人员能够利用逻辑验证人员提供的寄存器配置文件。
步骤S302:转换所述寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,所述适配文件适配所述测试设备的测试软件的软件测试代码;
具体的,适配文件为软件测试代码的可适配格式,将所述寄存器配置文件转换为适配文件,使得该寄存器配置文件符合测试设备的测试软件的软件测试代码,例如:所述寄存器配置文件为SV文件,所述测试设备的测试软件的文件格式为C文件,则将所述寄存器配置文件转换成符合软件人员需要的格式,即C文件,以适配测试设备的测试软件。可以理解的是,该寄存器配置文件可以为一个文件,例如:C文件,也可以为一段代码,例如:C语言代码。
可以理解的是,软件测试人员可以通过利用逻辑测试人员提供的寄存器配置文件,将寄存器配置文件转换为适配文件,而该适配文件适配所述测试设备的测试软件的软件测试代码,从而实现芯片的初始化流程,从而节省了软件测试人员进行寄存器配置的时间。
软件工作人员在搭建主体测试环境的时候,需要寄存器配置实现硬件复位,初始化等操作。而软件测试人员拿到验证人员输出的寄存器配置文件之后,转换为适配文件并直接集成到测试设备的主体环境中,从而搭建主体测试环境。
可以理解的是,一般情况下,软件测试人员需要先进行寄存器的配置代码的编写,接着进入主体测试环境的编写。在本申请实施例中,由于寄存器配置文件是逻辑验证人员提供,因此,软件测试人员可以节省寄存器的配置代码的编写的步骤,从而直接进入主体测试环境的编写的步骤,有利于提高芯片的测试效率。
具体的,所述搭建主体测试环境,包括:
将所述适配文件集成到测试设备的初始测试环境,以得到所述主体测试环境。
可以理解的是,由于经过验证环境输出的寄存器配置文件的转换,而转换得到的适配文件适配测试设备的测试软件的软件测试代码,因此,可以直接将所述适配文件集成到测试设备的初始测试环境,以得到所述主体测试环境,例如:该适配文件对应一软件验证代码,将所述适配文件对应的软件验证代码集成到测试设备的软件测试代码,从而构建测试设备的主体测试环境,其中,所述寄存器配置文件由验证设备从逻辑验证环境中生成。
请参阅图5,图5是本申请实施例提供的一种生成寄存器配置文件的示意图;
如图5所示,所述验证设备从逻辑验证环境生成寄存器配置文件,包括:
步骤S501:基于逻辑验证环境,生成寄存器头文件;
具体的,逻辑验证环境在使用脚本自动产生寄存器模型文件时,生成寄存器模型文件对应的寄存器头文件,其中,所述寄存器头文件为适配测试软件的文件,所述寄存器模型文件包括寄存器模型,所述寄存器模型文件可以为C语言文件,寄存器头文件为C语言文件中的head文件。
步骤S502:扩展第一寄存器映射类,生成第二寄存器映射类;
具体的,所述第一寄存器映射类为UVM架构中的uvm_reg_map类,用于指定寄存器列表中各个寄存器的偏移地址、访问属性以及对应的总线,其中,所述第二寄存器映射类为对所述第一寄存器映射类进行扩展之后得到的映射类,例如:扩展得到自定义的寄存器映射类,例如:my_reg_map类。其中,uvm_reg_map是UVM方法学中的库文件,用于寄存器模型的构造,通过从父类扩展出子类,用以实现比父类更多的功能。通过扩展第一寄存器映射类,生成第二寄存器映射类,能够进行寄存器模型(register model)访问时的监控和提取。
步骤S503:基于所述第二寄存器映射类,重写任务总线的读任务和写任务分别对应的第一任务体和第二任务体;
具体的,在第二寄存器映射类中,重写任务总线的读任务和写任务分别对应的第一任务体和第二任务体,例如:重写my_reg_map类中的总线写任务do_bus_write和总线读任务do_bus_read,可以理解的是,重写是指将函数或者任务的内容进行修改,而函数或者任务名称不变,在被自动调用的时候,执行的是修改内容之后的函数或者任务,以达到修改想要的效果。
步骤S504:从所述第一任务体和第二任务体中分别增加第一函数,通过所述第一函数产生寄存器定义文件,其中,所述寄存器定义文件适配所述测试设备的测试软件的软件测试代码;
具体的,所述第一函数用于将寄存器的配置信息转换为特定格式的文件,例如:寄存器定义文件,其中,所述第一函数可以为dump_reg2file函数,所述通过所述第一函数产生寄存器定义文件,包括:
根据芯片的逻辑模块、读写类型、寄存器名、寄存器域、数据长度,结合所述测试设备的测试软件所需的格式,生成寄存器定义文件。
具体的,生成寄存器定义文件,包括如下步骤:
(1)建立文件夹,该文件夹用于存放寄存器定义文件;
(2)根据芯片的项目属性,确定芯片的寄存器模型名和变量类型名;
(3)定义宏;
(4)根据步骤(2)输出的信息,输出寄存器定义文件中的固定格式的标识符,例如:指针方式读取寄存器值的字符串、结构体后缀、寄存器名称等;
(5)生成寄存器头文件;
(6)生成注释信息;
(7)生成软件配置寄存器的字符串;
步骤S505:组合所述寄存器头文件和寄存器定义文件,生成所述寄存器配置文件。
具体的,软件测试人员编写代码时需要编写寄存器头文件,例如:header文件,该header文件的后缀名是.h。一般会把用来#include的文件的扩展名叫.h,称其为头文件。#include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容单独放在一个文件里,以减少整体代码尺寸;或者,提供跨工程公共代码。而寄存器定义文件的后缀名是.c,将头文件将和.c文件组合成寄存器配置文件,并输出给软件测试人员,即输出到测试设备,以提供给软件测试人员。
本申请将所述寄存器头文件和寄存器定义文件进行组合,得到寄存器配置文件,其中,所述寄存器头文件和所述寄存器定义文件均适配测试设备的测试软件的软件测试代码,从而所述寄存器配置文件也适配所述测试设备的测试软件的软件测试代码,使得测试设备获取到后期不需要任何修改的寄存器配置文件,避免重复劳动带来的开发资源浪费,有利于提高芯片开发的效率。
步骤S303:构建测试用例,并执行所述测试用例,以对所述芯片进行测试。
在本申请实施例中,所述方法还包括:
在测试用例的构建阶段,将第二寄存器映射类替换第一寄存器映射类。例如:在测试用例的构建阶段中,通过构建函数将第二寄存器映射类替换第一寄存器映射类,其中,所述构建函数可以为build_phase函数,所述第一寄存器映射类为UVM架构中的uvm_reg_map类,用于指定寄存器列表中各个寄存器的偏移地址、访问属性以及对应的总线,其中,所述第二寄存器映射类为对所述第一寄存器映射类进行扩展之后得到的映射类,例如:扩展得到自定义的寄存器映射类,例如:my_reg_map类。通过将第二寄存器映射类替换第一寄存器映射类,本申请能够实现在UVM架构环境自动执行时,调用自定义的寄存器映射类,实现自定义的功能。
在本申请实施例中,所述方法还包括:
在测试用例的执行阶段,判断所述寄存器配置文件中是否包括第一函数开启标识,以确定是否开启第一函数的第一功能,其中,所述第一函数开启标识用于确定开启第一函数的第一功能,所述第一功能包括监控寄存器操作以及产生寄存器定义文件。
具体的,所述第一函数的第一功能指的是寄存器模型的dump功能,其中,dump功能指的是执行第一函数,例如:dump_reg2file函数。通过在测试用例的脚步中设置第一函数开启标识,以确定是否开启dump功能。可以理解的是,正常验证人员在执行测试用例时,若不是输出特定格式的文件,例如:c文件,给软件测试人员的时候,是不需要开启dump功能的。只有当输出特定格式的文件,才开启dump功能。
在本申请实施例中,在执行测试用例时,还可以通过仿真选项的方式决定是否开启寄存器模型的dump功能。
请再参阅图6,图6是本申请实施例提供的一种寄存器配置的示意图;
如图6所示,在UVM验证平台进行寄存器配置之后,进行寄存器模型地址映射,进而进行芯片总线驱动,同时监控并输出寄存器配置代码,之后寄存器配置完成。
具体的,比如在执行测试用例的时候,先进行硬件的复位和初始化,那么这时候就需要配置寄存器,建立寄存器模型地址映射就是将硬件中的寄存器通过寄存器模型的方式访问。芯片总线驱动就是访问寄存器的信号加载到了硬件的总线上。监控并输出寄存器配置代码,就是通过监控硬件总线上的信号,实现信号到c文件的转化。
可以理解的是,芯片总线驱动到寄存器配置完成,这是验证人员正常的工作流程。额外的监控操作是在总线的驱动的同时进行的,这里是产生软件测试人员需要的c文件的步骤,正常验证人员的流程是没有这一步的,就是因为需要额外输出,才有的这一步。
通过获取验证环境输出的寄存器配置文件,将寄存器配置文件转换为适配文件,而该适配文件适配测试设备的测试软件的软件测试代码,能够让软件测试人员快速进入主体测试环境编写的流程,本申请能够有效缩短芯片开发周期,同时有效降低编写代码和代码转换过程中发生的错误,也有利于后期的同步更新维护,增快芯片设计变化做出调整时的迭代速度,降低错误发生的概率。
在本申请实施例中,通过提供一种芯片的测试方法、装置、设备及系统,该芯片的测试方法,应用于测试设备,包括:获取验证环境输出的寄存器配置文件;转换寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,适配文件适配测试设备的测试软件的软件测试代码;构建测试用例,并执行测试用例,以对芯片进行测试。通过获取验证环境输出的寄存器配置文件,转换该寄存器配置文件得到适配文件,该适配文件适配测试设备的测试软件的软件测试代码,从而能够直接嵌入到软件测试环境中,使得直接进入到软件主体测试环境的编写阶段,使得本申请能够提高芯片的测试效率,缩短芯片开发周期。
请参阅图7,图7是本申请实施例提供的一种芯片的测试装置的结构示意图;
如图7所示,该芯片的测试装置,应用于测试设备,该装置包括:
配置文件获取模块71,用于获取验证环境输出的寄存器配置文件;
软件测试环境搭建模块72,用于转换所述寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,所述适配文件适配所述测试设备的测试软件的软件测试代码;
测试用例构建模块73,用于构建测试用例,并执行所述测试用例,以对所述芯片进行测试。
需要说明的是,上述的芯片的测试装置可执行本申请实施例所提供的芯片的测试方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本申请实施例所提供的芯片的测试方法。
在本申请实施例中,通过提供一种芯片的测试装置,包括:配置文件获取模块,用于获取验证环境输出的寄存器配置文件;软件测试环境搭建模块,用于转换所述寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,所述适配文件适配所述测试设备的测试软件的软件测试代码;测试用例构建模块,用于构建测试用例,并执行所述测试用例,以对所述芯片进行测试。通过获取验证环境输出的寄存器配置文件,该寄存器配置文件适配测试设备的测试软件的软件测试代码,从而使得软件测试快速进入主体测试环境,使得本申请能够提高芯片的测试效率,缩短芯片开发周期。
请参阅图8,图8是本申请实施例提供的一种测试设备的结构示意图;
如图8所示,该测试设备80包括一个或多个处理器81以及存储器82。其中,图8中以一个处理器81为例。
处理器81和存储器82可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器82作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的一种芯片的测试方法对应的单元(例如,图7所述的各个模块或单元)。处理器81通过运行存储在存储器82中的非易失性软件程序、指令以及模块,从而执行芯片的测试方法的各种功能应用以及数据处理,即实现上述方法实施例以及上述装置实施例的各个模块和单元的功能。其中,该芯片的测试方法可由各种具有一定逻辑处理能力的电子设备执行,如控制芯片等。
存储器82可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器82可选包括相对于处理器81远程设置的存储器,这些远程存储器可以通过网络连接至处理器81。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述模块存储在所述存储器82中,当被所述一个或者多个处理器81执行时,执行上述任意方法实施例中的芯片的测试方法,例如,执行以上描述的图3所示的各个步骤;也可实现图7所示的各个模块或单元的功能。
请再参阅图9,图9是本申请实施例提供的一种芯片的测试系统的结构示意图;
如图9所示,该芯片的测试系统90,包括:测试设备91和验证设备92,其中,该测试设备91可以为上述实施例中提及的测试设备,在此不再赘述。
其中,该测试设备91与验证设备92通信连接,该验证设备92用于向测试设备发送寄存器配置文件,该测试设备91用于执行上述方法实施例中的芯片的测试方法。
在本申请实施例中,该测试设备91与验证设备92可以为同一设备,例如:计算机设备、服务器等设备。
在本申请实施例中,通过提供一种芯片的测试系统,该系统包括测试设备和验证设备,由验证设备向测试设备发送寄存器配置文件,测试设备获取验证环境输出的寄存器配置文件,由测试设备转换该寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,所述适配文件适配所述测试设备的测试软件的软件测试代码;构建测试用例,并执行测试用例,以对芯片进行测试。通过获取验证环境输出的寄存器配置文件,转换该寄存器配置文件得到适配文件,该适配文件适配测试设备的测试软件的软件测试代码,从而使得软件测试快速进入主体测试环境,使得本申请能够提高芯片的测试效率,缩短芯片开发周期。
本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如上述一个或多个处理器可执行上述任意方法实施例中的芯片的测试方法,例如,执行以上描述的各个步骤。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种芯片的测试方法,其特征在于,应用于测试设备,所述方法包括:
获取验证环境输出的寄存器配置文件,其中,所述寄存器配置文件由验证设备从逻辑验证环境中生成;
转换所述寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,所述适配文件适配所述测试设备的测试软件的软件测试代码;
构建测试用例,并执行所述测试用例,以对所述芯片进行测试;
所述验证设备从逻辑验证环境生成寄存器配置文件,包括:
基于逻辑验证环境,生成寄存器头文件;
扩展第一寄存器映射类,生成第二寄存器映射类;
基于所述第二寄存器映射类,重写任务总线的读任务和写任务分别对应的第一任务体和第二任务体;
从所述第一任务体和第二任务体中分别增加第一函数,通过所述第一函数产生寄存器定义文件,其中,所述寄存器定义文件适配所述测试设备的测试软件的软件测试代码;
组合所述寄存器头文件和寄存器定义文件,生成所述寄存器配置文件。
2.根据权利要求1所述的方法,其特征在于,所述搭建软件测试环境,包括:
将所述适配文件集成到测试设备的初始测试环境,以得到主体测试环境。
3.根据权利要求1所述的方法,其特征在于,所述通过所述第一函数产生寄存器定义文件,包括:
根据芯片的逻辑模块、读写类型、寄存器名、寄存器域、数据长度,结合所述测试设备的测试软件所需的格式,生成寄存器定义文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在测试用例的构建阶段,将第二寄存器映射类替换第一寄存器映射类。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在测试用例的执行阶段,判断所述寄存器配置文件中是否包括第一函数开启标识,以确定是否开启第一函数的第一功能,其中,所述第一函数开启标识用于确定开启第一函数的第一功能,所述第一功能包括监控寄存器操作以及产生寄存器定义文件。
6.一种芯片的测试装置,其特征在于,应用于测试设备,所述装置包括:
配置文件获取模块,用于获取验证环境输出的寄存器配置文件,其中,所述寄存器配置文件由验证设备从逻辑验证环境中生成;
软件测试环境搭建模块,用于转换所述寄存器配置文件,生成适配文件,并搭建软件测试环境,其中,所述适配文件适配所述测试设备的测试软件的软件测试代码;
测试用例构建模块,用于构建测试用例,并执行所述测试用例,以对所述芯片进行测试;
所述配置文件获取模块,具体还用于基于逻辑验证环境,生成寄存器头文件,扩展第一寄存器映射类,生成第二寄存器映射类,基于所述第二寄存器映射类,重写任务总线的读任务和写任务分别对应的第一任务体和第二任务体,从所述第一任务体和第二任务体中分别增加第一函数,通过所述第一函数产生寄存器定义文件,其中,所述寄存器定义文件适配所述测试设备的测试软件的软件测试代码,组合所述寄存器头文件和寄存器定义文件,生成所述寄存器配置文件。
7.一种测试设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1-5中任一项所述的芯片的测试方法。
8.一种芯片的测试系统,其特征在于,包括:
如权利要求7所述的测试设备;
验证设备,通信连接所述测试设备,用于向所述测试设备发送寄存器配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154313.9A CN113835945B (zh) | 2021-09-29 | 2021-09-29 | 芯片的测试方法、装置、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154313.9A CN113835945B (zh) | 2021-09-29 | 2021-09-29 | 芯片的测试方法、装置、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113835945A CN113835945A (zh) | 2021-12-24 |
CN113835945B true CN113835945B (zh) | 2024-01-12 |
Family
ID=78967593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111154313.9A Active CN113835945B (zh) | 2021-09-29 | 2021-09-29 | 芯片的测试方法、装置、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113835945B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860589B (zh) * | 2022-03-28 | 2024-06-21 | 象帝先计算技术(重庆)有限公司 | 一种寄存器验证方法、装置、电子设备及计算机存储介质 |
CN115495388B (zh) * | 2022-11-17 | 2023-03-10 | 瀚博半导体(上海)有限公司 | 用于ai推理芯片的芯片验证方法、装置、设备及介质 |
CN115496035B (zh) * | 2022-11-21 | 2023-02-21 | 瀚博半导体(上海)有限公司 | 芯片的验证方法、装置、芯片、电子设备和介质 |
CN117056897B (zh) * | 2023-10-13 | 2023-12-26 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
CN117271248B (zh) * | 2023-11-23 | 2024-02-09 | 成都市楠菲微电子有限公司 | Io接口测试方法、装置及uvm验证环境 |
CN117574822B (zh) * | 2024-01-12 | 2024-04-05 | 深圳星云智联科技有限公司 | 用于芯片的面向优化设计测试方法、计算机设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503308A (zh) * | 2016-10-08 | 2017-03-15 | 中国电子科技集团公司第五十八研究所 | 一种基于uvm的can控制器ip验证平台 |
CN111523284A (zh) * | 2020-03-30 | 2020-08-11 | 眸芯科技(上海)有限公司 | 转换芯片eda仿真配置的方法、装置及应用 |
CN112131827A (zh) * | 2020-09-11 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片测试方法、系统、设备及存储介质 |
CN112241347A (zh) * | 2020-10-20 | 2021-01-19 | 海光信息技术股份有限公司 | 实现SystemC验证的方法和验证平台组件架构 |
CN112270149A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 验证平台自动化集成方法、系统及电子设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007310565A (ja) * | 2006-05-17 | 2007-11-29 | Toshiba Corp | システムlsi検証装置及びシステムlsi検証プログラム |
US20180060453A1 (en) * | 2016-08-24 | 2018-03-01 | Raytheon Company | Universal verification methodology (uvm) register abstraction layer (ral) painter |
US10289779B2 (en) * | 2017-04-18 | 2019-05-14 | Raytheon Company | Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor |
-
2021
- 2021-09-29 CN CN202111154313.9A patent/CN113835945B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503308A (zh) * | 2016-10-08 | 2017-03-15 | 中国电子科技集团公司第五十八研究所 | 一种基于uvm的can控制器ip验证平台 |
CN111523284A (zh) * | 2020-03-30 | 2020-08-11 | 眸芯科技(上海)有限公司 | 转换芯片eda仿真配置的方法、装置及应用 |
CN112131827A (zh) * | 2020-09-11 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片测试方法、系统、设备及存储介质 |
CN112270149A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 验证平台自动化集成方法、系统及电子设备和存储介质 |
CN112241347A (zh) * | 2020-10-20 | 2021-01-19 | 海光信息技术股份有限公司 | 实现SystemC验证的方法和验证平台组件架构 |
Also Published As
Publication number | Publication date |
---|---|
CN113835945A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113835945B (zh) | 芯片的测试方法、装置、设备及系统 | |
CN113312879B (zh) | 芯片电路功能验证系统、方法、设备及存储介质 | |
CN111428462B (zh) | 通讯协议模板构建的方法及终端设备 | |
CN101504692B (zh) | 一种验证和测试片上系统的系统及方法 | |
US7424416B1 (en) | Interfacing hardware emulation to distributed simulation environments | |
CN112131829A (zh) | 一种芯片寄存器的验证方法、系统及相关装置 | |
CN109783340B (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
CN115686655B (zh) | 用于gpu ip验证的联合仿真系统 | |
CN115688676B (zh) | 基于tlm的gpu联合仿真系统 | |
US20150269049A1 (en) | Verification system and method for automated verification of register information for an electronic system | |
CN115719047B (zh) | 基于波形gpu联合仿真系统 | |
CN102480467A (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN116341428B (zh) | 构建参考模型的方法、芯片验证方法及系统 | |
US8397217B2 (en) | Integrating templates into tests | |
CN112287569A (zh) | 用于仿真逻辑系统设计的方法、电子设备及存储介质 | |
CN115952758A (zh) | 芯片验证方法、装置、电子设备及存储介质 | |
CN112068852A (zh) | 基于国产服务器的开源软件安装方法、系统及设备和介质 | |
CN115017845A (zh) | 用于ip单元级别验证的总线驱动式芯片仿真激励模型 | |
CN115618800B (zh) | 基于dpi的gpu联合仿真系统 | |
US20230055523A1 (en) | Method, apparatus, and storage medium for generating test cases | |
CN103577170A (zh) | 网络应用的构建方法及装置 | |
CN101908016A (zh) | 多核心嵌入式装置的除错信息与断点管理方法 | |
CN109358855A (zh) | 一种用于编程的前端模拟数据敏捷开发方法及电子设备 | |
CN113312080B (zh) | 芯片eda仿真中更新芯片软硬件配置的系统、装置及方法 | |
Liu et al. | Firmware functional validation using a colored Petri net model |
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 |