WO2016106605A1 - 一种fpga功能模块仿真验证方法及其系统 - Google Patents

一种fpga功能模块仿真验证方法及其系统 Download PDF

Info

Publication number
WO2016106605A1
WO2016106605A1 PCT/CN2014/095667 CN2014095667W WO2016106605A1 WO 2016106605 A1 WO2016106605 A1 WO 2016106605A1 CN 2014095667 W CN2014095667 W CN 2014095667W WO 2016106605 A1 WO2016106605 A1 WO 2016106605A1
Authority
WO
WIPO (PCT)
Prior art keywords
function module
test
tested
fpga
simulation
Prior art date
Application number
PCT/CN2014/095667
Other languages
English (en)
French (fr)
Inventor
王元鹏
樊平
耿嘉
Original Assignee
京微雅格(北京)科技有限公司
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 京微雅格(北京)科技有限公司 filed Critical 京微雅格(北京)科技有限公司
Priority to US14/758,379 priority Critical patent/US20160320451A1/en
Priority to CN201480013747.9A priority patent/CN106133537B/zh
Priority to PCT/CN2014/095667 priority patent/WO2016106605A1/zh
Publication of WO2016106605A1 publication Critical patent/WO2016106605A1/zh

Links

Images

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
    • G01R31/317Testing of digital circuits
    • G01R31/31704Design for test; Design verification
    • 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
    • G01R31/317Testing of digital circuits
    • G01R31/31703Comparison aspects, e.g. signature analysis, comparators
    • 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
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • 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
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318364Generation of test inputs, e.g. test vectors, patterns or sequences as a result of hardware simulation, e.g. in an HDL environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/343Logical level
    • 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
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • 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
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Definitions

  • the invention relates to an FPGA verification technology, in particular to an FPGA function module simulation method and a system thereof.
  • FPGA verification is the process of verifying the correctness of the design through simulation, timing analysis, and on-board debugging.
  • the consistency verification of specific modules becomes more important.
  • Behavioral simulation as a common method of consistency verification the key is how to improve test coverage.
  • the object of the present invention is to provide a simulation verification system for improving test coverage, thereby solving the technical problem of low coverage in behavior simulation.
  • the present invention provides an FPGA function module simulation verification method, which comprises: generating all test cases by enumerating all parameter characteristics of each FPGA function module; and according to the input FPGA function to be tested The module type and parameter characteristics are generated to generate a simulation test platform that matches the configuration of the corresponding function module of the FPGA to be tested; the simulation test platform randomly generates a test stimulus and a corresponding expected output according to the input parameter characteristics of the FPGA function module to be tested, and the desired output and the test stimulus are generated. The actual output after the test case corresponding to the FPGA function module to be tested is compared, and the test report of the FPGA function module to be tested is output according to the comparison result.
  • the method further includes: determining whether the FPGA function module to be tested is an upgrade based on the existing function module, if Yes, the test stimulus is first applied to the first value after the FPGA function module to be tested and the second value after the existing function module is applied. Comparing, if the first value and the second value are different, the simulation reports an error; if the first value and the second value are the same, the first value is compared with the expected output, and if different, the simulation reports an error, if the same Then the simulation passes.
  • the present invention provides an FPGA function module simulation verification system, the system comprising: a verification platform control center, and the verification platform control center is configured to generate all test cases by enumerating all parameter features of each FPGA function module; According to the input type and parameter characteristics of the FPGA function module to be tested, a simulation test platform matching the configuration of the FPGA function module to be tested is generated; the simulation test platform randomly generates test excitation and corresponding expectation according to the input parameter characteristics of the FPGA function module to be tested. The output compares the expected output and the test stimulus to the actual output of the test case corresponding to the FPGA function module to be tested, and outputs a test report of the FPGA function module to be tested according to the comparison result.
  • the verification platform control center includes a test case generator and a test platform generator, and the test case generator is used to generate all the test cases by enumerating all the parameter features of each FPGA function module; the test platform generator is configured to be based on the input The type and parameter characteristics of the FPGA function module are measured to generate a simulation test platform that matches the configuration of the FPGA function module to be tested.
  • the simulation test platform comprises a random excitation generator and a comparator
  • the random excitation generator is configured to randomly generate the test excitation and the corresponding expected output according to the input parameter characteristics of the FPGA function module to be tested
  • the comparator is used for the desired output and the test excitation The actual output after the test case corresponding to the FPGA function module to be tested is compared, and the test report of the FPGA function module to be tested is output according to the comparison result.
  • the simulation test platform comprises a random excitation generator and a double comparator, and the random excitation generator is configured to randomly generate the test excitation and the corresponding expected output according to the input parameter characteristics of the FPGA function module to be tested; the dual comparator is used to determine the FPGA to be tested.
  • the function module is an upgrade based on the existing function module, if yes, first applying the test stimulus to the first value after the FPGA function module to be tested and the second value after applying the existing function module Comparing, if the first value and the second value are different, the simulation reports an error; if the first value and the second value are the same, the first The value is compared to the expected output, and if different, the simulation reports an error, and if the same, the simulation passes.
  • the invention acquires all test cases based on all parameter characteristic information of the FPGA function module, thereby establishing a simulation verification system with a test coverage of 100%.
  • FIG. 1 is a flowchart of a method for verifying and verifying an FPGA function module according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a process for generating an FPGA module test case
  • FIG. 3 is a schematic diagram of a process of generating an FPGA module simulation test platform
  • Figure 4a is a schematic diagram of a simulation verification process of the FPGA module
  • Figure 4b is a schematic diagram of another simulation verification process of the FPGA module
  • FIG. 5 is a structural diagram of an FPGA function module simulation verification system according to an embodiment of the present invention.
  • FIG. 1 is a flowchart of a method for verifying and verifying an FPGA function module according to an embodiment of the present invention. As shown in Figure 1, the method includes steps 101-103:
  • step 101 all test cases are generated by enumerating all of the parameter characteristics of each FPGA function module.
  • the simulation verification system generates all test cases by enumerating all the parameter features of the module for different FPGA functional modules, such as a phase locked loop module, a digital processor module, a configurable logic block, and a memory module (eg, Figure 2).
  • FPGA functional modules such as a phase locked loop module, a digital processor module, a configurable logic block, and a memory module (eg, Figure 2).
  • step 102 according to the input type of the FPGA functional module to be tested and the parameter characteristics, a simulation test platform matching the configuration of the corresponding functional module to be tested is generated;
  • the simulation verification system generates a simulation test platform (shown in FIG. 3) that matches the configuration of the corresponding FPGA function module according to the input FPGA function module type and parameter characteristics.
  • step 103 the simulation test platform randomly generates the test excitation and the corresponding expected output according to the input parameter characteristics of the FPGA function module to be tested, and applies the expected output and the test excitation to the actual output after the test case corresponding to the FPGA function module to be tested. Comparing, the test message of the FPGA function module to be tested is output according to the comparison result.
  • the simulation verification platform randomly generates the test excitation and the corresponding expected output according to the input parameter characteristics, and applies the generated test excitation to the test case corresponding to the FPGA function module to be tested (ie, the function module to be tested), and outputs the same.
  • the result is compared with the expected output, and the test report of the FPGA function module to be tested is output according to the comparison result (as shown in FIG. 4a).
  • the simulation verification platform determines whether the FPGA function module to be tested is an upgrade based on the existing function module before comparing the expected output with the actual output of the test excitation module after the FPGA function module is tested.
  • the first value after the test stimulus is applied to the FPGA function module to be tested is compared with the second value applied to the existing function module. If the first value and the second value are different, the simulation reports an error; The first value and the second value are the same, and the first value is compared with the expected output. If different, the simulation reports an error, and if they are the same, the simulation passes.
  • the comparison module instance is in the FPGA function module design process, if the new function module is upgraded based on the existing function module, the existing function will be introduced during the test of the new function module. Module as a comparison module instance
  • the FPGA function module to be tested is an embedded 9K memory module of a new generation device, which is a relatively complex embedded memory module and includes the following parameter features:
  • memory mode single port (sp), simple dual port (sdp), dual port (tdp);
  • write mode write first (write_first), read first (read_first), read hold (no_change);
  • the output register is set and reset.
  • the output latch is set and reset.
  • Read data bit width 1, 2, 4, 9, 18, 36;
  • write output (write_first), read first (read_first), read hold (no_change) corresponds to the expected output in the test platform:
  • the simulation verification system automatically executes all tests and captures the message output for each test process. After all tests are completed, a unified test report is output.
  • the embodiment of the invention acquires all test cases based on all parameter feature information of the FPGA function module, thereby establishing a simulation verification system with a test coverage of 100%.
  • FIG. 5 is a structural diagram of an FPGA function module simulation verification system according to an embodiment of the present invention.
  • the system includes a verification platform control center 50 and a simulation test platform 60, wherein the verification platform control center 50 includes a test case generator 51 and a test platform generator 52; the simulation test platform 60 includes a random excitation generator 61 and Comparator 62.
  • the test case generator 51 is used to generate all test cases by enumerating all the parameter characteristics of each FPGA function module.
  • the test platform generator 52 is configured to generate a simulation test platform that matches the configuration of the FPGA function module to be tested according to the type and parameter characteristics of the input FPGA function module to be tested.
  • the random excitation generator 61 is configured to randomly generate the test excitation and the corresponding expected output according to the input parameter characteristics of the FPGA function module to be tested.
  • the comparator 62 is configured to compare the expected output and the test excitation to the actual output after the test case corresponding to the FPGA function module to be tested, and output a test report of the FPGA function module to be tested according to the comparison result.
  • the comparator 62 is configured as a dual comparator for determining whether the FPGA function module to be tested is an upgrade based on an existing function module, and if so, first applying a test stimulus to the FPGA function module to be tested. The first value is compared with a second value applied to the existing function module, and if the first value and the second value are different, the simulation reports an error; if the first value and the second value are the same, the first value is The value is compared to the expected output, and if different, the simulation reports an error, and if the same, the simulation passes.
  • the embodiment of the invention acquires all test cases based on all parameter feature information of the FPGA function module, thereby establishing a simulation verification system with a test coverage of 100%.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

