CN108319534A - 一种测试向量生成方法及装置 - Google Patents

一种测试向量生成方法及装置 Download PDF

Info

Publication number
CN108319534A
CN108319534A CN201810073535.XA CN201810073535A CN108319534A CN 108319534 A CN108319534 A CN 108319534A CN 201810073535 A CN201810073535 A CN 201810073535A CN 108319534 A CN108319534 A CN 108319534A
Authority
CN
China
Prior art keywords
test vector
srio
data
module
design
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
CN201810073535.XA
Other languages
English (en)
Other versions
CN108319534B (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 Inspur Science Research Institute Co Ltd
Original Assignee
Jinan Inspur Hi Tech Investment and Development 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 Jinan Inspur Hi Tech Investment and Development Co Ltd filed Critical Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority to CN201810073535.XA priority Critical patent/CN108319534B/zh
Publication of CN108319534A publication Critical patent/CN108319534A/zh
Application granted granted Critical
Publication of CN108319534B publication Critical patent/CN108319534B/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/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种测试向量生成方法及装置,该方法包括:基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;通过运行测试向量打印生成脚本,以根据编写好的各信息文档,对应的在测试向量文件中例化特定数量的SRIO设计顶层模块、FIFO设计顶层模块和数据生成模块,再执行FIFO设计顶层模块分别与数据生成模块和SRIO设计顶层模块间的信号连接,并打印生成测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。基于当前被测设计在测试向量文件中例化各所需模块,且完成模块间信号连接、生成所需声明后,即完成生成测试向量。由于可自动生成测试向量,故本方案能够降低生成测试向量的工作量。

Description

一种测试向量生成方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种测试向量生成方法及装置。
背景技术
SRIO(Serial Rapid I/O)是面向嵌入式系统开发提出的高可靠、高性能、基于包交换的新一代高速互联技术。目前,基于SRIO接口的开发越来越多。由于不同设计中,用户在SRIO总线中的自定义协议不同,故需要为每一个设计编写特定的测试向量。
目前,可以人工为每一个设计编写特定的测试向量。
显而易见的,测试向量的人工编写导致工作量较大。
发明内容
本发明提供了一种测试向量生成方法及装置,能够降低生成测试向量的工作量。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种测试向量生成方法,包括:
S1:基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;
S2:通过运行预设的测试向量打印生成脚本,以执行:
根据所述IO信息文档,在测试向量文件中例化第一数量的SRIO设计顶层模块、所述第一数量的FIFO(First in First out,先进先出队列)设计顶层模块;
根据所述源数据包信息文档和所述数据源信息文档,在所述测试向量文件中例化第二数量的数据生成模块;
执行所述第一数量的FIFO设计顶层模块,分别与所述第二数量的数据生成模块和所述第一数量的SRIO设计顶层模块间的信号连接,并打印生成所述测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。
进一步地,所述S1包括:根据所述当前被测设计中使用的自定义协议格式、数据包长度范围、数据内容范围、无效数据内容、无效数据长度中的任意一种或多种信息,编写所述源数据包信息文档;根据所述当前被测设计中使用的至少一路Rapio IO的路数,和/或,每一路所述Rapio IO的速率,编写所述IO信息文档;根据所述当前被测设计中设定的对源数据的发送要求,编写所述数据源信息文档;
所述第一数量等于所述路数;
每一个所述SRIO设计顶层模块的速率与所述每一路所述Rapio IO的速率一一对应相等;
每一个所述FIFO设计顶层模块与每一个所述SRIO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求各路SRIO接口独立发送完整数据包时,所述第二数量等于所述路数,每一个所述数据生成模块与每一个所述FIFO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求多路SRIO接口轮询发送一个数据包时,所述第二数量等于1,所述数据生成模块分别与每一个所述FIFO设计顶层模块信号连接。
进一步地,所述FIFO设计包括:具有wr_clk、rst_n、rd_clk、wr_en、din、dout、rd_en、almost_empty、almost_full中的任意一个或多个规定接口的FIFO设计;
所述SRIO设计包括:具有AXI(Advanced eXtensible Interface)总线的SRIO设计。
进一步地,在所述S2之后还包括:根据生成的所述测试向量,在测试平台中例化测试向量模块;执行所述测试向量模块与所述当前被测设计间的信号连接;运行所述测试平台以执行一次功能测试;统计所述功能测试对应的功能覆盖率;判断所述功能覆盖率是否达到预设阈值,若是,结束当前流程,否则,根据预设调整规则,调整所述源数据包信息文档、所述IO信息文档、所述数据源信息文档中的任意一个或多个,并执行所述S2。
进一步地,在所述统计所述功能测试对应的功能覆盖率之后,还包括:针对生成的所述测试向量对应的至少一个功能,在预设的功能集合中,标记所述至少一个功能中的每一个有效功能,其中,所述有效功能存在于所述功能集合中且未标记;
所述功能覆盖率满足公式一;
所述公式一包括:Xi=n/N+Xi-1
其中,Xi为所述功能覆盖率,n为所述有效功能的个数,N为所述功能集合中全部功能的个数,Xi-1为统计的上一个功能覆盖率,X0=0。
另一方面,本发明提供了一种测试向量生成装置,包括:
文档编写单元,用于基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;
脚本运行单元,用于通过运行预设的测试向量打印生成脚本,以执行:根据所述IO信息文档,在测试向量文件中例化第一数量的SRIO设计顶层模块、所述第一数量的FIFO设计顶层模块;根据所述源数据包信息文档和所述数据源信息文档,在所述测试向量文件中例化第二数量的数据生成模块;执行所述第一数量的FIFO设计顶层模块,分别与所述第二数量的数据生成模块和所述第一数量的SRIO设计顶层模块间的信号连接,并打印生成所述测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。
进一步地,所述文档编写单元,具体用于根据所述当前被测设计中使用的自定义协议格式、数据包长度范围、数据内容范围、无效数据内容、无效数据长度中的任意一种或多种信息,编写所述源数据包信息文档;根据所述当前被测设计中使用的至少一路RapioIO的路数,和/或,每一路所述Rapio IO的速率,编写所述IO信息文档;根据所述当前被测设计中设定的对源数据的发送要求,编写所述数据源信息文档;
所述第一数量等于所述路数;
每一个所述SRIO设计顶层模块的速率与所述每一路所述Rapio IO的速率一一对应相等;
每一个所述FIFO设计顶层模块与每一个所述SRIO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求各路SRIO接口独立发送完整数据包时,所述第二数量等于所述路数,每一个所述数据生成模块与每一个所述FIFO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求多路SRIO接口轮询发送一个数据包时,所述第二数量等于1,所述数据生成模块分别与每一个所述FIFO设计顶层模块信号连接。
进一步地,所述FIFO设计包括:具有wr_clk、rst_n、rd_clk、wr_en、din、dout、rd_en、almost_empty、almost_full中的任意一个或多个规定接口的FIFO设计;
所述SRIO设计包括:具有AXI总线的SRIO设计。
进一步地,该测试向量生成装置还包括:处理单元,用于根据生成的所述测试向量,在测试平台中例化测试向量模块;执行所述测试向量模块与所述当前被测设计间的信号连接;运行所述测试平台以执行一次功能测试;统计所述功能测试对应的功能覆盖率;判断所述功能覆盖率是否达到预设阈值,若是,结束当前流程,否则,根据预设调整规则,调整所述源数据包信息文档、所述IO信息文档、所述数据源信息文档中的任意一个或多个,并触发所述脚本运行单元。
进一步地,所述处理单元,还用于针对生成的所述测试向量对应的至少一个功能,在预设的功能集合中,标记所述至少一个功能中的每一个有效功能,其中,所述有效功能存在于所述功能集合中且未标记;
所述功能覆盖率满足公式一;
所述公式一包括:Xi=n/N+Xi-1
其中,Xi为所述功能覆盖率,n为所述有效功能的个数,N为所述功能集合中全部功能的个数,Xi-1为统计的上一个功能覆盖率,X0=0。
本发明提供了一种测试向量生成方法及装置,该方法包括:基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;通过运行测试向量打印生成脚本,以根据编写好的各信息文档,对应的在测试向量文件中例化特定数量的SRIO设计顶层模块、FIFO设计顶层模块和数据生成模块,再执行FIFO设计顶层模块分别与数据生成模块和SRIO设计顶层模块间的信号连接,并打印生成测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。基于当前被测设计在测试向量文件中例化各所需模块,且完成模块间信号连接、生成所需声明后,即完成生成测试向量。由于可自动生成测试向量,故本发明能够降低生成测试向量的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种测试向量生成方法的流程图;
图2是本发明一实施例提供的另一种测试向量生成方法的流程图;
图3是本发明一实施例提供的一种测试向量生成装置的示意图;
图4是本发明一实施例提供的另一种测试向量生成装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
详细地,SRIO总线的协议是标准的、规范的,用户协议都可以看做总线中的数据进行传输,不同设计的自定义协议具有架构上的统一性,因此,可以考虑使用协议信息文档配合脚本,来实现自动化生成测试向量。
如图1所示,本发明实施例提供了一种测试向量生成方法,可以包括以下步骤:
步骤101:基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档。
步骤102:通过运行预设的测试向量打印生成脚本,以执行:根据所述IO信息文档,在测试向量文件中例化第一数量的SRIO设计顶层模块、所述第一数量的FIFO设计顶层模块;根据所述源数据包信息文档和所述数据源信息文档,在所述测试向量文件中例化第二数量的数据生成模块;执行所述第一数量的FIFO设计顶层模块,分别与所述第二数量的数据生成模块和所述第一数量的SRIO设计顶层模块间的信号连接,并打印生成所述测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。
本发明实施例提供了一种测试向量生成方法,基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;通过运行测试向量打印生成脚本,以根据编写好的各信息文档,对应的在测试向量文件中例化特定数量的SRIO设计顶层模块、FIFO设计顶层模块和数据生成模块,再执行FIFO设计顶层模块分别与数据生成模块和SRIO设计顶层模块间的信号连接,并打印生成测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。基于当前被测设计在测试向量文件中例化各所需模块,且完成模块间信号连接、生成所需声明后,即完成生成测试向量。由于可自动生成测试向量,故本发明实施例能够降低生成测试向量的工作量。
在本发明的一个实施例中,为了说明一种可能的信息文档编写实现方式,所以,所述步骤101包括:根据所述当前被测设计中使用的自定义协议格式、数据包长度范围、数据内容范围、无效数据内容、无效数据长度中的任意一种或多种信息,编写所述源数据包信息文档;根据所述当前被测设计中使用的至少一路Rapio IO的路数,和/或,每一路所述RapioIO的速率,编写所述IO信息文档;根据所述当前被测设计中设定的对源数据的发送要求,编写所述数据源信息文档;
所述第一数量等于所述路数;
每一个所述SRIO设计顶层模块的速率与所述每一路所述Rapio IO的速率一一对应相等;
每一个所述FIFO设计顶层模块与每一个所述SRIO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求各路SRIO接口独立发送完整数据包时,所述第二数量等于所述路数,每一个所述数据生成模块与每一个所述FIFO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求多路SRIO接口轮询发送一个数据包时,所述第二数量等于1,所述数据生成模块分别与每一个所述FIFO设计顶层模块信号连接。
详细地,脚本可以读取编写好的每一个信息文档,以用于相应各模块的例化。
详细地,上述至少一路Rapio IO的路数,通常可以为1路、2路、4路中的任意一种。
举例来说,假设路数为4路,且要求独立发送数据包。对应地,在上述步骤102中,可以在测试向量文件中打印生成4个SRIO设计顶层模块的例化、4个FIFO设计顶层模块的例化、4个数据生成模块的例化。
其中,各SRIO设计顶层模块的速率与各路Rapio IO的速率一一对应相等。比如,第1个SRIO设计顶层模块的速率等于第1路Rapio IO的速率,……,第4个SRIO设计顶层模块的速率等于第4路Rapio IO的速率。
然后,可以自动完成各类模块间的信号连接。比如,4个数据生成模块一一对应的与4个FIFO设计顶层模块间信号连接,然后,4个FIFO设计顶层模块一一对应的与4个SRIO设计顶层模块间信号连接。
最后,自动打印生成测试向量文件的输入输出接口声明和内部信号声明,即完成测试向量的生成。
在本发明的一个实施例中,所述FIFO设计包括:具有wr_clk、rst_n、rd_clk、wr_en、din、dout、rd_en、almost_empty、almost_full中的任意一个或多个规定接口的FIFO设计;
所述SRIO设计包括:具有AXI总线的SRIO设计。
通常情况下,生成的测试向量对应有至少一个功能。基于生成的测试向量,可以对当前被测设计进行功能测试。测试结束后,若统计的功能覆盖率情况未达标,便可调整各信息文档以再次生成新的测试向量,并完成迭代功能测试,如此循环,直到达到目标功能覆盖率,从而完成功能验证。
因此,在本发明的一个实施例中,在所述步骤102之后进一步包括:根据生成的所述测试向量,在测试平台中例化测试向量模块;执行所述测试向量模块与所述当前被测设计间的信号连接;运行所述测试平台以执行一次功能测试;统计所述功能测试对应的功能覆盖率;判断所述功能覆盖率是否达到预设阈值,若是,结束当前流程,否则,根据预设调整规则,调整所述源数据包信息文档、所述IO信息文档、所述数据源信息文档中的任意一个或多个,并执行所述步骤102。
详细地,只要当前循环中统计到的功能覆盖率未达到预设阈值,则可以再次执行上述步骤102以进入下一循环。由于在进入下一循环之前,以对信息文档进行调整,故再次步骤102即可生成与该调整相关的测试向量。通常情况下,新生成的测试向量可以引入新功能,故新功能的存在可以相应提高功能覆盖率。如此循环,完成迭代功能测试,直到达到目标功能覆盖率,完成功能验证。
基于上述内容,在本发明一个实施例中,为了说明一种统计功能覆盖率的可能实现方式,所以,在所述统计所述功能测试对应的功能覆盖率之后,进一步包括:针对生成的所述测试向量对应的至少一个功能,在预设的功能集合中,标记所述至少一个功能中的每一个有效功能,其中,所述有效功能存在于所述功能集合中且未标记;
所述功能覆盖率满足下述公式(1);
Xi=n/N+Xi-1(1)
其中,Xi为所述功能覆盖率,n为所述有效功能的个数,N为所述功能集合中全部功能的个数,Xi-1为统计的上一个功能覆盖率,X0=0。
举例来说,预设的功能集合中包括有100个功能,分别为功能1~功能100,即N=100。假设当前循环为第1个循环,如此,i=1,Xi-1=X0=0。假设第1个循环中生成的测试向量对应的功能有3个,分别为功能1、功能2、功能8。由于这3个功能均存在于功能集合中且均未标记,故均为有效功能,故n=3。如此,可以计算出Xi=X1=3/100+0=3%。然后,在功能集合中,标记这3个功能。
假设预设阈值为80%,故进入下一个循环,即第2个循环。在第2个循环中,i=2,Xi-1=X1=3%。假设第2个循环中生成的测试向量对应的功能有3个,分别为功能2、功能3、功能8。由于这3个功能中,功能2和功能8虽存在于功能集合但已标记,故均不为有效功能,而功能3存在于功能集合中且未标记,故为有效功能。如此,n=1。如此,可以计算出Xi=X2=1/100+3%=4%。然后,在功能集合中,标记功能3。
如此循环,直到功能覆盖率达到80%,完成功能验证。可以看出,每一次循环中均可以生成测试向量,尤其循环次数较多时,本发明实施例由于可以自动生成测试向量,故可以大大降低工作量。
如图2所示,本发明一个实施例提供了另一种测试向量生成方法,具体包括以下步骤:
步骤201:根据当前被测设计中使用的自定义协议格式、数据包长度范围、数据内容范围、无效数据内容、无效数据长度,编写源数据包信息文档。
步骤202:根据当前被测设计中使用的4路Rapio IO的路数及各路Rapio IO的速率,编写IO信息文档。
步骤203:根据当前被测设计中设定的要求多路SRIO接口轮询发送一个数据包,编写数据源信息文档。
步骤204:通过运行预设的测试向量打印生成脚本,以执行:根据IO信息文档,在测试向量文件中例化4个SRIO设计顶层模块、4个FIFO设计顶层模块;根据源数据包信息文档和数据源信息文档,在测试向量文件中例化1个数据生成模块;执行数据生成模块分别与每一个FIFO设计顶层模块间的信号连接,执行4个FIFO设计顶层模块与4个SRIO设计顶层模块间的一一对应信号连接;打印生成测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。
详细地,4个SRIO设计顶层模块的速率与4路Rapio IO的速率一一对应相等。
步骤205:根据生成的测试向量,在测试平台中例化测试向量模块,并执行测试向量模块与当前被测设计间的信号连接。
步骤206:运行测试平台以执行一次功能测试。
步骤207:统计功能测试对应的功能覆盖率。
步骤208:针对生成的测试向量对应的至少一个功能,在预设的功能集合中标记该至少一个功能中的每一个有效功能,其中,有效功能存在于功能集合中且未标记。
详细地,功能覆盖率满足上述公式(1)。
步骤209:判断功能覆盖率是否达到预设阈值,若是,结束当前流程,否则,根据预设调整规则,调整源数据包信息文档、IO信息文档、数据源信息文档,并执行步骤204。
本发明实施例中,提供了基于脚本自动生成用于SRIO接口测试向量的实现过程,可以生成的测试向量可以用于IC设计验证,比如可以对使用SRIO接口的设计进行功能仿真。通过修改各信息文档中的部分参数,循环使用脚本即可方便快捷的生成多种形式、多种大小的测试向量,以使功能验证快速达到所需的较高功能覆盖率。本发明实施例实施方便,流程简单,高效稳定,可以大幅缩短为不同的基于SRIO接口的设计编写测试向量的开发周期,提高功能验证效率。
如图3所示,本发明一个实施例提供了一种测试向量生成装置,包括:
文档编写单元301,用于基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;
脚本运行单元302,用于通过运行预设的测试向量打印生成脚本,以执行:根据所述IO信息文档,在测试向量文件中例化第一数量的SRIO设计顶层模块、所述第一数量的FIFO设计顶层模块;根据所述源数据包信息文档和所述数据源信息文档,在所述测试向量文件中例化第二数量的数据生成模块;执行所述第一数量的FIFO设计顶层模块,分别与所述第二数量的数据生成模块和所述第一数量的SRIO设计顶层模块间的信号连接,并打印生成所述测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。
在本发明一个实施例中,所述文档编写单元301,具体用于根据所述当前被测设计中使用的自定义协议格式、数据包长度范围、数据内容范围、无效数据内容、无效数据长度中的任意一种或多种信息,编写所述源数据包信息文档;根据所述当前被测设计中使用的至少一路Rapio IO的路数,和/或,每一路所述Rapio IO的速率,编写所述IO信息文档;根据所述当前被测设计中设定的对源数据的发送要求,编写所述数据源信息文档;
所述第一数量等于所述路数;
每一个所述SRIO设计顶层模块的速率与所述每一路所述Rapio IO的速率一一对应相等;
每一个所述FIFO设计顶层模块与每一个所述SRIO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求各路SRIO接口独立发送完整数据包时,所述第二数量等于所述路数,每一个所述数据生成模块与每一个所述FIFO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求多路SRIO接口轮询发送一个数据包时,所述第二数量等于1,所述数据生成模块分别与每一个所述FIFO设计顶层模块信号连接。
在本发明一个实施例中,所述FIFO设计包括:具有wr_clk、rst_n、rd_clk、wr_en、din、dout、rd_en、almost_empty、almost_full中的任意一个或多个规定接口的FIFO设计;
所述SRIO设计包括:具有AXI总线的SRIO设计。
在本发明一个实施例中,请参考图4,该测试向量生成装置还可以包括:处理单元401,用于根据生成的所述测试向量,在测试平台中例化测试向量模块;执行所述测试向量模块与所述当前被测设计间的信号连接;运行所述测试平台以执行一次功能测试;统计所述功能测试对应的功能覆盖率;判断所述功能覆盖率是否达到预设阈值,若是,结束当前流程,否则,根据预设调整规则,调整所述源数据包信息文档、所述IO信息文档、所述数据源信息文档中的任意一个或多个,并触发所述脚本运行单元302。
在本发明一个实施例中,所述处理单元401,还用于针对生成的所述测试向量对应的至少一个功能,在预设的功能集合中,标记所述至少一个功能中的每一个有效功能,其中,所述有效功能存在于所述功能集合中且未标记;
所述功能覆盖率满足上述公式(1)。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上所述,本发明的各个实施例至少具有如下有益效果:
1、本发明实施例中,基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;通过运行测试向量打印生成脚本,以根据编写好的各信息文档,对应的在测试向量文件中例化特定数量的SRIO设计顶层模块、FIFO设计顶层模块和数据生成模块,再执行FIFO设计顶层模块分别与数据生成模块和SRIO设计顶层模块间的信号连接,并打印生成测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。基于当前被测设计在测试向量文件中例化各所需模块,且完成模块间信号连接、生成所需声明后,即完成生成测试向量。由于可自动生成测试向量,故本发明实施例能够降低生成测试向量的工作量。
2、本发明实施例中,提供了基于脚本自动生成用于SRIO接口测试向量的实现过程,可以生成的测试向量可以用于IC设计验证,比如可以对使用SRIO接口的设计进行功能仿真。通过修改各信息文档中的部分参数,循环使用脚本即可方便快捷的生成多种形式、多种大小的测试向量,以使功能验证快速达到所需的较高功能覆盖率。本发明实施例实施方便,流程简单,高效稳定,可以大幅缩短为不同的基于SRIO接口的设计编写测试向量的开发周期,提高功能验证效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种测试向量生成方法,其特征在于,包括:
S1:基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;
S2:通过运行预设的测试向量打印生成脚本,以执行:
根据所述IO信息文档,在测试向量文件中例化第一数量的SRIO设计顶层模块、所述第一数量的先进先出队列FIFO设计顶层模块;
根据所述源数据包信息文档和所述数据源信息文档,在所述测试向量文件中例化第二数量的数据生成模块;
执行所述第一数量的FIFO设计顶层模块,分别与所述第二数量的数据生成模块和所述第一数量的SRIO设计顶层模块间的信号连接,并打印生成所述测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。
2.根据权利要求1所述的方法,其特征在于,
所述S1包括:根据所述当前被测设计中使用的自定义协议格式、数据包长度范围、数据内容范围、无效数据内容、无效数据长度中的任意一种或多种信息,编写所述源数据包信息文档;根据所述当前被测设计中使用的至少一路Rapio IO的路数,和/或,每一路所述RapioIO的速率,编写所述IO信息文档;根据所述当前被测设计中设定的对源数据的发送要求,编写所述数据源信息文档;
所述第一数量等于所述路数;
每一个所述SRIO设计顶层模块的速率与所述每一路所述Rapio IO的速率一一对应相等;
每一个所述FIFO设计顶层模块与每一个所述SRIO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求各路SRIO接口独立发送完整数据包时,所述第二数量等于所述路数,每一个所述数据生成模块与每一个所述FIFO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求多路SRIO接口轮询发送一个数据包时,所述第二数量等于1,所述数据生成模块分别与每一个所述FIFO设计顶层模块信号连接。
3.根据权利要求1所述的方法,其特征在于,
所述FIFO设计包括:具有wr_clk、rst_n、rd_clk、wr_en、din、dout、rd_en、almost_empty、almost_full中的任意一个或多个规定接口的FIFO设计;
所述SRIO设计包括:具有AXI总线的SRIO设计。
4.根据权利要求1至3中任一所述的方法,其特征在于,在所述S2之后进一步包括:
根据生成的所述测试向量,在测试平台中例化测试向量模块;
执行所述测试向量模块与所述当前被测设计间的信号连接;
运行所述测试平台以执行一次功能测试;
统计所述功能测试对应的功能覆盖率;
判断所述功能覆盖率是否达到预设阈值,若是,结束当前流程,否则,根据预设调整规则,调整所述源数据包信息文档、所述IO信息文档、所述数据源信息文档中的任意一个或多个,并执行所述S2。
5.根据权利要求4所述的方法,其特征在于,
在所述统计所述功能测试对应的功能覆盖率之后,进一步包括:针对生成的所述测试向量对应的至少一个功能,在预设的功能集合中,标记所述至少一个功能中的每一个有效功能,其中,所述有效功能存在于所述功能集合中且未标记;
所述功能覆盖率满足公式一;
所述公式一包括:Xi=n/N+Xi-1
其中,Xi为所述功能覆盖率,n为所述有效功能的个数,N为所述功能集合中全部功能的个数,Xi-1为统计的上一个功能覆盖率,X0=0。
6.一种测试向量生成装置,其特征在于,包括:
文档编写单元,用于基于当前被测设计,编写源数据包信息文档、IO信息文档、数据源信息文档;
脚本运行单元,用于通过运行预设的测试向量打印生成脚本,以执行:根据所述IO信息文档,在测试向量文件中例化第一数量的SRIO设计顶层模块、所述第一数量的先进先出队列FIFO设计顶层模块;根据所述源数据包信息文档和所述数据源信息文档,在所述测试向量文件中例化第二数量的数据生成模块;执行所述第一数量的FIFO设计顶层模块,分别与所述第二数量的数据生成模块和所述第一数量的SRIO设计顶层模块间的信号连接,并打印生成所述测试向量文件的输入输出接口声明和内部信号声明,以完成生成测试向量。
7.根据权利要求6所述的测试向量生成装置,其特征在于,
所述文档编写单元,具体用于根据所述当前被测设计中使用的自定义协议格式、数据包长度范围、数据内容范围、无效数据内容、无效数据长度中的任意一种或多种信息,编写所述源数据包信息文档;根据所述当前被测设计中使用的至少一路Rapio IO的路数,和/或,每一路所述Rapio IO的速率,编写所述IO信息文档;根据所述当前被测设计中设定的对源数据的发送要求,编写所述数据源信息文档;
所述第一数量等于所述路数;
每一个所述SRIO设计顶层模块的速率与所述每一路所述Rapio IO的速率一一对应相等;
每一个所述FIFO设计顶层模块与每一个所述SRIO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求各路SRIO接口独立发送完整数据包时,所述第二数量等于所述路数,每一个所述数据生成模块与每一个所述FIFO设计顶层模块间一一对应信号连接;
所述对源数据的发送要求包括:要求多路SRIO接口轮询发送一个数据包时,所述第二数量等于1,所述数据生成模块分别与每一个所述FIFO设计顶层模块信号连接。
8.根据权利要求6所述的测试向量生成装置,其特征在于,
所述FIFO设计包括:具有wr_clk、rst_n、rd_clk、wr_en、din、dout、rd_en、almost_empty、almost_full中的任意一个或多个规定接口的FIFO设计;
所述SRIO设计包括:具有AXI总线的SRIO设计。
9.根据权利要求6至8中任一所述的测试向量生成装置,其特征在于,
还包括:处理单元,用于根据生成的所述测试向量,在测试平台中例化测试向量模块;执行所述测试向量模块与所述当前被测设计间的信号连接;运行所述测试平台以执行一次功能测试;统计所述功能测试对应的功能覆盖率;判断所述功能覆盖率是否达到预设阈值,若是,结束当前流程,否则,根据预设调整规则,调整所述源数据包信息文档、所述IO信息文档、所述数据源信息文档中的任意一个或多个,并触发所述脚本运行单元。
10.根据权利要求9所述的测试向量生成装置,其特征在于,
所述处理单元,还用于针对生成的所述测试向量对应的至少一个功能,在预设的功能集合中,标记所述至少一个功能中的每一个有效功能,其中,所述有效功能存在于所述功能集合中且未标记;
所述功能覆盖率满足公式一;
所述公式一包括:Xi=n/N+Xi-1
其中,Xi为所述功能覆盖率,n为所述有效功能的个数,N为所述功能集合中全部功能的个数,Xi-1为统计的上一个功能覆盖率,X0=0。
CN201810073535.XA 2018-01-25 2018-01-25 一种测试向量生成方法及装置 Active CN108319534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810073535.XA CN108319534B (zh) 2018-01-25 2018-01-25 一种测试向量生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810073535.XA CN108319534B (zh) 2018-01-25 2018-01-25 一种测试向量生成方法及装置

Publications (2)

Publication Number Publication Date
CN108319534A true CN108319534A (zh) 2018-07-24
CN108319534B CN108319534B (zh) 2021-04-06

Family

ID=62887219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810073535.XA Active CN108319534B (zh) 2018-01-25 2018-01-25 一种测试向量生成方法及装置

Country Status (1)

Country Link
CN (1) CN108319534B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101389A (zh) * 2018-08-01 2018-12-28 济南浪潮高新科技投资发展有限公司 一种用于pcie接口的测试向量生成方法及装置
CN111309597A (zh) * 2020-01-19 2020-06-19 济南浪潮高新科技投资发展有限公司 一种用于aurora接口测试向量的基于脚本的生成方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090241074A1 (en) * 2008-03-24 2009-09-24 Renesas Technology Corp. Equivalence checking method, equivalence checking program, and generating method for equivalence checking program
CN101763451A (zh) * 2010-01-01 2010-06-30 江苏华丽网络工程有限公司 大规模网络芯片验证平台的建立方法
CN103530245A (zh) * 2013-10-31 2014-01-22 武汉邮电科学研究院 一种基于fpga的srio互联交换装置
CN107168843A (zh) * 2017-06-09 2017-09-15 济南浪潮高新科技投资发展有限公司 一种基于axi总线的功能验证平台的搭建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090241074A1 (en) * 2008-03-24 2009-09-24 Renesas Technology Corp. Equivalence checking method, equivalence checking program, and generating method for equivalence checking program
CN101763451A (zh) * 2010-01-01 2010-06-30 江苏华丽网络工程有限公司 大规模网络芯片验证平台的建立方法
CN103530245A (zh) * 2013-10-31 2014-01-22 武汉邮电科学研究院 一种基于fpga的srio互联交换装置
CN107168843A (zh) * 2017-06-09 2017-09-15 济南浪潮高新科技投资发展有限公司 一种基于axi总线的功能验证平台的搭建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈宏铭: "《基于AXI总线串行RapidIO端点控制器的FPGA实现》", 《北京大学学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101389A (zh) * 2018-08-01 2018-12-28 济南浪潮高新科技投资发展有限公司 一种用于pcie接口的测试向量生成方法及装置
CN111309597A (zh) * 2020-01-19 2020-06-19 济南浪潮高新科技投资发展有限公司 一种用于aurora接口测试向量的基于脚本的生成方法及系统

Also Published As

Publication number Publication date
CN108319534B (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
CN106503308B (zh) 一种基于uvm的can控制器ip验证平台
US8032329B2 (en) Method and system to monitor, debug, and analyze performance of an electronic design
US7610526B2 (en) On-chip circuitry for bus validation
CN104504187B (zh) 一种基于串行通信接口的fpga在线验证结构和方法
TW563029B (en) Flexible interrupt controller that includes an interrupt force register
US20180060453A1 (en) Universal verification methodology (uvm) register abstraction layer (ral) painter
CN105975726A (zh) 一种基于SystemVerilog语言的验证方法及平台
CN102542110B (zh) 一种应用于移动存储soc芯片的仿真验证方法
CN105741879B (zh) 一种模拟智能电能表存储器测试板系统及其测试方法
EP1790989A1 (en) Test emulator, emulation program, and semiconductor device manufacturing method
CN102967815A (zh) 芯片测试方法、自动化测试机和系统
CN103020395A (zh) 解复用接口模块的验证方法及验证系统
CN108319534A (zh) 一种测试向量生成方法及装置
CN102565683B (zh) 一种测试向量的生成与验证方法
CN103530166B (zh) 一种基于虚拟ram的面向多通道芯片的验证平台和验证方法
US20170272431A1 (en) Method and apparatus for analyzing a transmission signal
CN109815073A (zh) 一种基于pxi平台的高速串口srio的测试方法
CN101159492A (zh) 一种用于sdh逻辑设计的仿真验证系统及其方法
CN105430678B (zh) Ptn设备接口测试的方法及装置
CN109101389A (zh) 一种用于pcie接口的测试向量生成方法及装置
CN106960611A (zh) 控制设备操作培训模拟装置及其模拟方法
US8069025B2 (en) Logic simulator and logic simulation method
CN111460759A (zh) 一种基于Python语言的EDA验证平台及其使用方法
CN105897494A (zh) 网络传输速率的测试方法
CN110347595A (zh) 一种fpga内部资源甄别与定位方法及系统

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210317

Address after: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Applicant after: INSPUR GROUP Co.,Ltd.

Address before: 250100 First Floor of R&D Building 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province

Applicant before: JINAN INSPUR HIGH-TECH TECHNOLOGY DEVELOPMENT Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230419

Address after: 250000 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province

Patentee after: Shandong Inspur Scientific Research Institute Co.,Ltd.

Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Patentee before: INSPUR GROUP Co.,Ltd.