CN104698368A - 一种实现芯片顶层测试用例重用的方法 - Google Patents

一种实现芯片顶层测试用例重用的方法 Download PDF

Info

Publication number
CN104698368A
CN104698368A CN201510149666.8A CN201510149666A CN104698368A CN 104698368 A CN104698368 A CN 104698368A CN 201510149666 A CN201510149666 A CN 201510149666A CN 104698368 A CN104698368 A CN 104698368A
Authority
CN
China
Prior art keywords
define
test case
value
header file
script
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
CN201510149666.8A
Other languages
English (en)
Other versions
CN104698368B (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.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors 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 Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN201510149666.8A priority Critical patent/CN104698368B/zh
Publication of CN104698368A publication Critical patent/CN104698368A/zh
Priority to PCT/CN2015/088146 priority patent/WO2016155217A1/zh
Application granted granted Critical
Publication of CN104698368B publication Critical patent/CN104698368B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种实现芯片顶层测试用例重用的方法,包括如下步骤:S101:设置通用头文件“nfc_define.h”中define的默认值;S102:判断待测试模块是否为S1中define的默认值所指代的默认测试用例,如果是则转到步骤S104,否则转到步骤S103;S103:指定在通用头文件“nfc_define.h”中需要使用的define值,以决定所测试的用例;S104:将define中的值传递到测试用例脚本;S201:根据测试用例的名字以及define的参数,准备测试用文件;S301:根据步骤S103中指定的define值,将通用头文件修改成特定头文件。

Description

一种实现芯片顶层测试用例重用的方法
技术领域
本发明属于片上系统的芯片验证技术领域,具体涉及一种实现芯片顶层测试用例重用的方法;采用该方法不需要重复编写测试代码,亦无需要手动修改测试用例,即可实现测试用例的重用,有效提高了芯片顶层验证效率。
背景技术
在现有的芯片验证中,顶层测试用例使用C语言编写,对寄存器的操作都是对预先定义的宏地址进行读写操作。根据芯片内部功能需求,某一模块可能被例化多次,比如Nand Flash控制器(NFC)在一个芯片内被例化了两次,分别为NFC0和NFC1,这两个模块实现的功能完全一样,唯一不同的是它们被访问的基地址不一样。
现有技术的芯片设计中,某个模块可能会被重复使用多次。对于同一模块的多次重复使用,每一次使用的功能和实现都是一样的,只是每次使用时在芯片中对应的基地址不一样。因此在编写顶层测试用例时,若分开编写功能相同的用例,代码冗余就会很大;若共用同一测试用例,则需要手动修改各个模块的基地址,虽然减小了代码冗余,但操作起来比较繁琐,而且手动修改也容易产生人为误操作。此为现有技术的不足之处。
因此,提供设计一种实现芯片顶层测试用例重用的方法是非常有必要的。
发明内容
本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种实现芯片顶层测试用例重用的方法,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种实现芯片顶层测试用例重用的方法,包括如下步骤:
S1:运行上层命令脚本;该步骤包括:
S101:设置通用头文件“nfc_define.h”中define的默认值;
S102:判断待测试模块是否为S1中define的默认值所指代的默认测试用例,如果是则转到步骤S104,否则转到步骤S103;
S103:指定在通用头文件“nfc_define.h”中需要使用的define值,以决定所测试的用例;
S104:将define中的值传递到测试用例脚本;
S2:运行测试用例处理脚本,该步骤包括:
S201:根据测试用例的名字以及define的参数,准备测试用文件;
S3:运行产生特定头文件的脚本,包括如下步骤:
S301:根据步骤S103中指定的define值,将通用头文件修改成特定头文件。
优选地,所述步骤S101中define的默认值为NFC0。
优选地,所述步骤S103中,将默认的define值替换为需要使用的define值。
优选地,所述步骤S103中,将默认的define值替换为需要使用的define值的语句为:“+define+NFC0=0 +define+NFCX=X”,其中,X指代待检测用例的相应编号。
本发明的有益效果在于,本方法不需要重复编写测试代码,也不需要手动修改测试用例,即可实现测试用例的重用以及验证的自动化执行,有效提高了芯片顶层验证效率。此外,本发明设计原理可靠,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
具体实施方式
下面通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
本发明提供了一种实现芯片顶层测试用例重用的方法,包括如下步骤:
S1:运行上层命令脚本;该步骤包括:
S101:设置通用头文件“nfc_define.h”中define的默认值;
S102:判断待测试模块是否为S1中define的默认值所指代的默认测试用例,如果是则转到步骤S104,否则转到步骤S103;
S103:指定在通用头文件“nfc_define.h”中需要使用的define值,以决定所测试的用例;
S104:将define中的值传递到测试用例脚本;
S2:运行测试用例处理脚本,该步骤包括:
S201:根据测试用例的名字以及define的参数,准备测试用文件;
S3:运行产生特定头文件的脚本,包括如下步骤:
S301:根据步骤S103中指定的define值,将通用头文件修改成特定头文件。
本实施例中,所述步骤S101中define的默认值为NFC0。
本实施例中,所述步骤S103中,将默认的define值替换为需要使用的define值。
本实施例中,所述步骤S103中,将默认的define值替换为需要使用的define值的语句为:“+define+NFC0=0 +define+NFCX=X”,其中,X指代待检测用例的相应编号。
本实施例中,以NFC0以及NFC1为例给出三个脚本的运行具体步骤以及代码。
步骤:
1) 运行上层命令脚本:该脚本执行时会指定在通用头文件“nfc_define.h”中需要使用的define值,从而决定将要测试哪个模块。默认的define值为NFC0,即测试的模块为NFC0。若要测试模块NFC1,则在运行该上层命令脚本时需要指定“+define+NFC0=0 +define+NFC1=1”。在该脚本中会自动调用测试用例处理脚本。
2) 运行测试用例处理脚本:该脚本为所有测试用例共用的脚本。该脚本根据测试用例的名字以及上层命令脚本传递进来的define参数,为运行特定测试用例准备相关文件。在该脚本中会自动调用产生特定头文件的脚本。
3) 运行产生特定头文件的脚本:该脚本根据上层命令脚本传递来的define值,把通用头文件自动修改成特定头文件。还是以NFC模块测试为例,当在上层命令脚本中指定了“+define+NFC0=0 +define+NFC1=1”时,产生特定头文件的脚本就会自动把“nfc_define.h”头文件中的“#define NFC0”删除掉,同时在“nfc_define.h”头文件中增加定义“#define NFC1”,这样测试用例操作的地址就不再是NFC0的寄存器地址,而是换成了NFC1的寄存器地址,从而就能对模块NFC1进行测试了。
代码:
“nfc.c”
wr_addr(NFC_SETTING) = 0x000148c0;
wr_addr(NFC_CTRL ) = 0x0000ff00;
“nfc_define.h”
#ifndef _H
#define _H
  #define  NFC0
  #define  NFC0_SETTING    0x10000000
  #define  NFC0_CTRL       0x10000004
  …… …… …… ……
  #define  NFC1_SETTING    0x10a00000
  #define  NFC1_CTRL       0x10a00004
…… …… …… ……
#ifdef NFC0
#define  NFC_SETTING   NFC0_SETTING
#define  NFC_CTRL      NFC0_CTRL
…… …… …… ……
  #endif
#ifdef NFC1
#define  NFC_SETTING   NFC1_SETTING
#define  NFC_CTRL      NFC1_CTRL
…… …… …… ……
  #endif
#endif
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

Claims (4)

1.一种实现芯片顶层测试用例重用的方法,包括如下步骤:
S1:运行上层命令脚本;该步骤包括:
S101:设置通用头文件“nfc_define.h”中define的默认值;
S102:判断待测试模块是否为S1中define的默认值所指代的默认测试用例,如果是则转到步骤S104,否则转到步骤S103;
S103:指定在通用头文件“nfc_define.h”中需要使用的define值,以决定所测试的用例;
S104:将define中的值传递到测试用例脚本;
S2:运行测试用例处理脚本,该步骤包括:
S201:根据测试用例的名字以及define的参数,准备测试用文件;
S3:运行产生特定头文件的脚本,包括如下步骤:
S301:根据步骤S103中指定的define值,将通用头文件修改成特定头文件。
2.根据权利要求1所述的一种实现芯片顶层测试用例重用的方法,其特征在于:所述步骤S101中define的默认值为NFC0。
3.根据权利要求1或2所述的一种实现芯片顶层测试用例重用的方法,其特征在于:所述步骤S103中,将默认的define值替换为需要使用的define值。
4.根据权利要求3所述的一种实现芯片顶层测试用例重用的方法,其特征在于:所述步骤S103中,将默认的define值替换为需要使用的define值的语句为:“+define+NFC0=0 +define+NFCX=X”,其中,X指代待检测用例的相应编号。
CN201510149666.8A 2015-04-01 2015-04-01 一种实现芯片顶层测试用例重用的方法 Active CN104698368B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510149666.8A CN104698368B (zh) 2015-04-01 2015-04-01 一种实现芯片顶层测试用例重用的方法
PCT/CN2015/088146 WO2016155217A1 (zh) 2015-04-01 2015-08-26 一种实现芯片顶层测试用例重用的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510149666.8A CN104698368B (zh) 2015-04-01 2015-04-01 一种实现芯片顶层测试用例重用的方法

Publications (2)

Publication Number Publication Date
CN104698368A true CN104698368A (zh) 2015-06-10
CN104698368B CN104698368B (zh) 2017-11-10

Family

ID=53345696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510149666.8A Active CN104698368B (zh) 2015-04-01 2015-04-01 一种实现芯片顶层测试用例重用的方法

Country Status (2)