一种FPGA功能模块仿真验证方法及其系统,该方法包括:通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例(101);根据输入的待测FPGA功能模块类型和参数特征,产生匹配相应待测FPGA功能模块配置的仿真测试平台(102);仿真测试平台根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出,将期望输出与测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告(103)。基于FPGA功能模块的全部参数特征信息获取全部的测试用例,大大提升了测试覆盖率。

Description

一种FPGA功能模块仿真验证方法及其系统 技术领域
本发明涉及FPGA验证技术,尤其涉及一种FPGA功能模块仿真方法及其系统。
背景技术
FPGA验证就是通过仿真,时序分析、上板调试等手段检验设计正确性的过程。在FPGA芯片的设计过程中,为了保证特定功能模块在整个设计过程中的一致性,对特定模块的一致性验证变得尤为重要。行为仿真作为一致性验证的一种常用方法,其关键在于如何提升测试覆盖率。
发明内容
本发明的目的在于,提供一种提升测试覆盖率的仿真验证系统,从而解决行为仿真中存在的覆盖率低的技术问题。
为实现上述目的,一方面,本发明提供了一种FPGA功能模块仿真验证方法,该方法包括:通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例;根据输入的待测FPGA功能模块类型和参数特征,产生匹配相应待测FPGA功能模块配置的仿真测试平台;仿真测试平台根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出,将期望输出和测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告。
优选地,在将期望输出与测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较步骤之前还包括:判断待测FPGA功能模块是否为已有功能模块基础上的升级,如果是,则先将测试激励施加在所述待测FPGA功能模块后的第一值与施加在所述已有功能模块后的第二值进行 比较,如果第一值和第二值不同,则仿真报错;如果第一值和第二值相同,再将所述第一值与所述期望输出进行比较,如果不同,则仿真报错,如果相同,则仿真通过。
另一方面,本发明提供了一种FPGA功能模块仿真验证系统,该系统包括:验证平台控制中心,验证平台控制中心用于通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例;并根据输入的待测FPGA功能模块的类型和参数特征,产生匹配待测FPGA功能模块配置的仿真测试平台;仿真测试平台根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出,将期望输出和测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告。
优选地,验证平台控制中心包括测试用例生成器和测试平台生成器,测试用例生成器用于通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例;测试平台生成器用于根据输入的待测FPGA功能模块的类型和参数特征,产生匹配待测FPGA功能模块配置的仿真测试平台。
优选地,仿真测试平台包括随机激励发生器和比较器,随机激励发生器用于根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出;比较器用于将期望输出和测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告。
优选地,仿真测试平台包括随机激励发生器和双重比较器,随机激励发生器用于根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出;双重比较器用于判断待测FPGA功能模块是否为已有功能模块基础上的升级,如果是,则先将测试激励施加在所述待测FPGA功能模块后的第一值与施加在所述已有功能模块后的第二值进行比较,如果第一值和第二值不同,则仿真报错;如果第一值和第二值相同,再将所述第一 值与所述期望输出进行比较,如果不同,则仿真报错,如果相同,则仿真通过。
本发明基于FPGA功能模块的全部参数特征信息获取全部的测试用例,从而建立一套测试覆盖率达到100%的仿真验证系统。
附图说明
图1为本发明实施例提供的一种FPGA功能模块仿真验证方法流程图;
图2为FPGA模块测试用例生成过程示意图;
图3为FPGA模块仿真测试平台生成过程示意图;
图4a为FPGA模块一种仿真验证过程示意图;
图4b为FPGA模块另一种仿真验证过程示意图;
图5为本发明实施例提供的一种FPGA功能模块仿真验证系统结构图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的一种FPGA功能模块仿真验证方法流程图。如图1所示,该方法包括步骤101-103:
在步骤101,通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例。
具体地,仿真验证系统针对不同的FPGA功能模块,例如锁相环模块、数字处理器模块、可配置逻辑块和存储器模块等,通过枚举该模块所有的参数特征,产生所有的测试用例(如图2所示)。
在步骤102,根据输入的待测FPGA功能模块类型和参数特征,产生匹配相应待测FPGA功能模块配置的仿真测试平台;
具体地,仿真验证系统根据输入FPGA功能模块类型和参数特征,产生匹配相应待测FPGA功能模块配置的仿真测试平台(如图3所示)。
在步骤103,仿真测试平台根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出,将期望输出和测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试消息。
具体地,仿真验证平台根据输入的参数特征,随机生成测试激励和相应的期望输出,将生成的测试激励施加在待测FPGA功能模块对应的测试用例(即待测功能模块实例),将其输出结果与期望输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告(如图4a所示)。
优选地,仿真验证平台在将期望输出与测试激励施加在待测FPGA功能模块实例后的实际输出进行比较步骤之前,还判断待测FPGA功能模块是否为已有功能模块基础上的升级,如果是,则先将测试激励施加在所述待测FPGA功能模块后的第一值与施加在已有功能模块后的第二值进行比较,如果第一值和第二值不同,则仿真报错;如果第一值和第二值相同,再将第一值与期望输出进行比较,如果不同,则仿真报错,如果相同,则仿真通过。(如图4b所示,其中对照模块实例为在FPGA功能模块设计过程中,如果新功能模块是在已有功能模块基础上的升级,对新功能模块测试的过程中,将引入已有的功能模块作为对照模块实例)
在一例子中,假设待测FPGA功能模块为新一代器件的嵌入式9K存储器模块,其作为比较复杂的嵌入式存储器模块,包含以下参数特征:
1、存储器模式:单端口(sp),简单双端口(sdp),双端口(tdp);
2、写模式:写先(write_first),读先(read_first),读保持(no_change);
3、存储器初始值;
4、输出寄存器;
5、输出寄存器使能;
6、输出寄存器置位、复位;
7、输出锁存置位、复位;
8、输出寄存器初值;
9、输出寄存器复位值;
10、按位写使能,1-4;
11、片选信号;
12、读数据位宽:1,2,4,9,18,36;
13、写数据位宽:1,2,4,9,18,36;
14、读写位宽组合;
15、地址深度:8,9,10,11,12,13;
不计算3,4,对上述的所有参数特征进行组合,最终得到15552种组合,即对嵌入式9K存储器模块进行全覆盖的行为仿真,需要15552个测试用例和相应的测试平台。
出于自动化测试需求,1中所有的参数特征都以参数的形式在嵌入式9K存储器模块的行为模型中出现。
以写模式为例,写先(write_first),读先(read_first),读保持(no_change)对应的测试平台中的期望输出不同:
1、在写先模式下,对存储器进行写操作时,写入的新数据会即时出现在读端口。此时,期望输出即为写入数据激励。
2、在读先模式下,对存储器进行写操作时,写入的数据不会出现在读端口,读端口的输出为该写地址之前的存储数据。此时,测试平台需要缓存上次的写入数据激励作为期望输出。
3、在保持模式下,对存储器进行写操作时,写入的数据不会出现在读端口,读端口的输出保持上一次的输出不变。此时,测试平台需要缓存上次的读操作的期望输出作为期望输出。
基于上述描述的过程,对嵌入式存储器模块的所有参数特征进行处理,从而生成完全测试覆盖的测试用例和测试平台。
所有测试用例生成完成后,仿真验证系统自动执行所有测试并捕获每个测试过程的消息输出,所有测试完成后输出统一的测试报告。
本发明实施例基于FPGA功能模块的全部参数特征信息获取全部的测试用例,从而建立一套测试覆盖率达到100%的仿真验证系统。
图5为本发明实施例提供的一种FPGA功能模块仿真验证系统结构图。如图5所示,该系统包括验证平台控制中心50和仿真测试平台60,其中验证平台控制中心50包括测试用例生成器51和测试平台生成器52;仿真测试平台60包括随机激励发生器61和比较器62。
测试用例生成器51用于通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例。
测试平台生成器52用于根据输入的待测FPGA功能模块的类型和参数特征,产生匹配待测FPGA功能模块配置的仿真测试平台。
随机激励发生器61用于根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出。
比较器62用于将期望输出和测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告。
进一步地,比较器62设置为双重比较器,用于判断待测FPGA功能模块是否为已有功能模块基础上的升级,如果是,则先将测试激励施加在所述待测FPGA功能模块后的第一值与施加在所述已有功能模块后的第二值进行比较,如果第一值和第二值不同,则仿真报错;如果第一值和第二值相同,再将所述第一值与所述期望输出进行比较,如果不同,则仿真报错,如果相同,则仿真通过。
本发明实施例基于FPGA功能模块的全部参数特征信息获取全部的测试用例,从而建立一套测试覆盖率达到100%的仿真验证系统。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的 各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

  1. 一种FPGA功能模块仿真验证方法,其特征在于,
    通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例;
    根据输入的待测FPGA功能模块类型和参数特征,产生匹配相应待测FPGA功能模块配置的仿真测试平台;
    所述仿真测试平台根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出,将所述期望输出与所述测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告。
  2. 根据权利要求1所述的方法,其特征在于,所述在将所述期望输出与所述测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较步骤之前还包括:
    判断待测FPGA功能模块是否为已有功能模块基础上的升级,如果是,则先将测试激励施加在所述待测FPGA功能模块后的第一值与施加在所述已有功能模块后的第二值进行比较,如果第一值和第二值不同,则仿真报错;如果第一值和第二值相同,再将所述第一值与所述期望输出进行比较,如果不同,则仿真报错,如果相同,则仿真通过。
  3. 一种FPGA功能模块仿真验证系统,其特征在于,包括:验证平台控制中心,所述验证平台控制中心用于通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例;并根据输入的待测FPGA功能模块的类型和参数特征,产生匹配待测FPGA功能模块配置的仿真测试平台;所述仿真测试平台根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出,将所述期望输出与所述测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告。
  4. 根据权利要求3所述的系统,其特征在于,所述验证平台控制中心 包括测试用例生成器和测试平台生成器,
    所述测试用例生成器,用于通过枚举各个FPGA功能模块全部的参数特征,产生全部的测试用例;
    所述测试平台生成器,用于根据输入的待测FPGA功能模块的类型和参数特征,产生匹配待测FPGA功能模块配置的仿真测试平台。
  5. 根据权利要求3所述的系统,其特征在于,所述仿真测试平台包括随机激励发生器和比较器,
    所述随机激励发生器,用于根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出;
    比较器,用于将所述期望输出和所述测试激励施加在待测FPGA功能模块对应的测试用例后的实际输出进行比较,根据比较结果输出待测FPGA功能模块的测试报告。
  6. 根据权利要求3所述的系统,其特征在于,所述仿真测试平台包括随机激励发生器和双重比较器,
    所述随机激励发生器,用于根据输入的待测FPGA功能模块参数特征,随机生成测试激励和相应的期望输出;
    所述双重比较器,用于判断待测FPGA功能模块是否为已有功能模块基础上的升级,如果是,则先将测试激励施加在所述待测FPGA功能模块后的第一值与施加在所述已有功能模块后的第二值进行比较,如果第一值和第二值不同,则仿真报错;如果第一值和第二值相同,再将所述第一值与所述期望输出进行比较,如果不同,则仿真报错,如果相同,则仿真通过。
