CN1987877A - 一种原型机的测试系统和方法 - Google Patents
一种原型机的测试系统和方法 Download PDFInfo
- Publication number
- CN1987877A CN1987877A CN 200610169576 CN200610169576A CN1987877A CN 1987877 A CN1987877 A CN 1987877A CN 200610169576 CN200610169576 CN 200610169576 CN 200610169576 A CN200610169576 A CN 200610169576A CN 1987877 A CN1987877 A CN 1987877A
- Authority
- CN
- China
- Prior art keywords
- test
- prototype
- result
- vector
- test vector
- 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
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种原型机的测试系统和方法,其中测试方法包括步骤:由计算设备自动生成测试向量;启动原型机对测试向量进行处理,并处理结束后从原型机读取测试结果;判断是否继续测试,如果否,则退出测试,否则,重复执行上述的测试步骤。通过本发明提供的原型机的测试方法和系统,可以自动产生测试向量并进行相应的测试,提高了原型机的测试效率。
Description
技术领域
本发明涉及芯片设计,特别涉及一种原型机的测试系统和方法。
背景技术
随着芯片集成度的增加和完成功能的扩展,芯片设计的复杂度越来越高,芯片设计的测试花费的时间也越来越多。Cadence和Synopsys等电子设计自动化(EDA)工具提供商的数据显示,一个完整芯片设计过程中,60%以上的时间用于设计的测试和调试(Debugging)。
现有技术中,一种设计模块的测试方式是软件仿真。通过专门的测试语言和测试工具,如Specman E,System Verilog等,来仿真设计模块,然后对软件仿真进行测试。但是这些工具一般都很昂贵,同时,对一些复杂或者大型的设计模块,软件仿真的速度也比较慢。
另一种设计模块的测试方式是设计原型机,并对原型机进行硬件测试。原型机的测试方式的优点是测试速度快。但是,现有的原型机的测试中测试向量有限。对于复杂的设计模块,如果测试向量不足,不能达到覆盖性测试,就不能保证测试的准确性。当增加新的测试向量时,需要对测试程序进行修改
发明内容
本发明要解决的一个技术问题是提供一种原型机测试系统,可以提高原型机的测试效率以及测试覆盖率。
本发明提供的原型机测试系统,包括原型机、测试向量生成器和测试控制器;
其中,测试向量生成器用于自动生成测试向量,并将测试向量发送给测试控制器;
测试控制器用于接收测试向量,将测试向量发送到原型机并启动原型机执行,在原型机处理结束后从原型机读取测试结果。
而测试控制器还可以用于判断是否退出原型机测试,如果是,则退出测试,否则,继续执行测试。
进一步,原型机测试系统还可以包括结果生成器和结果验证器;
测试向量生成器还用于将测试向量发送给结果生成器;
结果生成器用于接收测试向量,并根据测试向量自动生成验证结果,并将验证结果发送给结果验证器;
测试控制器还用于将所述测试结果发送给结果验证器;
结果验证器用于接收验证结果和测试结果,验证测试结果是否与验证结果相同。
本发明提供的原型机测试系统,通过测试向量生成器自动产生测试向量,由测试控制器将测试向量发送给原型机和控制原型机的执行,并读取执行后的测试结果。整个测试系统不仅具有原型机测试速度快的优点,同时可以实现大批量的测试向量的测试,提高了原型机测试的覆盖率和效率。通过结果产生器和结果验证器,可以对原型机的执行结果进行自动验证,进一步提高了原型机测试的效率。
本发明要解决的另一个技术问题是提供一种原型机测试方法,可以提高原型机的测试效率以及测试覆盖率。
本发明提供的原型机测试方法,包括如下步骤:
A,由计算设备自动生成测试向量;
B,启动原型机对测试向量进行处理,并处理结束后从原型机读取测试结果;
C,判断是否继续测试,如果否,则退出测试,否则,重复执行从步骤A开始的测试。
对于是否继续测试的判断,可以在测试开始前预先设定一最小测试次数,在步骤C中,根据已执行测试次数和最小测试次数的比较结果判断是否继续测试,当测试次数大于或者等于该预定值时,则退出测试,否则,继续测试。
进一步,在步骤A中测试向量生成后,还包括如下步骤:
以测试向量为参数调用原型机对应的模型库函数,获得模型库函数的执行结果;
相应地,在步骤B中从原型机读取测试结果后,还包括如下步骤:
判断原型机的测试结果和模型库函数的执行结果是否相同。
在判断原型机的测试结果和模型库函数的执行结果是否相同后,步骤C中还根据所述测试结果和所述执行结果的比较结果判断是否退出测试,如果比较结果不同,则退出测试。
本发明提供的原型机测试方法,通过计算设备自动产生测试向量,启动原型机对测试向量进行处理,并在处理结束后读取原型机的测试结果。整个测试方法不仅利用了原型机测试速度快的优点,同时自动产生大量的测试向量,实现大批量的测试向量的测试,提高了原型机测试的覆盖率和效率。
附图说明
图1所示为本发明提供的原型机测试系统的结构示意图;
图2所示为本发明提供的原型机测试系统的一个实施例的结构示意图;
图3所示为本发明提供的原型机测试方法的流程图。
具体实施方式
如图1所示,本发明提供的原型机测试系统包括测试向量生成器、测试控制器和被测试的原型机。
测试向量生成器用于自动产生符合原型机输入格式的测试向量,并将产生的测试向量发送给测试控制器。测试向量生成器可利用计算设备重复产生不同的随机向量来实现,计算设备可以是个人计算机(PC)等。
测试控制器从测试向量生成器获取测试向量,将测试向量发送到原型机,启动原型机执行对测试向量的处理,并在测试向量处理完毕时从原型机读出执行后的结果。测试控制器重复执行上述步骤,直到测试需要结束或者测试的测试向量覆盖了足够的范围。测试控制器可以通过具有逻辑控制能力的数字处理设备实现,如数字信号处理(DSP)、微处理器(MCU)等模块。
原型机是为对设计模块进行测试而设计的功能模块,如现场可编程门阵列(FPGA)等。原型机和测试控制器连接,并可以在测试控制器的控制下执行相应的处理。
为了判定原型机执行后测试结果的正确性,本发明提供的原型机测试系统还可以包括结果产生器和结果验证器。测试向量生成器产生测试向量后,同时将测试向量发送给验证结果产生器。验证结果产生器内存储有原型机实现的算法的函数原型,如C或者C++等语言实现的函数,在收到测试向量后,可以产生正确的结果。然后将正确的结果发送到结果验证器。测试控制器还用于将从原型机读取的测试结果发送给结果验证器,结果验证器在接收到测试结果后,和正确的结果进行比较,判断原型机的执行结果是否正确。结果产生器可以和测试向量生成器位于同一计算设备内;结果验证器可以和结果产生器位于同一计算设备内,或者和测试控制器位于同一设备内;测试控制器也可能和原型机位于同一设备内。
图2所示为本发明的原型机测试系统的一个实施例。在该实施例中,FPGA、DSP和计算机系统分别对应于本发明的原型机测试系统的原型机、测试控制器和测试向量生成器。
通常需要的准备工作包括:根据原型机对应算法实现一个DSP测试控制程序,根据算法的起始点和结束点在DSP测试控制程序中设定一个断点,在该断点处可以读取上次测试结果和下载新的测试向量。将FPGA+DSP开发平台与计算机系统进行连接,保证计算机系统可以正确的读写DSP。然后启动DSP集成开发环境,将DSP测试控制程序下载到DSP的内存。还需要根据原型机对应的算法设置测试向量生成软件的输出的测试向量的格式。
在该实施例中,计算机系统调用测试向量生成软件生成测试向量,并将测试向量发送到DSP。DSP启动测试控制程序,在收到测试向量后,将测试向量发送到原型机FPGA,启动FPGA对测试向量进行处理,等待测试控制程序运行到设定的断点处。FPGA对测试向量处理完毕后,DSP中的测试程序运行到设定的断点处,从FPGA中读出对测试向量处理后的测试结果。如果测试没有结束,则继续上面的执行,否则测试结束,退出DSP集成开发环境。
为了判定原型机执行后测试结果的正确性,在计算机系统上还可以存储原型机对应算法的模型库函数。当测试向量生成软件生成测试向量后,以该测试向量为参数调用该模型库函数,并获得执行结果,作为验证结果用于验证原型机的执行是否正确。该验证结果可以发送给DSP,用于DSP读取FPGA的测试结果后进行比较。或者,该验证结果也可以保存在计算机系统的内存中,由计算机系统读取DSP从FPGA获得的测试结果,并将该验证结果和测试结果进行比较,并根据比较结果验证原型机的正确性。
例如对一个实现数据解码的设计模块进行验证,现有技术一般都是利用软件仿真或者算法提供的测试组编程然后对这个设计模块进行测试,而且通常一个或者几个测试向量就需要编写一个DSP测试程序。采用本发明的测试系统,只需要一个通用的DSP测试控制程序,通过测试向量生成器,迅速生成需要的测试向量,然后将测试向量发送到DSP进行原型机的测试,从而提高了原型机测试的效率。
需要指出的是,本发明提供的原型机测试系统,原型机可以由微处理器或者是可编程逻辑器件等设备单独或者组合实现,测试控制器可以由微处理或者是可编程逻辑器件等设备单独或者组合实现,而测试向量生成器通过计算设备如个人计算机,工作站,可编程计算系统等等实现,也属于本发明保护的范围。具体的实现可以由本领域的技术人员根据上述的说明完成,在此不做详细的描述。
本发明提供的原型机测试系统,由测试向量生成器自动产生测试向量,由测试控制器自动将测试向量发送给原型机并控制原型机的执行,并读取执行后的测试结果。整个测试系统不仅具有原型机测试速度快的优点,同时可以实现大批量的测试向量的测试,提高了原型机测试的覆盖率和效率。通过结果产生器和结果验证器,可以对原型机的执行结果进行自动验证,进一步提高了原型机测试的效率。
如图3所示,本发明提供的原型机测试方法包括如下步骤:
步骤301,由计算设备上的测试向量生成软件自动生成测试向量。测试向量生成软件可以由随机向量函数实现,并对随机向量函数生成的随机向量的格式等进行限定,以使生成的测试向量符合原型机要求的输入格式。将生成的测试向量发送给测试控制器。
步骤302,测试控制器在收到测试向量后,将测试向量发送给原型机,启动原型机对测试向量的处理。在原型机对测试向量的处理结束后,测试控制器从原型机读取测试结果。
步骤303,测试控制器判断是否继续测试,如果是,从步骤301重复执行测试,否则,则退出测试循环。本步骤实现的功能可以通过测试控制器内的测试循环体实现,并在循环体的开始处或者结束处,判断是否满足继续测试的条件。如果不满足,则退出循环体,结果测试,否则执行新的一轮测试。一种控制测试是否退出的方式是,在测试开始时预先设定一个最小测试次数,并在测试过程中对完成的向量测试计数,判断测试是否退出的条件是测试次数已经达到设定的最小测试次数;在测试过程中,如果原型机测试出现错误,也可以退出测试。
为了判断原型机执行后测试结果的正确性,本发明提供的原型机测试方法,在计算设备上还可以存储原型机对应算法的模型库函数,并在步骤301之后,步骤302之前执行步骤:
将计算设备生成的测试向量作为参数输入模型库函数,调用函数执行获得执行结果。该结果将作为验证原型机执行结果是否正确的验证结果。
与此相对应,在步骤302中从原型机读取测试结果后,还执行如下步骤:
将原型机的测试结果与验证结果进行比较,如果相同,则表明原型机执行正确,否则,表明原型机存在错误。如果发现原型机测试出现错误,可以退出测试。
本发明的原型机测试方法的一个实施例的实现如下:
首先准备工作包括:
一,在PC机上准备好原型机算法对应的C或者C++模型库函数,并根据原型机算法的需要实现一个相应的DSP测试控制程序。
二,将FPGA+DSP开发平台与PC连接起来,保证PC可以正确的读写DSP;启动DSP集成开发环境,将DSP测试控制程序下载到DSP的内存,并根据原型机算法的起始点和结束点的情况在DSP测试控制程序中设定一个断点,在该断点处可以下载新的测试向量和读入上次测试结果。并启动测试控制程序。
当上述准备工作完毕后,可以进行原型机的测试,执行如下步骤:
调用测试向量生成软件自动生成测试向量,并将测试向量上载到DSP;
测试控制程序等待接收测试向量,并将收到的测试向量发送给原型机,并启动原型机执行,然后等待DSP运行到设定的断点;
程序运行到断点处,测试控制程序读出原型机的测试结果;如果测试没有结束,则继续执行测试,否则测试结束,退出DSP集成开发环境。
本发明提供的原型机测试方法,通过计算设备自动产生测试向量,启动原型机对测试向量进行处理,并在处理结束后读取原型机的测试结果。整个测试方法不仅利用了原型机测试速度快的优点,同时自动产生大量的测试向量,实现大批量的测试向量的测试,提高了原型机测试的覆盖率和效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种原型机的测试系统,包括原型机,其特征在于,还包括测试向量生成器、测试控制器;
测试向量生成器用于自动生成测试向量,并将测试向量发送给测试控制器;
测试控制器用于接收测试向量,将测试向量发送到原型机并启动原型机执行,在原型机处理结束后从原型机读取测试结果。
2.如权利要求1所述的测试系统,其特征在于,所述测试控制器还用于判断是否退出原型机测试,如果是,则退出测试,否则,继续执行测试。
3.如权利要求1或2所述的测试系统,其特征在于,所述测试系统还包括结果生成器和结果验证器;
所述测试向量生成器还用于将测试向量发送给结果生成器;
结果生成器用于接收测试向量,并根据测试向量自动生成验证结果,并将验证结果发送给结果验证器;
所述测试控制器还用于将所述测试结果发送给结果验证器;结果验证器用于接收验证结果和测试结果,验证测试结果是否与验证结果相同。
4.如权利要求3所述的测试系统,其特征在于,所述原型机由微处理器或/和 可编程逻辑器件设备实现,所述测试控制器由微处理 或/和可编程逻辑器件设备实现,所述测试向量生成器由个人计算机、工作站或可编程计算系统实现。
5.一种原型机测试方法,其特征在于,包括如下步骤:
A,由计算设备自动生成测试向量;
B,启动原型机对测试向量进行处理,并在处理结束后从原型机读取测试结果;
C,判断是否继续测试,如果是,重复执行从步骤A开始的测试,否则,退出测试。
6.如权利要求5所述的原型机测试方法,其特征在于,测试开始前预先设定一最小测试次数,步骤C中根据已执行的测试次数和最小测试次数的比较结果来判断是否继续测试,当测试次数大于或者等于该预定值时,则退出测试,否则,继续测试。
7.如权利要求5或6所述的原型机测试方法,其特征在于,在步骤A中测试向量生成后,还包括如下步骤:
以测试向量为参数调用原型机对应的模型库函数,获得模型库函数的执行结果;
在步骤B中从原型机读取测试结果后,还包括如下步骤:
判断原型机的测试结果和模型库函数的执行结果是否相同。
8.如权利要求7所述的原型机测试方法,其特征在于,步骤C中还根据所述测试结果和所述执行结果的比较结果判断是否退出测试,如果比较结果不同,则退出测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610169576 CN1987877A (zh) | 2006-12-22 | 2006-12-22 | 一种原型机的测试系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610169576 CN1987877A (zh) | 2006-12-22 | 2006-12-22 | 一种原型机的测试系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1987877A true CN1987877A (zh) | 2007-06-27 |
Family
ID=38184671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610169576 Pending CN1987877A (zh) | 2006-12-22 | 2006-12-22 | 一种原型机的测试系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1987877A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236729A (zh) * | 2010-04-29 | 2011-11-09 | 无锡中星微电子有限公司 | 一种测试功能覆盖的方法及装置 |
CN102957486A (zh) * | 2011-08-22 | 2013-03-06 | 北京佳讯飞鸿电气股份有限公司 | 一种测试dsp信号收发性能的方法 |
CN104516814A (zh) * | 2013-09-29 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种终端软件的自动化测试方法和装置 |
CN104678292A (zh) * | 2015-03-09 | 2015-06-03 | 杭州华三通信技术有限公司 | 一种复杂可编程逻辑器件cpld测试方法和装置 |
CN107506307A (zh) * | 2017-09-29 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种存储产品测试中的dmi刷新方法及系统 |
US10445070B2 (en) | 2016-05-05 | 2019-10-15 | International Business Machines Corporation | ASCII based instant prototype generation |
CN113688055A (zh) * | 2021-09-07 | 2021-11-23 | 天津津航计算技术研究所 | 一种基于dss的单一dsp设备测试装置 |
-
2006
- 2006-12-22 CN CN 200610169576 patent/CN1987877A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236729A (zh) * | 2010-04-29 | 2011-11-09 | 无锡中星微电子有限公司 | 一种测试功能覆盖的方法及装置 |
CN102236729B (zh) * | 2010-04-29 | 2016-06-22 | 无锡中感微电子股份有限公司 | 一种测试功能覆盖的方法及装置 |
CN102957486A (zh) * | 2011-08-22 | 2013-03-06 | 北京佳讯飞鸿电气股份有限公司 | 一种测试dsp信号收发性能的方法 |
CN102957486B (zh) * | 2011-08-22 | 2015-05-06 | 北京佳讯飞鸿电气股份有限公司 | 一种测试dsp信号收发性能的方法 |
CN104516814A (zh) * | 2013-09-29 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种终端软件的自动化测试方法和装置 |
CN104678292A (zh) * | 2015-03-09 | 2015-06-03 | 杭州华三通信技术有限公司 | 一种复杂可编程逻辑器件cpld测试方法和装置 |
CN104678292B (zh) * | 2015-03-09 | 2018-10-09 | 新华三技术有限公司 | 一种复杂可编程逻辑器件cpld测试方法和装置 |
US10445070B2 (en) | 2016-05-05 | 2019-10-15 | International Business Machines Corporation | ASCII based instant prototype generation |
CN107506307A (zh) * | 2017-09-29 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种存储产品测试中的dmi刷新方法及系统 |
CN113688055A (zh) * | 2021-09-07 | 2021-11-23 | 天津津航计算技术研究所 | 一种基于dss的单一dsp设备测试装置 |
CN113688055B (zh) * | 2021-09-07 | 2023-08-22 | 天津津航计算技术研究所 | 一种基于dss的单一dsp设备测试装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1987877A (zh) | 一种原型机的测试系统和方法 | |
CN101504692B (zh) | 一种验证和测试片上系统的系统及方法 | |
CN110865971B (zh) | Soc芯片的验证系统及其方法 | |
Mikucionis et al. | T-uppaal: Online model-based testing of real-time systems | |
US20060052994A1 (en) | Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit | |
CN108038283B (zh) | 一种虚拟时钟同步的高效高覆盖率SoC验证平台 | |
JPS6063644A (ja) | デイジタル装置の動作のモデリング方法及び装置 | |
CN105205249A (zh) | 一种soc调试验证系统及其软硬件协同方法 | |
CN104899076A (zh) | 一种超大规模集成电路门级网表仿真的加速方法 | |
CN102201022A (zh) | 用于fpga验证的方法和装置 | |
KR20040007463A (ko) | 로직 시뮬레이션을 이용하지 않는 복잡한 ic의 설계검증을 위한 방법 및 장치 | |
US8140315B2 (en) | Test bench, method, and computer program product for performing a test case on an integrated circuit | |
CN114912397A (zh) | 可编程逻辑器件、原型验证系统、方法、设备及存储介质 | |
CN105446859B (zh) | 功耗分析的软件条件监测及波形文件自动生成方法 | |
CN110471394B (zh) | 任务测试方法及装置、系统、存储介质和处理器 | |
CN102565683A (zh) | 一种测试向量的生成与验证方法 | |
CN107704351B (zh) | 一种芯片的验证方法和装置 | |
CN103020396A (zh) | 一种自动生成断言的方法及装置 | |
CN109783837A (zh) | 仿真设备、仿真系统、仿真方法和仿真程序 | |
CN111221692B (zh) | 一种Nor Flash的数模混合验证方法及装置 | |
Gao et al. | Software and hardware co-verification technology based on virtual prototyping of RF SOC | |
US7716036B2 (en) | Method and apparatus to use clock bursting to minimize command latency in a logic simulation hardware emulator / accelerator | |
JP2001060210A (ja) | Lsi検証方法、lsi検証装置および記録媒体 | |
CN115562931A (zh) | 处理器调试模块验证方法、装置、电子设备和存储介质 | |
CN110991129B (zh) | 一种基于fpga的密码协处理器全自动仿真验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |