CN110704260A - 一种用于处理器io寄存器测试激励的可重用方法 - Google Patents
一种用于处理器io寄存器测试激励的可重用方法 Download PDFInfo
- Publication number
- CN110704260A CN110704260A CN201910857719.XA CN201910857719A CN110704260A CN 110704260 A CN110704260 A CN 110704260A CN 201910857719 A CN201910857719 A CN 201910857719A CN 110704260 A CN110704260 A CN 110704260A
- Authority
- CN
- China
- Prior art keywords
- test
- register
- level
- defining
- parent class
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 118
- 230000005284 excitation Effects 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012795 verification Methods 0.000 claims abstract description 11
- 238000011161 development Methods 0.000 abstract description 12
- 238000007796 conventional method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
- G06F11/2221—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 to test input/output devices or peripheral units
-
- 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/2247—Verification or detection of system hardware configuration
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical 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
一种用于处理器IO寄存器测试激励的可重用方法,属于计算机体系结构处理器技术领域。方法包括定义IO寄存器读写测试用的父类;在部件级或芯片级的IO接口上,实现继承上述父类的测试子类。本发明不用重复开发同一IO寄存器在不同测试环境下的测试激励,显著减少测试激励开发总量,加快了IO寄存器相关的错误收敛速度,压缩了处理器验证周期。测试激励可继承性良好,易用性增强。
Description
技术领域
本发明属于计算机体系结构处理器技术领域,具体涉及一种用于处理器IO寄存器测试激励的可重用方法。
背景技术
IO寄存器是高性能处理器中非常重要的组成部分,是上层软件充分发挥处理器功能与性能所要调用的基本内容。配置以及访问IO寄存器也是硬件调试人员了解处理器运行状态以及调试错误现场的主要手段,所以IO寄存器测试是处理器模拟验证的主要工作之一。
目前主流高性能处理器中IO寄存器的数量庞大,分散在处理器中各个模块中,所以此时,常规方法仍有几个问题难以解决。第一个问题在于,为了处理器的易用性与灵活性,IO空间一般比较庞大,IO寄存器的数量很多,由于既需要寄存器初始状态的测试激励,又要运行过程中的读写测试;另外寄存器属性既有只读的,也有只写的,还有可读写的,所以测试激励开发数量很大。第二个问题在于,由于处理器开发是分模块开发后进行集成的,所以对于同一个模块内的IO寄存器在环境开发的各个阶段都需要开发相应的测试激励,在各种验证环境下进行测试的,所以开发周期特别长,而其部分测试激励进行了重复开发。第三个问题在于,由于开发阶段和开发环境不同,开发人员也比较分散,又没有在统一的框架下进行可继承性开发,所以IO寄存器测试激励的可重用性和灵活性都比较差。
综上所述,常规方法难以有效的减少测试激励数量、增强激励的可重用性,不利于压缩处理器的验证开发周期。
发明专利CN200710175434.5公开了一种寄存器测试系统,并具体公开了系统包括设置模块,设置寄存器属性与测试参数的对应关系;信息获取模块,获取每一个被测寄存器的寄存器信息,所述寄存器信息包含寄存器属性;测试参数产生模块,从所述信息获取模块获取的寄存器信息中得到寄存器属性,产生与所述寄存器属性对应的测试参数;执行模块,利用所述测试参数产生模块产生的所述测试参数,对所述被测寄存器进行测试,得到被测寄存器的测试结果。该系统是针对特定的寄存器开发设计的,重用性较差,不适用于多级重用。
发明内容
本发明针对现有技术存在的问题,提出了一种用于处理器IO寄存器测试激励的可重用方法,可实现多层验证环境下激励重用,减少测试激励开发总量,压缩了处理器验证周期。
本发明是通过以下技术方案得以实现的:
本发明提供一种用于处理器IO寄存器测试激励的可重用方法,包括:
定义IO寄存器读写测试用的父类;
在部件级或芯片级的IO接口上,实现继承上述父类的测试子类。
该技术可以实现部件级、组件级和芯片级多层次验证环境下激励的重用。
作为优选,所述定义IO寄存器读写测试用的父类的步骤包括:
配置寄存器的地址和内容的位宽;
定义IO寄存器读函数、写函数、数据比较函数。
作为优选,所述定义IO寄存器读写测试用的父类的步骤还包括:定义IO寄存器初值函数。
作为优选,所述定义IO寄存器读写测试用的父类的步骤还包括:定义IO寄存器加强测试函数,用于对已测试过的可读写属性寄存器构成的测试列表,进行先全写再全读测试。
作为优选,所述定义IO寄存器读写测试用的父类的步骤还包括:根据用户需要设定最大的读写寄存器次数。
作为优选,所述在部件级接口上实现继承上述父类的测试子类的步骤包括:在部件级接口上,定义部件级测试子类,所述部件级测试子类继承所述父类;其中部件级环境下的IO地址为偏移地址。
作为优选,所述在芯片级接口上,实现继承上述父类的测试子类的步骤包括:在芯片级接口上,定义芯片级测试子类,所述芯片级测试子类继承所述父类;其中芯片级环境下的IO地址为IO空间的全地址;所述IO空间的全地址=测试对象的基址+偏移地址。
作为优选,所述父类和所述测试子类是基于可重用验证库使用Systemverilog面向对象技术实现。
作为优选,方法还包括:定义实现IO地址空间的汇编指令拼接用的子类,将使用Systemverilog面向对象技术实现的事务级激励用在使用汇编激励运行的指令级环境中。
作为优选,所述IO寄存器读写测试用的父类在模块级环境下定义。
本发明具有以下有益效果:
本发明一种用于处理器IO寄存器测试激励的可重用方法,不用重复开发同一IO寄存器在不同测试环境下的测试激励,显著减少测试激励开发总量,加快了IO寄存器相关的错误收敛速度,压缩了处理器验证周期。测试激励可继承性良好,易用性增强。
附图说明
图1为本发明一种用于处理器IO寄存器测试激励的可重用方法的流程图。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
如图1,本发明一种用于处理器IO寄存器测试激励的可重用方法包括:
S01, 定义IO寄存器读写测试用的父类;
S02,在部件级或芯片级的IO接口上,实现继承上述父类的测试子类。
具体地,所述定义IO寄存器读写测试用的父类的步骤包括:
配置寄存器的地址和内容的位宽;
定义IO寄存器读函数、写函数、数据比较函数。
例如,在父类io_reg_test下, 配置寄存器的地址和内容的位宽、定义IO寄存器读函数、写函数、数据比较函数。IO寄存器读函数实现IO寄存器读数据功能,IO寄存器写函数实现IO寄存器写数据功能,数据比较函数用于测试读数据与写数据是否相等,相等,则IO寄存器读写功能正常,否则,IO寄存器读写功能存在问题。另外,在父类io_reg_test下,对不关注的内容使用掩码机制。
由于处理器IO寄存器,尤其是配置寄存器的初始值对于处理器的正确运行有至关重要的作用,所以所述定义IO寄存器读写测试用的父类的步骤还包括:定义IO寄存器初值函数。
io_reg_test还实现了IO寄存器的加强测试函数,所述定义IO寄存器读写测试用的父类的步骤还包括:定义IO寄存器加强测试函数,用于对已测试过的可读写属性寄存器构成的测试列表,进行先全写再全读测试。
同时,所述定义IO寄存器读写测试用的父类的步骤还包括:根据用户需要设定最大的读写寄存器次数。一旦超过读写寄存器次数,就会退出。
所述在部件级接口上实现继承上述父类的测试子类的步骤包括:在部件级接口上,定义部件级测试子类,所述部件级测试子类继承所述父类;其中部件级环境下的IO地址为偏移地址。例如,基于io_reg_test类的IO寄存器读写测试,可以实现IO测试激励在不同层次的重用,比如可以在部件级的IO接口上实现一个从io_reg_test类继承的io_tester。此时可以将纯的测试部分放在一个单独的文件中,在部件级环境下使用的IO地址只是内部的地址偏移。
所述在芯片级接口上,实现继承上述父类的测试子类的步骤包括:在芯片级接口上,定义芯片级测试子类,所述芯片级测试子类继承所述父类;其中芯片级环境下的IO地址为IO空间的全地址。所述IO空间的全地址=测试对象的基址+偏移地址。例如,基于io_reg_test类的IO寄存器读写测试,可以在全芯片级的IO接口上实现一个从io_reg_test类继承的io_tester。在整芯片环境下,均是IO空间的全地址,此时可在io_tester中设置测试对象的基址,内部偏移加上基址就形成了整芯片环境下的IO访问地址。此时可以将纯的测试部分放在一个单独的文件中,在整芯片环境下,均是IO空间的全地址,此时可在io_tester中设置测试对象的基址,内部偏移加上基址就形成了整芯片环境下的IO访问地址。
无论是部件级还是芯片级,均使用相同的IO测试接口和函数,因此测试激励可以重用。所述IO寄存器读写测试用的父类在模块级环境下定义。这样,模块级之间均可实现测试激励的重用。并且,在模块级的基础上,实现部件级、芯片级等各层之间的测试激励重用。
所述父类和所述测试子类是基于可重用验证库使用Systemverilog面向对象技术实现。
本发明方法还包括:定义实现IO地址空间的汇编指令拼接用的子类,将使用Systemverilog面向对象技术实现的事务级激励用在使用汇编激励运行的指令级环境中。例如,从io_reg_test类继承一个isg_io_tester类,实现IO地址空间的汇编指令拼接,就可以把一个使用sv实现的事物级激励用在使用汇编激励运行的指令级环境中,此时各个模块的测试部分仍旧可以放在一个单独的文件中,便于管理和可重复使用。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
Claims (10)
1.一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,包括:
定义IO寄存器读写测试用的父类;
在部件级或芯片级的IO接口上,实现继承上述父类的测试子类。
2.根据权利要求1所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,所述定义IO寄存器读写测试用的父类的步骤包括:
配置寄存器的地址和内容的位宽;
定义IO寄存器读函数、写函数、数据比较函数。
3.根据权利要求1所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,所述定义IO寄存器读写测试用的父类的步骤还包括:定义IO寄存器初值函数。
4.根据权利要求1所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,所述定义IO寄存器读写测试用的父类的步骤还包括:定义IO寄存器加强测试函数,用于对已测试过的可读写属性寄存器构成的测试列表,进行先全写再全读测试。
5.根据权利要求1所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,所述定义IO寄存器读写测试用的父类的步骤还包括:根据用户需要设定最大的读写寄存器次数。
6.根据权利要求1所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,所述在部件级接口上实现继承上述父类的测试子类的步骤包括:在部件级接口上,定义部件级测试子类,所述部件级测试子类继承所述父类;其中部件级环境下的IO地址为偏移地址。
7.根据权利要求1所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,所述在芯片级接口上,实现继承上述父类的测试子类的步骤包括:在芯片级接口上,定义芯片级测试子类,所述芯片级测试子类继承所述父类;其中芯片级环境下的IO地址为IO空间的全地址;所述IO空间的全地址=测试对象的基址+偏移地址。
8.根据权利要求1所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,所述父类和所述测试子类是基于可重用验证库使用Systemverilog面向对象技术实现。
9.根据权利要求8所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,还包括:定义实现IO地址空间的汇编指令拼接用的子类,将使用Systemverilog面向对象技术实现的事务级激励用在使用汇编激励运行的指令级环境中。
10.根据权利要求1所述的一种用于处理器IO寄存器测试激励的可重用方法,其特征在于,所述IO寄存器读写测试用的父类在模块级环境下定义。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910857719.XA CN110704260A (zh) | 2019-09-11 | 2019-09-11 | 一种用于处理器io寄存器测试激励的可重用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910857719.XA CN110704260A (zh) | 2019-09-11 | 2019-09-11 | 一种用于处理器io寄存器测试激励的可重用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704260A true CN110704260A (zh) | 2020-01-17 |
Family
ID=69196097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910857719.XA Pending CN110704260A (zh) | 2019-09-11 | 2019-09-11 | 一种用于处理器io寄存器测试激励的可重用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704260A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271248A (zh) * | 2023-11-23 | 2023-12-22 | 成都市楠菲微电子有限公司 | Io接口测试方法、装置及uvm验证环境 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480467A (zh) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 |
CN106777571A (zh) * | 2016-11-30 | 2017-05-31 | 北京广利核系统工程有限公司 | 一种基于System Verilog实现的可编程逻辑算法块自动化验证平台 |
-
2019
- 2019-09-11 CN CN201910857719.XA patent/CN110704260A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480467A (zh) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 |
CN106777571A (zh) * | 2016-11-30 | 2017-05-31 | 北京广利核系统工程有限公司 | 一种基于System Verilog实现的可编程逻辑算法块自动化验证平台 |
Non-Patent Citations (1)
Title |
---|
王笑天: "SDIO UVM验证IP技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271248A (zh) * | 2023-11-23 | 2023-12-22 | 成都市楠菲微电子有限公司 | Io接口测试方法、装置及uvm验证环境 |
CN117271248B (zh) * | 2023-11-23 | 2024-02-09 | 成都市楠菲微电子有限公司 | Io接口测试方法、装置及uvm验证环境 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030097650A1 (en) | Method and apparatus for testing software | |
US5995915A (en) | Method and apparatus for the functional verification of digital electronic systems | |
US6571373B1 (en) | Simulator-independent system-on-chip verification methodology | |
US5202889A (en) | Dynamic process for the generation of biased pseudo-random test patterns for the functional verification of hardware designs | |
US7150006B2 (en) | Techniques for managed code debugging | |
US7954009B2 (en) | Test executive system with memory leak detection for user code modules | |
Aarno et al. | Software and system development using virtual platforms: full-system simulation with wind river simics | |
US7849444B2 (en) | Test executive with buffer overwrite detection for parameters of user-supplied code modules | |
US8892386B2 (en) | Method and apparatus for post-silicon testing | |
US20070005323A1 (en) | System and method of automating the addition of programmable breakpoint hardware to design models | |
US20070005322A1 (en) | System and method for complex programmable breakpoints using a switching network | |
US7606695B1 (en) | Self-checking simulations using dynamic data loading | |
US8412507B2 (en) | Testing the compliance of a design with the synchronization requirements of a memory model | |
JP6771413B2 (ja) | ソフトウェア検証装置およびソフトウェア検証プログラム | |
US20110239067A1 (en) | Verification of design information for controlling manufacture of a system on a chip | |
CN110704260A (zh) | 一种用于处理器io寄存器测试激励的可重用方法 | |
US6493841B1 (en) | Method and apparatus for determining expected values during circuit design verification | |
Ahn et al. | Modeling firmware as service functions and its application to test generation | |
Jain et al. | Scaling the UVM_REG model towards automation and simplicity of use | |
US20040015792A1 (en) | Method for creating standard VHDL test environments | |
Meyer et al. | A scriptable standard-compliant reporting and logging framework for systemC | |
CN118536445B (zh) | 一种用于芯片仿真的方法和计算设备 | |
CN117312176B (zh) | 一种基于uvm的芯片验证测试方法、系统及电子设备 | |
US20040210431A1 (en) | Method and apparatus for accelerated post-silicon testing and random number generation | |
Widhalm et al. | Augmenting pre-silicon simulation by embedding a scripting language in a SystemC environment |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200117 |
|
RJ01 | Rejection of invention patent application after publication |