PCT/CN2014/095667 2014-12-30 2014-12-30 一种fpga功能模块仿真验证方法及其系统 WO2016106605A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/758,379 US20160320451A1 (en) 2014-12-30 2014-12-30 Simulation verification method for fpga function modules and system thereof
CN201480013747.9A CN106133537B (zh) 2014-12-30 2014-12-30 一种fpga功能模块仿真验证方法及其系统
PCT/CN2014/095667 WO2016106605A1 (zh) 2014-12-30 2014-12-30 一种fpga功能模块仿真验证方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/095667 WO2016106605A1 (zh) 2014-12-30 2014-12-30 一种fpga功能模块仿真验证方法及其系统

Publications (1)

Publication Number Publication Date
WO2016106605A1 true WO2016106605A1 (zh) 2016-07-07

Family

ID=56283880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/095667 WO2016106605A1 (zh) 2014-12-30 2014-12-30 一种fpga功能模块仿真验证方法及其系统

Country Status (3)

Country Link
US (1) US20160320451A1 (zh)
CN (1) CN106133537B (zh)
WO (1) WO2016106605A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110675014A (zh) * 2019-07-24 2020-01-10 中国电子科技集团公司电子科学研究院 国产电子器件替代验证项目确定方法及设备
CN111639470A (zh) * 2020-05-28 2020-09-08 山东云海国创云计算装备产业创新中心有限公司 一种处理器协同芯片的仿真测试方法、系统及相关组件
CN112486835A (zh) * 2020-12-11 2021-03-12 南京艾科朗克信息科技有限公司 应用于证券期货柜台的验证平台和方法
CN113704044A (zh) * 2021-07-19 2021-11-26 新华三半导体技术有限公司 一种接口验证系统、方法及芯片
CN114036720A (zh) * 2021-10-13 2022-02-11 北京市应急管理科学技术研究院 用于应急仿真演练的多端输出配置方法、系统及存储介质
CN116305722A (zh) * 2022-09-09 2023-06-23 广州汽车集团股份有限公司 电机性能验证方法、装置以及电子设备

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106841974B (zh) * 2016-12-13 2019-11-12 深圳市紫光同创电子有限公司 一种fpga测试平台及方法
CN108267683A (zh) * 2017-01-04 2018-07-10 中兴通讯股份有限公司 一种fpga自测的方法及装置
CN110569162B (zh) * 2018-06-06 2020-10-16 大唐移动通信设备有限公司 一种通信领域中fpga的自动测试方法及装置
CN109472061B (zh) * 2018-10-17 2022-10-14 北京广利核系统工程有限公司 一种可重用的仿真验证平台及仿真验证方法
EP3647801A1 (de) * 2018-10-30 2020-05-06 dSPACE digital signal processing and control engineering GmbH Verfahren zur überprüfung eines fpga-programms
CN109596976B (zh) * 2018-12-11 2021-08-27 上海精密计量测试研究所 Fpga内部dsp模块的测试方法
CN110967618A (zh) * 2019-03-21 2020-04-07 宁德时代新能源科技股份有限公司 电路参数的检测方法及检测装置
CN110688821B (zh) * 2019-09-27 2023-10-13 北京中电华大电子设计有限责任公司 一种复杂算法的测试激励生成器及其控制方法
CN110932726A (zh) * 2019-11-21 2020-03-27 江苏旭微科技有限公司 一种模数转换器验证方法
CN111123083B (zh) * 2019-12-06 2022-04-29 国家电网有限公司 一种针对fpga pll ip核的测试系统及方法
CN111859832B (zh) * 2020-07-16 2022-07-08 山东云海国创云计算装备产业创新中心有限公司 一种芯片仿真验证方法、装置及相关设备
CN113110370B (zh) * 2021-03-10 2021-11-19 北京天能继保电力科技有限公司 一种测试系统和方法
CN113312879B (zh) * 2021-07-28 2021-11-09 北京燧原智能科技有限公司 芯片电路功能验证系统、方法、设备及存储介质
CN113766216A (zh) * 2021-09-08 2021-12-07 北京爱芯科技有限公司 一种视频模块的验证方法及验证系统
CN113760774B (zh) * 2021-09-28 2023-10-27 中汽创智科技有限公司 一种ota仿真测试方法、平台及系统
CN114860519B (zh) * 2022-04-08 2022-12-23 中国人民解放军国防科技大学 一种面向大规模asic芯片的多芯片联合验证方法及装置
CN115422865B (zh) * 2022-10-28 2023-01-10 飞腾信息技术有限公司 仿真方法及装置、计算设备、计算机可读存储介质
CN116136950B (zh) * 2023-04-14 2023-06-30 北京燧原智能科技有限公司 芯片验证方法、装置、系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848092A (zh) * 2005-04-14 2006-10-18 华为技术有限公司 测试装置及方法
CN101153892A (zh) * 2007-10-12 2008-04-02 成都华微电子系统有限公司 现场可编程门阵列输入输出模块验证方法
US20110185332A1 (en) * 2010-01-28 2011-07-28 International Business Machines Corporation Model based simulation and optimization methodology for design checking
CN102375778A (zh) * 2010-08-17 2012-03-14 中兴通讯股份有限公司 实现数字信号处理器自动测试的方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225416B1 (en) * 2004-06-15 2007-05-29 Altera Corporation Methods and apparatus for automatic test component generation and inclusion into simulation testbench
CN101739334A (zh) * 2008-11-21 2010-06-16 上海科梁信息工程有限公司 嵌入式软件自动化测试方法
CN102650966B (zh) * 2011-02-24 2016-01-27 王轶辰 一种面向复用的嵌入式软件测试方法及其测试系统
CN102789227A (zh) * 2012-08-02 2012-11-21 北京京航计算通讯研究所 基于覆盖率统计的可编程逻辑器件仿真测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848092A (zh) * 2005-04-14 2006-10-18 华为技术有限公司 测试装置及方法
CN101153892A (zh) * 2007-10-12 2008-04-02 成都华微电子系统有限公司 现场可编程门阵列输入输出模块验证方法
US20110185332A1 (en) * 2010-01-28 2011-07-28 International Business Machines Corporation Model based simulation and optimization methodology for design checking
CN102375778A (zh) * 2010-08-17 2012-03-14 中兴通讯股份有限公司 实现数字信号处理器自动测试的方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110675014A (zh) * 2019-07-24 2020-01-10 中国电子科技集团公司电子科学研究院 国产电子器件替代验证项目确定方法及设备
CN111639470A (zh) * 2020-05-28 2020-09-08 山东云海国创云计算装备产业创新中心有限公司 一种处理器协同芯片的仿真测试方法、系统及相关组件
CN111639470B (zh) * 2020-05-28 2022-06-17 山东云海国创云计算装备产业创新中心有限公司 一种处理器协同芯片的仿真测试方法、系统及相关组件
CN112486835A (zh) * 2020-12-11 2021-03-12 南京艾科朗克信息科技有限公司 应用于证券期货柜台的验证平台和方法
CN112486835B (zh) * 2020-12-11 2024-05-03 南京艾科朗克信息科技有限公司 应用于证券期货柜台的验证平台和方法
CN113704044A (zh) * 2021-07-19 2021-11-26 新华三半导体技术有限公司 一种接口验证系统、方法及芯片
CN113704044B (zh) * 2021-07-19 2024-05-24 新华三半导体技术有限公司 一种接口验证系统、方法及芯片
CN114036720A (zh) * 2021-10-13 2022-02-11 北京市应急管理科学技术研究院 用于应急仿真演练的多端输出配置方法、系统及存储介质
CN114036720B (zh) * 2021-10-13 2022-08-30 北京市应急管理科学技术研究院 用于应急仿真演练的多端输出配置方法、系统及存储介质
CN116305722A (zh) * 2022-09-09 2023-06-23 广州汽车集团股份有限公司 电机性能验证方法、装置以及电子设备

Also Published As

Publication number Publication date
US20160320451A1 (en) 2016-11-03
CN106133537A (zh) 2016-11-16
CN106133537B (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
WO2016106605A1 (zh) 一种fpga功能模块仿真验证方法及其系统
WO2016197768A1 (zh) 芯片验证方法、装置及系统
CN104407951A (zh) 一种自动化进行服务器整机测试的方法
US8875077B1 (en) Fault sensitivity analysis-based cell-aware automated test pattern generation flow
JP2010140487A (ja) データ処理システムにおけるトラフィックフローの統計的表示の使用
US8271252B2 (en) Automatic verification of device models
CN114662427B (zh) 一种逻辑系统设计的调试方法及设备
CN105183641B (zh) 一种内核模块的数据一致性校验方法及系统
US10592623B2 (en) Assertion statement check and debug
US10241888B2 (en) Method to verify correctness of computer system software and hardware components and corresponding test environment
JP2011248597A (ja) テスタシミュレーション装置、テスタシミュレーションプログラムおよびテスタシミュレーション方法
US20230055523A1 (en) Method, apparatus, and storage medium for generating test cases
CN106971757A (zh) 一种检验Nand Flash质量的方法及系统
JP2016164577A (ja) 高速フェイルメモリデータ取得装置およびその方法
KR20140109531A (ko) 반도체 테스트 장치 및 반도체 테스트 방법
US20100299129A1 (en) Mapping Between Stress-Test Systems and Real World Systems
US7962796B2 (en) State testing device and methods thereof
US10060976B1 (en) Method and apparatus for automatic diagnosis of mis-compares
TW200532228A (en) Chip-level design under test verification environment and method thereof
US9477800B1 (en) System, method, and computer program product for automatically selecting a constraint solver algorithm in a design verification environment
Bhasin et al. Software Architecture Based Regression Testing
US20090037165A1 (en) Method and Apparatus for Processing Transactions in a Simulation Environment
JP2012033091A (ja) 半導体回路およびそのテスト方法
US8930759B2 (en) Stream generation
JP2011034517A (ja) 等価性検証装置、そのデータ処理方法、およびプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14758379

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14909415

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 05/09/2017)

122 Ep: pct application non-entry in european phase

Ref document number: 14909415

Country of ref document: EP

Kind code of ref document: A1