CN117271248A - Io接口测试方法、装置及uvm验证环境 - Google Patents

Io接口测试方法、装置及uvm验证环境 Download PDF

Info

Publication number
CN117271248A
CN117271248A CN202311570676.XA CN202311570676A CN117271248A CN 117271248 A CN117271248 A CN 117271248A CN 202311570676 A CN202311570676 A CN 202311570676A CN 117271248 A CN117271248 A CN 117271248A
Authority
CN
China
Prior art keywords
register
test
interface
dut
file
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
Application number
CN202311570676.XA
Other languages
English (en)
Other versions
CN117271248B (zh
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.)
Chengdu Nanfei Microelectronics Co ltd
Original Assignee
Chengdu Nanfei Microelectronics 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 Chengdu Nanfei Microelectronics Co ltd filed Critical Chengdu Nanfei Microelectronics Co ltd
Priority to CN202311570676.XA priority Critical patent/CN117271248B/zh
Publication of CN117271248A publication Critical patent/CN117271248A/zh
Application granted granted Critical
Publication of CN117271248B publication Critical patent/CN117271248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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
    • G06F11/2221Detection 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 to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明提供一种IO接口测试方法、装置及UVM验证环境,属于测试技术领域。IO接口测试方法包括:根据待测试IO接口的功能复用列表构建多个测试激励;获取测试用例,并运行测试用例;其中,测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:采用前门访问的方式将寄存器状态参数写入至DUT文件;采用后门访问的方式读取DUT文件中寄存器的状态值,选择对应的测试激励,并将测试激励下发至DUT文件;获取待测试IO接口的一个功能的测试结果,并对测试结果进行检查。可以模拟该IO接口在芯片实际应用时的各种场景,实现与实际的应用场景相符,从而达到验证的完备性,提高了测试的灵活性。

Description

IO接口测试方法、装置及UVM验证环境
技术领域
本发明涉及测试技术领域,具体地涉及一种IO接口测试方法、一种IO接口测试装置、一种UVM验证环境、一种机器可读存储介质及一种电子设备。
背景技术
芯片输入/输出(Input/Output,IO)接口负责芯片与外界进行数据交换,IO接口资源比较有限,基本每一个IO接口都可以复用多个功能,对于大规模复杂芯片,往往存在IO管脚上的多功能复用,通过对寄存器的不同配置,使IO管脚实现不同的接口功能。对于该复用技术的验证,可以采用通用验证方法学(UVM,Universal Verification Methodology)进行验证,针对每个管脚的每个功能,进行相关配置,并提供IO管脚上或者芯片内部的不同激励,在芯片内部或者IO管脚进行观测,对结果进行判断。
目前采用UVM验证方法在进行验证时,需要针对单一复用功能分别加载不同复用功能的激励来进行测试,这就需要加载不同的测试用例来测试,比如一条测试用例测试功能0,另一条测试用例测试功能1,因为不同的配置需要加载不同的激励,所以就需要给环境一个信号,然后环境根据信号来切换激励,这就会导致测试非常不灵活,且与实际的应用场景不符,无法达到验证的完备性效果。
发明内容
本发明实施例的目的是提供一种IO接口测试方法、一种IO接口测试装置、一种UVM验证环境、一种机器可读存储介质及一种电子设备,该IO接口测试方法可以实现采用一条测试用例实现芯片IO接口所有复用功能的验证流程,仿真时可以多次配置寄存器,模拟该IO接口在芯片实际应用时的各种场景,实现与实际的应用场景相符,从而达到验证的完备性。同时,只需要编译一次就能够实现整条流程的验证,提高了测试的灵活性。
为了实现上述目的,本申请第一方面提供一种IO接口测试方法,应用于UVM验证环境,包括:
根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;
获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:
采用前门访问的方式将寄存器状态参数写入至DUT文件;
采用后门访问的方式读取所述DUT文件中寄存器的状态值;
基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;
获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。
在本申请实施例中,所述UVM验证环境包括寄存器模型,所述采用前门访问的方式将寄存器状态参数写入至DUT文件,包括:
采用前门访问的方式,通过所述寄存器模型将寄存器状态参数写入至DUT文件中的寄存器。
在本申请实施例中,所述UVM验证环境包括第一接口组件和第二接口组件,所述采用后门访问的方式读取所述DUT文件中寄存器的状态值,包括:
由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值;
所述基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件,包括:
由所述第一接口组件将所述DUT文件中寄存器的状态值发送至所述第二接口组件;
由所述第二接口组件基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件。
在本申请实施例中,所述由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值,包括:
由所述第一接口组件获取所述DUT文件中寄存器的绝对路径;
由所述第一接口组件基于所述DUT文件中寄存器的绝对路径,采用后门访问的方式读取所述DUT文件中寄存器的状态值。
在本申请实施例中,所述获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果的过程位于run_phase中,所述采用前门访问的方式将寄存器状态参数写入至DUT文件的过程位于main_phase中。
本申请第二方面提供一种UVM验证环境,用于实现上述的IO接口测试方法。
在本申请实施例中,包括寄存器模型,所述寄存器模型用于采用前门访问的方式将寄存器状态参数写入至DUT文件中的寄存器。
本申请第三方面提供一种IO接口测试装置,应用于UVM验证环境,包括:
构建模块,用于根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;
运行模块,用于获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:采用前门访问的方式将寄存器状态参数写入至DUT文件;采用后门访问的方式读取所述DUT文件中寄存器的状态值;基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。
本申请第四方面提供一种电子设备,该电子设备包括:
至少一个处理器;
存储器,与所述至少一个处理器连接;
其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现上述的IO接口测试方法。
本申请第五方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的IO接口测试方法。
通过上述技术方案,通过根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:采用前门访问的方式将寄存器状态参数写入至DUT文件;采用后门访问的方式读取所述DUT文件中寄存器的状态值;基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。可以根据待测试IO接口不同的复用功能选择,准备几组不同的测试激励,在测试时,通过前门的方式从总线配置寄存器,后门不需要消耗仿真时间就可以快速得到DUT寄存器的状态,然后可以根据该状态来施加不同复用功能的激励,实现采用一条测试用例实现芯片IO接口所有复用功能的验证流程。通过使用后门访问寄存器的方法,获取DUT的当前寄存器的配置,环境就可以根据当前的配置加载对应的测试激励,仿真时可以多次配置寄存器,模拟该IO接口在芯片实际应用时的各种场景,实现与实际的应用场景相符,从而达到验证的完备性。同时,只需要编译一次就能够实现整条流程的验证,提高了测试的灵活性,提高了测试效率。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的一种IO接口测试方法的流程示意图;
图2示意性示出了根据本申请实施例的IO接口测试整个过程示意图;
图3示意性示出了根据本申请实施例的前门配置和后门下发激励的过程示意图;
图4示意性示出了根据本申请实施例的一种IO接口测试装置的结构框图;
图5示意性示出了根据本申请实施例的计算机设备的内部结构图。
附图标记说明
410-构建模块;420-运行模块;A01-处理器;A02-网络接口;A03-内存储器;A04-显示屏;A05-输入装置;A06-非易失性存储介质;B01-操作系统;B02-计算机程序。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
需要说明,若本申请实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
需要说明的是,本发明实施例中IO接口测试方法是用于在待测设计(DesignUnder Test,DUT)还在代码阶段时,对它的功能进行仿真和测试。实施例中提及的DUT就是指DUT文件。本实施例提及的main_phase、run_phase和phase均是指UVM中的运行函数,属于现有技术。
请参看图2,图2示意性示出了根据本申请实施例的IO接口测试整个过程示意图。本实施例提供一种IO接口测试方法,通过搭建UVM验证环境,然后在UVM验证环境中根据管脚的复用关系规划几组不同的激励,测试时,使用接口(interface)获取寄存器的状态,通过用前门访问方式多次配置寄存器,并用后门interface做判断,在环境中按不同的复用功能给IO接口施加不同的激励,然后环境按照当前的配置通路做复用连通性检查,最后完成测试,可以实现一条测试用例就能模拟所有的复用操作流程。
请参看图1,图1示意性示出了根据本申请实施例的一种IO接口测试方法的流程示意图。本实施例提供一种IO接口测试方法,应用于UVM验证环境,包括以下步骤:
步骤210:根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;
在本实施例中,可以根据IO接口的功能复用列表,准备对应的测试激励,比如:采样期间的测试激励可以命名为sample_trans,复用功能1的测试激励可以命名为fun_sel0_trans。测试激励的个数根据实际待测试IO接口复用的功能数确定,不同的测试激励对应有不同的寄存器的状态值,以便于标识是用于实现不同的功能测试。上述功能复用列表在确定了待测试IO接口时就可以得到。上述功能包括但不限于上电复位、采样等。
步骤220:获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:采用前门访问的方式将寄存器状态参数写入至DUT文件;采用后门访问的方式读取所述DUT文件中寄存器的状态值;基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。
在本实施例中,测试用例是预先根据测试需要写好的,该测试用例可以实现所有复用功能的测试。通过将寄存器状态参数写入至DUT文件实现对DUT文件中的寄存器配置,不同的功能测试设置不同的寄存器状态参数。由于IO接口在测试时每次只能施加一组激励,想要用一条测试用例遍历寄存器的各种配置,就需要根据寄存器的配置加载不同的激励。由于前门配置寄存器需要消耗仿真时间,时间不好把控,且不能实现实时的检查,所以采用后门的方式,进行后门访问的操作来获取寄存器的当前状态值,然后根据寄存器的当前状态值来决定环境中施加的激励。
请参看图3,图3示意性示出了根据本申请实施例的前门配置和后门下发激励的过程示意图。例如,通过前门配置DUT的寄存器,然后后门读取寄存器的状态值为fun_sel,然后根据fun_sel决定哪一组激励施加给管脚,若寄存器的状态值fun_sel为0,则给IO管脚施加fun_sel 0激励;若fun_sel为1,就给IO管脚施加fun_sel 1激励;若fun_sel为2,就给IO管脚施加fun_sel 2激励。
上述在下发激励后,DUT文件根据激励运行,输出测试结果,然后将测试结果与预期结果进行对比,即按照当前的配置通路做复用连通性检查,得到对应的检查结果。对于每一个激励,都会按照当前的配置通路做复用连通性检查,最后得到所有功能的检查结果,以完成多个功能测试。
其中,所述获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果的过程位于run_phase中,所述采用前门访问的方式将寄存器状态参数写入至DUT文件的过程位于main_phase中。
在本实施例中,对于通路的检查放在run_phase中,寄存器配置的操作放在main_phase中,在main_phase中按照实际的应用场景配置寄存器,比如:I2C、UART、SPI、GPIO等,按照实际的功能应用,配置成对应的功能。其中,可以是通过多次配置、随机配置等实现激励的施加和检查,可以用一条测试用例覆盖所有的测试情况。由于run_pahse是在整个用例的仿真过程中都一直运行的,所以对DUT的检查都放在这个run_pahse里面了,run_pahse里面是不能配寄存器的,所以将寄存器的配置过程放在了main_pashe里面,main_phase里面的代码仿真完就开始仿真下一个phase了,run_phase一直在运行,相当于整个芯片的启动流程到结束就都能检查的到。比如从上电复位、采样、配置复用等等都可以检查。
上述在检查时,可以分别按照复位、采样、复用等场景来分别检查。需要说明的是,复位期间的IO接口上的默认值要合理,不能影响芯片内部对应的模块的工作,采样期间,所有的IO接口都应该保持输入的状态,采样完成后可以配置寄存器配置复用的功能。检查复用时,不能只检查当前的通路,其他功能的复用中IO接口做输入的也需要检查,切换功能之后原由引脚进入的信号通路断开,对应的连通信号恢复了默认值,但这个默认值会影响其他模块的功能,所以检测该默认值是否会跟随IO接口的激励变化,以验证该默认值的合理性。
上述实现过程中,通过根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:采用前门访问的方式将寄存器状态参数写入至DUT文件;采用后门访问的方式读取所述DUT文件中寄存器的状态值;基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。测试人员可以根据待测试IO接口不同的复用功能选择,准备几组不同的测试激励,在测试时,通过前门的方式从总线配置寄存器,后门不需要消耗仿真时间就可以快速得到DUT寄存器的状态,然后可以根据该状态来施加不同复用功能的激励,从而实现采用一条测试用例实现芯片IO接口所有复用功能的验证流程。通过使用后门访问寄存器的方法,获取DUT的当前寄存器的配置,环境就可以根据当前的配置加载对应的测试激励,仿真时可以多次配置寄存器,模拟该IO接口在芯片实际应用时的各种场景,实现与实际的应用场景相符,从而达到验证的完备性。同时,只需要编译一次就能够实现整条流程的验证,提高了测试的灵活性,提高了测试效率。
通过后门访问获取寄存器的配置,并根据当前的配置将对应的激励施加给IO接口,可以实现一条测试用例就能模拟所有的复用操作流程。比如:在检查时,从复位开始就做检查,避免复位期间IO接口上的值会对对应模块的功能有影响,采样期间所有的接口都应该保持输入的检查,以及复用时可以多次配置寄存器覆盖不同的场景,UVM验证环境会根据寄存器的配置自动切换激励,切换后也可以实现实时检查,一条测试用例就可以测试到所有的测试情况。
在一些实施例中,所述UVM验证环境包括寄存器模型,所述采用前门访问的方式将寄存器状态参数写入至DUT文件,包括:采用前门访问的方式,通过所述寄存器模型将寄存器状态参数写入至DUT文件中的寄存器。
需要说明的是,上述前门访问还可以是采用其他的方式,本实施例不作限定。比如采用接口方式,直接给寄存器强制写入一个值进去。
在一些实施例中,所述UVM验证环境包括第一接口组件和第二接口组件,所述采用后门访问的方式读取所述DUT文件中寄存器的状态值,包括:由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值;
所述基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件,包括:
首先,由所述第一接口组件将所述DUT文件中寄存器的状态值发送至所述第二接口组件;
然后,由所述第二接口组件基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件。
在本实施例中,可以在第一接口组件中定义一组寄存器的后门接口,命令方式可以是IO名字加sel后缀的方式,这样容易区分不同IO接口之间的寄存器路径,该组接口以后门的方式读取到DUT内部的寄存器的状态值。可以按照芯片的不同使用场景来给IO接口激励,比如,可以分为采样激励、复用激励,其中,复用激励可以用后门的寄存器的状态值来做标识。
通过采用第一接口组件进行读取寄存器的状态值,再由第二接口组件下发激励至DUT,使读取和下发的接口分开,互不影响,保证了测试的可靠性。
其中,所述由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值,包括:
由所述第一接口组件获取所述DUT文件中寄存器的绝对路径;
由所述第一接口组件基于所述DUT文件中寄存器的绝对路径,采用后门访问的方式读取所述DUT文件中寄存器的状态值。
在本实施例中,可以是通过后门的方式读取DUT内部的寄存器状态,以上述IO名字加sel后缀的方式命名后门接口为例,可以采用DUT的绝对路径,并赋值给IO_sel,如:assign IO_sel=`DUT_TOP_PATH.U_IO_CFG.csr_pad_ctrl0。通过绝对路径可以快速准确地读取寄存器的状态值。
图1为一个实施例中IO接口测试方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本实施例还提供一种UVM验证环境,用于实现上述的IO接口测试方法。
上述实现过程中,通过UVM验证环境测试人员可以根据待测试IO接口不同的复用功能选择,准备几组不同的测试激励,在测试时,通过前门的方式从总线配置寄存器,后门不需要消耗仿真时间就可以快速得到DUT寄存器的状态,然后可以根据该状态来施加不同复用功能的激励,从而实现采用一条测试用例实现芯片IO接口所有复用功能的验证流程。通过使用后门访问寄存器的方法,获取DUT的当前寄存器的配置,环境就可以根据当前的配置加载对应的测试激励,仿真时可以多次配置寄存器,模拟该IO接口在芯片实际应用时的各种场景,实现与实际的应用场景相符,从而达到验证的完备性。同时,只需要编译一次就能够实现整条流程的验证,提高了测试的灵活性,提高了测试效率。
其中,所述UVM验证环境包括寄存器模型,所述寄存器模型用于采用前门访问的方式将寄存器状态参数写入至DUT文件中的寄存器。
其中,所述UVM验证环境包括第一接口组件和第二接口组件,由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值;由所述第一接口组件将所述DUT文件中寄存器的状态值发送至所述第二接口组件;由所述第二接口组件基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件。
通过采用第一接口组件进行读取寄存器的状态值,再由第二接口组件下发激励至DUT,使读取和下发的接口分开,互不影响,保证了测试的可靠性。
请参看图4,图4示意性示出了根据本申请实施例的一种IO接口测试装置的结构框图。本实施例提供一种IO接口测试装置,应用于UVM验证环境,包括构建模块410和运行模块420,其中:
构建模块410,用于根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;
运行模块420,用于获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:采用前门访问的方式将寄存器状态参数写入至DUT文件;采用后门访问的方式读取所述DUT文件中寄存器的状态值;基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。
所述IO接口测试装置包括处理器和存储器,上述构建模块410和运行模块420等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现采用一条测试用例实现芯片IO接口所有复用功能的验证流程。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种机器可读存储介质,其上存储有程序,该程序被处理器执行时实现所述IO接口测试方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述IO接口测试方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现一种IO接口测试方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的IO接口测试装置可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成该IO接口测试装置的各个程序模块,比如,图4所示的构建模块410和运行模块420。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的IO接口测试方法中的步骤。
图5所示的计算机设备可以通过如图4所示的IO接口测试装置中的构建模块410执行步骤210。计算机设备可通过运行模块420执行步骤220。
本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现上述的IO接口测试方法。处理器执行指令时实现以下步骤:
应用于UVM验证环境,包括:
根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;
获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:
采用前门访问的方式将寄存器状态参数写入至DUT文件;
采用后门访问的方式读取所述DUT文件中寄存器的状态值;
基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;
获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。
在一个实施例中,所述UVM验证环境包括寄存器模型,所述采用前门访问的方式将寄存器状态参数写入至DUT文件,包括:
采用前门访问的方式,通过所述寄存器模型将寄存器状态参数写入至DUT文件中的寄存器。
在一个实施例中,所述UVM验证环境包括第一接口组件和第二接口组件,所述采用后门访问的方式读取所述DUT文件中寄存器的状态值,包括:
由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值;
所述基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件,包括:
由所述第一接口组件将所述DUT文件中寄存器的状态值发送至所述第二接口组件;
由所述第二接口组件基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件。
在一个实施例中,所述由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值,包括:
由所述第一接口组件获取所述DUT文件中寄存器的绝对路径;
由所述第一接口组件基于所述DUT文件中寄存器的绝对路径,采用后门访问的方式读取所述DUT文件中寄存器的状态值。
在一个实施例中,所述获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果的过程位于run_phase中,所述采用前门访问的方式将寄存器状态参数写入至DUT文件的过程位于main_phase中。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种IO接口测试方法,其特征在于,应用于UVM验证环境,包括:
根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;
获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:
采用前门访问的方式将寄存器状态参数写入至DUT文件;
采用后门访问的方式读取所述DUT文件中寄存器的状态值;
基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;
获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。
2.根据权利要求1所述的IO接口测试方法,其特征在于,所述UVM验证环境包括寄存器模型,所述采用前门访问的方式将寄存器状态参数写入至DUT文件,包括:
采用前门访问的方式,通过所述寄存器模型将寄存器状态参数写入至DUT文件中的寄存器。
3.根据权利要求1所述的IO接口测试方法,其特征在于,所述UVM验证环境包括第一接口组件和第二接口组件,所述采用后门访问的方式读取所述DUT文件中寄存器的状态值,包括:
由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值;
所述基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件,包括:
由所述第一接口组件将所述DUT文件中寄存器的状态值发送至所述第二接口组件;
由所述第二接口组件基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件。
4.根据权利要求3所述的IO接口测试方法,其特征在于,所述由所述第一接口组件采用后门访问的方式读取所述DUT文件中寄存器的状态值,包括:
由所述第一接口组件获取所述DUT文件中寄存器的绝对路径;
由所述第一接口组件基于所述DUT文件中寄存器的绝对路径,采用后门访问的方式读取所述DUT文件中寄存器的状态值。
5.根据权利要求1所述的IO接口测试方法,其特征在于,所述获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果的过程位于run_phase中,所述采用前门访问的方式将寄存器状态参数写入至DUT文件的过程位于main_phase中。
6.一种UVM验证环境,其特征在于,用于实现权利要求1-5中任一项所述的IO接口测试方法。
7.根据权利要求6所述的UVM验证环境,其特征在于,包括寄存器模型,所述寄存器模型用于采用前门访问的方式将寄存器状态参数写入至DUT文件中的寄存器。
8.一种IO接口测试装置,其特征在于,应用于UVM验证环境,包括:
构建模块,用于根据待测试IO接口的功能复用列表构建多个测试激励,每一个测试激励用于测试待测试IO接口的一个功能,每一个测试激励对应于一个寄存器的状态值;
运行模块,用于获取测试用例,并运行所述测试用例;其中,所述测试用例用于循环设置不同的寄存器状态参数,并对于每一个寄存器状态参数,执行以下步骤:采用前门访问的方式将寄存器状态参数写入至DUT文件;采用后门访问的方式读取所述DUT文件中寄存器的状态值;基于所述DUT文件中寄存器的状态值选择对应的测试激励,并将所述测试激励下发至所述DUT文件;获取待测试IO接口的一个功能的测试结果,并对所述测试结果进行检查,得到检查结果。
9.一种电子设备,其特征在于,该电子设备包括:
至少一个处理器;
存储器,与所述至少一个处理器连接;
其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现权利要求1-5至任一项所述的IO接口测试方法。
10.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1-5至任一项所述的IO接口测试方法。
CN202311570676.XA 2023-11-23 2023-11-23 Io接口测试方法、装置及uvm验证环境 Active CN117271248B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311570676.XA CN117271248B (zh) 2023-11-23 2023-11-23 Io接口测试方法、装置及uvm验证环境

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311570676.XA CN117271248B (zh) 2023-11-23 2023-11-23 Io接口测试方法、装置及uvm验证环境

Publications (2)

Publication Number Publication Date
CN117271248A true CN117271248A (zh) 2023-12-22
CN117271248B CN117271248B (zh) 2024-02-09

Family

ID=89220064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311570676.XA Active CN117271248B (zh) 2023-11-23 2023-11-23 Io接口测试方法、装置及uvm验证环境

Country Status (1)

Country Link
CN (1) CN117271248B (zh)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503308A (zh) * 2016-10-08 2017-03-15 中国电子科技集团公司第五十八研究所 一种基于uvm的can控制器ip验证平台
CN110704260A (zh) * 2019-09-11 2020-01-17 无锡江南计算技术研究所 一种用于处理器io寄存器测试激励的可重用方法
CN111832237A (zh) * 2020-07-17 2020-10-27 北京昂瑞微电子技术有限公司 一种知识产权核验证方法及系统
CN112100949A (zh) * 2020-09-15 2020-12-18 北京士昌鼎科技有限公司 集成电路芯片的自动开发方法及装置、电子设备
CN112270149A (zh) * 2020-10-16 2021-01-26 山东云海国创云计算装备产业创新中心有限公司 验证平台自动化集成方法、系统及电子设备和存储介质
CN113010361A (zh) * 2021-02-22 2021-06-22 无锡中微亿芯有限公司 全可编程soc芯片的mio功能快速验证方法
CN113609037A (zh) * 2021-06-30 2021-11-05 山东云海国创云计算装备产业创新中心有限公司 一种基于uvm的gpio模块验证的方法、装置、设备及可读介质
CN113835945A (zh) * 2021-09-29 2021-12-24 深圳大普微电子科技有限公司 芯片的测试方法、装置、设备及系统
CN114624575A (zh) * 2022-03-01 2022-06-14 长鑫存储技术有限公司 芯片测试方法、装置、设备及存储介质
CN114896922A (zh) * 2022-06-10 2022-08-12 江苏华创微系统有限公司 基于形式化验证的芯片io复用验证方法
CN115048888A (zh) * 2022-07-30 2022-09-13 上海阵量智能科技有限公司 集成电路验证方法、装置、仿真系统、电子设备及介质
CN115496018A (zh) * 2022-10-25 2022-12-20 深圳市楠菲微电子有限公司 一种SoC芯片多版本验证方法、装置及设备
CN115599618A (zh) * 2022-11-17 2023-01-13 深圳市楠菲微电子有限公司(Cn) 寄存器动态改配验证方法、装置、存储介质和处理器
CN115841089A (zh) * 2023-02-27 2023-03-24 合肥六角形半导体有限公司 一种基于uvm的系统级芯片验证平台及验证方法
CN115952757A (zh) * 2023-01-09 2023-04-11 篆芯半导体(南京)有限公司 一种寄存器测试方法和装置
CN116450427A (zh) * 2023-02-24 2023-07-18 珠海泰为电子有限公司 芯片中复用引脚的自动化验证方法、装置、存储介质及计算机设备
CN116757134A (zh) * 2023-08-17 2023-09-15 珠海星云智联科技有限公司 基于uvm的流量整形验证方法及相关设备
CN116821001A (zh) * 2023-08-30 2023-09-29 上海燧原智能科技有限公司 输入输出子系统的验证方法、装置、电子设备及介质
WO2023207965A1 (zh) * 2022-04-29 2023-11-02 上海商汤智能科技有限公司 芯片验证方法及平台

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503308A (zh) * 2016-10-08 2017-03-15 中国电子科技集团公司第五十八研究所 一种基于uvm的can控制器ip验证平台
CN110704260A (zh) * 2019-09-11 2020-01-17 无锡江南计算技术研究所 一种用于处理器io寄存器测试激励的可重用方法
CN111832237A (zh) * 2020-07-17 2020-10-27 北京昂瑞微电子技术有限公司 一种知识产权核验证方法及系统
CN112100949A (zh) * 2020-09-15 2020-12-18 北京士昌鼎科技有限公司 集成电路芯片的自动开发方法及装置、电子设备
CN112270149A (zh) * 2020-10-16 2021-01-26 山东云海国创云计算装备产业创新中心有限公司 验证平台自动化集成方法、系统及电子设备和存储介质
CN113010361A (zh) * 2021-02-22 2021-06-22 无锡中微亿芯有限公司 全可编程soc芯片的mio功能快速验证方法
CN113609037A (zh) * 2021-06-30 2021-11-05 山东云海国创云计算装备产业创新中心有限公司 一种基于uvm的gpio模块验证的方法、装置、设备及可读介质
CN113835945A (zh) * 2021-09-29 2021-12-24 深圳大普微电子科技有限公司 芯片的测试方法、装置、设备及系统
CN114624575A (zh) * 2022-03-01 2022-06-14 长鑫存储技术有限公司 芯片测试方法、装置、设备及存储介质
WO2023207965A1 (zh) * 2022-04-29 2023-11-02 上海商汤智能科技有限公司 芯片验证方法及平台
CN114896922A (zh) * 2022-06-10 2022-08-12 江苏华创微系统有限公司 基于形式化验证的芯片io复用验证方法
CN115048888A (zh) * 2022-07-30 2022-09-13 上海阵量智能科技有限公司 集成电路验证方法、装置、仿真系统、电子设备及介质
CN115496018A (zh) * 2022-10-25 2022-12-20 深圳市楠菲微电子有限公司 一种SoC芯片多版本验证方法、装置及设备
CN115599618A (zh) * 2022-11-17 2023-01-13 深圳市楠菲微电子有限公司(Cn) 寄存器动态改配验证方法、装置、存储介质和处理器
CN115952757A (zh) * 2023-01-09 2023-04-11 篆芯半导体(南京)有限公司 一种寄存器测试方法和装置
CN116450427A (zh) * 2023-02-24 2023-07-18 珠海泰为电子有限公司 芯片中复用引脚的自动化验证方法、装置、存储介质及计算机设备
CN115841089A (zh) * 2023-02-27 2023-03-24 合肥六角形半导体有限公司 一种基于uvm的系统级芯片验证平台及验证方法
CN116757134A (zh) * 2023-08-17 2023-09-15 珠海星云智联科技有限公司 基于uvm的流量整形验证方法及相关设备
CN116821001A (zh) * 2023-08-30 2023-09-29 上海燧原智能科技有限公司 输入输出子系统的验证方法、装置、电子设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王燕;: "基于UVM的CPRI接口的验证", 通信技术, vol. 52, no. 11, pages 2813 - 2818 *

Also Published As

Publication number Publication date
CN117271248B (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
CN112331253B (zh) 一种芯片的测试方法、终端和存储介质
CN112131829A (zh) 一种芯片寄存器的验证方法、系统及相关装置
CN105095078A (zh) 一种系统自动化测试设备、方法和计算设备
US11507718B1 (en) Chip verification system and verification method therefor
US20230195994A1 (en) Chip design verification system, chip design verification method, and computer readable recording media with stored program
CN113742153A (zh) 设备测试方法、装置、可读介质及电子设备
CN112100957B (zh) 用于调试逻辑系统设计的方法、仿真器、存储介质
KR20080052341A (ko) 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법
CN115184764A (zh) 一种芯片测试方法、装置、电子设备及存储介质
CN111414309A (zh) 应用程序的自动化测试方法、计算机设备和存储介质
CN114548027A (zh) 在验证系统中追踪信号的方法、电子设备及存储介质
CN112698974A (zh) 故障注入测试方法、装置和存储介质
CN112131067B (zh) 多核密码芯片、多核密码芯片的测试方法和测试装置
CN117271248B (zh) Io接口测试方法、装置及uvm验证环境
CN115599618B (zh) 寄存器动态改配验证方法、装置、存储介质和处理器
CN113806209A (zh) 接口测试方法、框架、计算机设备和存储介质
CN104679648A (zh) 跨应用的自动化测试方法
CN112181392B (zh) 自动判读硬件接口生成数字外部设备代码的方法和系统
RU2729210C1 (ru) Комплекс тестирования программного обеспечения электронных устройств
EP3734491A1 (en) Method, apparatus, device, and medium for implementing simulator
CN115391168A (zh) 沙盒测试方法、装置、设备及存储介质
US20210157963A1 (en) Error injection for timing margin protection and frequency closure
US9785539B2 (en) Application development via a multi-unit device
CN116306409B (zh) 芯片验证方法、装置、设备及存储介质
CN117312176B (zh) 一种基于uvm的芯片验证测试方法、系统及电子设备

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