Country Link
CN (1) CN104698368B (zh)
WO (1) WO2016155217A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016155217A1 (zh) * 2015-04-01 2016-10-06 山东华芯半导体有限公司 一种实现芯片顶层测试用例重用的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243115A (ja) * 1993-02-22 1994-09-02 Nec Corp マルチプロセッサシステムにおける機能モジュール追加方式
US5675546A (en) * 1996-06-07 1997-10-07 Texas Instruments Incorporated On-chip automatic procedures for memory testing
WO2004088478A3 (en) * 2003-03-31 2005-04-21 Arraycomm Inc Autonomous built-in self-test for integrated circuits
CN1987817A (zh) * 2005-12-22 2007-06-27 中兴通讯股份有限公司 一种实现测试用例自动化运行的方法
JP2011007630A (ja) * 2009-06-25 2011-01-13 Fujitsu Semiconductor Ltd 試験方法及び試験装置
CN102609583A (zh) * 2012-02-08 2012-07-25 福州瑞芯微电子有限公司 芯片寄存器信息管理方法
CN102622471A (zh) * 2012-02-22 2012-08-01 山东华芯半导体有限公司 集成电路前端验证方法
WO2014178930A1 (en) * 2013-04-30 2014-11-06 Advantest Corporation Automated generation of a test class pre-header from an interactive graphical user interface
CN104156314A (zh) * 2014-08-14 2014-11-19 北京航空航天大学 一种应用于测试系统的代码重用方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737609A (en) * 1994-10-18 1998-04-07 Marcam Corporation Method and apparatus for testing object-oriented programming constructs
US7149943B2 (en) * 2004-01-12 2006-12-12 Lucent Technologies Inc. System for flexible embedded Boundary Scan testing
CN100362817C (zh) * 2005-04-07 2008-01-16 华为技术有限公司 软件模块的测试方法
CN100363906C (zh) * 2006-02-28 2008-01-23 华为技术有限公司 一种软件单元的测试方法
CN104698368B (zh) * 2015-04-01 2017-11-10 山东华芯半导体有限公司 一种实现芯片顶层测试用例重用的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243115A (ja) * 1993-02-22 1994-09-02 Nec Corp マルチプロセッサシステムにおける機能モジュール追加方式
US5675546A (en) * 1996-06-07 1997-10-07 Texas Instruments Incorporated On-chip automatic procedures for memory testing
WO2004088478A3 (en) * 2003-03-31 2005-04-21 Arraycomm Inc Autonomous built-in self-test for integrated circuits
CN1987817A (zh) * 2005-12-22 2007-06-27 中兴通讯股份有限公司 一种实现测试用例自动化运行的方法
JP2011007630A (ja) * 2009-06-25 2011-01-13 Fujitsu Semiconductor Ltd 試験方法及び試験装置
CN102609583A (zh) * 2012-02-08 2012-07-25 福州瑞芯微电子有限公司 芯片寄存器信息管理方法
CN102622471A (zh) * 2012-02-22 2012-08-01 山东华芯半导体有限公司 集成电路前端验证方法
WO2014178930A1 (en) * 2013-04-30 2014-11-06 Advantest Corporation Automated generation of a test class pre-header from an interactive graphical user interface
CN104156314A (zh) * 2014-08-14 2014-11-19 北京航空航天大学 一种应用于测试系统的代码重用方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016155217A1 (zh) * 2015-04-01 2016-10-06 山东华芯半导体有限公司 一种实现芯片顶层测试用例重用的方法

Also Published As

Publication number Publication date
WO2016155217A1 (zh) 2016-10-06
CN104698368B (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
US11514225B2 (en) Verification platform for system on chip and verification method thereof
CN102591997A (zh) 多电压芯片设计的版图和原理图一致性比较方法
CN105022691A (zh) 一种基于uml图的高度自动化软件测试方法
CN104408264A (zh) 一种基于断言的嵌入式存储控制器验证系统及方法
CN105589837B (zh) 一种电子文档的自动查错方法
CN109885905B (zh) 一种提高数字电路功能验证效率的验证系统
CN106773954B (zh) 一种微控制器芯片中的工作模式控制系统
CN104536885A (zh) 一种生成Soc随机验证平台的方法
CN105279092A (zh) 一种软件测试的方法及装置
CN102902526B (zh) 一种通过延时实现bmc及ip信息的自动化设置方法
CN108334428B (zh) 一种系统功能的并行测试方法
CN104765671A (zh) 一种用可重用性层次化验证平台进行uart模块验证的方法
CN104698368A (zh) 一种实现芯片顶层测试用例重用的方法
CN102135939A (zh) 一种测试用例执行调度装置及方法
CN102200565A (zh) 一种芯片测试装置
CN101916305A (zh) 一种复杂管脚芯片的验证方法
CN105677527A (zh) 一种自动测量嵌入式存储器最大工作频率的系统及方法
CN102750167B (zh) 应用程序启动方法、装置和计算机系统
US9015673B2 (en) Method for developing software in a parallel computing environment
CN103870288B (zh) 车载控制器功能软件分支跳转方法
CN100585601C (zh) 在ic验证中描述pci接口配置流的方法
US8972711B2 (en) CPU core unlocking device applied to computer system
CN109828786A (zh) 一种基于代码级支持sw_64架构的自动化工具
CN102736976B (zh) 调试系统及其调试方法
CN101763300B (zh) Sata端口测试信号生成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant