CN112597009B - FPGA embedded PCIExpress IP core mass production test optimization method based on coverage rate sequencing - Google Patents

FPGA embedded PCIExpress IP core mass production test optimization method based on coverage rate sequencing Download PDF

Info

Publication number
CN112597009B
CN112597009B CN202011480339.8A CN202011480339A CN112597009B CN 112597009 B CN112597009 B CN 112597009B CN 202011480339 A CN202011480339 A CN 202011480339A CN 112597009 B CN112597009 B CN 112597009B
Authority
CN
China
Prior art keywords
test
vector
coverage rate
test vector
sequence
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.)
Active
Application number
CN202011480339.8A
Other languages
Chinese (zh)
Other versions
CN112597009A (en
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.)
Beijing Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
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 Beijing Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN202011480339.8A priority Critical patent/CN112597009B/en
Publication of CN112597009A publication Critical patent/CN112597009A/en
Application granted granted Critical
Publication of CN112597009B publication Critical patent/CN112597009B/en
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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

The invention relates to a method for optimizing mass production test of an FPGA embedded PCI Express IP core based on coverage rate sequencing, which comprises the following specific steps: step 1: generating a test vector set required by the FPGA embedded PCI Express IP core test; step 2: using a test vector node coverage rate statistical algorithm to calculate node coverage rate of each test vector in the test vector set; step 3: step 2, obtaining a single test vector with highest node coverage rate in the test vector set; step 4: and (3) using a test vector set ordering algorithm to order and optimize the original test vector set based on the single test vector obtained in the step (3) so as to finish the optimization of the test vector set. Through the steps, on the premise of not reducing the test coverage rate, the sequencing optimization of the test vector set is completed by adopting the mass production test optimization method based on the coverage rate sequencing, so that the test efficiency of the test vector set can be effectively improved, the configuration test time is shortened, and the configuration test cost is reduced.

Description

FPGA embedded PCI Express IP core mass production test optimization method based on coverage rate sequencing
Technical Field
The invention relates to a method for optimizing mass production test of an embedded PCI Express IP core of an FPGA, belonging to the technical field of integrated circuits.
Background
With the continuous development of field programmable gate arrays (i.e., FPGAs), the variety and number of embedded IP modules in FPGAs are increasing, and more difficulties and challenges are brought to testing FPGAs.
In recent years, in the process of designing and developing the FPGA, the specific gravity of the test cost in the total cost is higher and higher, and the test time for the internal interconnection line resource and the IP core module of the FPGA also occupies most of the total development time. In particular, compared with the interconnection line resources in the FPGA, the embedded IP core of the FPGA has more complex internal structure and design principle, so that the testing difficulty is higher, and the testing time and the testing expense occupy most of the total testing expense of the FPGA.
The PCI Express IP core is embedded in the millions of gate-level FPGA, is integrated on an FPGA device for the first time in 2005, has been an essential IP module of a high-end FPGA after more than ten years of development, and meets the requirements of users on high bandwidth and high data transmission rate. The development of a mature and effective test means for the PCI Express IP core is an important ring of high-performance FPGA chip test engineering.
Because of the high complexity of PCI Express IP cores, hundreds of test vectors are typically required to complete them (coverage rates above 97% are generally considered complete), and thus the total configuration test time required would be on the order of minutes, which means significant test costs for engineering mass production testing, and therefore the reduction in configuration test time would typically be traded for a reduction in the cost of sacrificing some of the test coverage.
Because the test vectors have different contents on the IP core test and different test effects on different test vectors, the test sequence of the test vectors in the test vector set is reasonably arranged, and the test efficiency of the test set can be effectively improved, so that the use quantity of configuration vectors is reduced and the total configuration test time is shortened on the premise of achieving higher test coverage rate.
Disclosure of Invention
The technical problems to be solved by the invention are as follows: the invention provides a method for optimizing mass production test of an FPGA embedded PCI Express IP core based on coverage rate sequencing, which aims to solve the problems of long code stream configuration time and low test efficiency in the FPGA embedded PCI Express IP core test process. The method can effectively reduce the number of test vectors, and shortens the test time of the PCI Express IP core embedded in the FPGA under the condition of ensuring a certain coverage rate.
The technical scheme adopted by the invention is as follows: the FPGA embedded PCI Express IP core mass production test optimization method based on coverage rate sequencing comprises the following specific steps:
step 1: generating a test vector set required by the FPGA embedded PCI Express IP core test;
step 2: using a test vector node coverage rate statistical algorithm to calculate node coverage rate of each test vector in the test vector set;
step 3: step 2, obtaining a single test vector with highest node coverage rate in the test vector set;
step 4: and (3) using a test vector set ordering algorithm to order and optimize the original test vector set based on the single test vector with the highest node coverage rate obtained in the step (3) so as to finish the optimization of the test vector set.
The step of performing node coverage measurement on each test vector in the test vector set by using the test vector node coverage statistical algorithm described in the step 2 is as follows:
step 21: creating a source file sequence comprising all test vector files, and defining an integer n=0, and the total number M of test vectors;
step 22: performing functional simulation on the test vector files in the source file sequence [ N ] and generating a VCD digital format file ([ VCD file);
step 23: creating a coverage rate sequence comprising node coverage rates of all test vector files;
step 24: counting the number of nodes with 0/1 turnover change in a VCD digital format file generated by a source file sequence [ N ], calculating to obtain corresponding node coverage rate, and adding the corresponding node coverage rate to a coverage rate sequence [ N ];
step 25: starting from N=0, sorting the sizes of the coverage rate sequences, wherein the sorting rule is to firstly select two test vectors of N=0 and N=1, compare the coverage rates of the two test vectors, and reserve the test vector after determining the test vector with large coverage rate as a reference vector for comparing the test coverage rate with the next N+1 test vector;
step 26: judging whether N is equal to M; if N is smaller than M, executing n=n+1, selecting the next test vector to compare with the current test coverage rate vector with the test coverage rate, if the coverage rate of the test vector n+1 is larger, using the test vector n+1 as the test vector for comparing with the test coverage rate later, and if the coverage rate of the original test vector is larger, using the original test item as the comparison vector; if N is equal to M, all the test vectors representing the coverage rate sequence [ N ] are compared, and the finally reserved test vector is used as the test vector with the highest test coverage rate;
the step of using the test vector set sorting algorithm to sort and optimize the original test vector set based on the single test vector with the highest node coverage rate obtained in the step 3 and finish the optimization of the test vector set is as follows:
step 41: creating an optimized vector file sequence, and defining an integer T=0;
step 42: adding the single test vector with the highest node coverage rate obtained in the step 3 to an optimized vector file sequence [ T ], deleting the vector file in the source file sequence, and replacing M with an integer M-1;
step 43: combining the total (T+1) vector files in the optimized vector file sequence with M vector files in the source file sequence respectively to form M vector combinations;
step 44: measuring and calculating the total node coverage rate of each vector combination, comparing the coverage rate to obtain a vector combination with the highest coverage rate, updating the vector combination to an optimized vector file sequence, deleting a test vector which is the same as the vector combination in a source file sequence, and replacing M with an integer M-1;
step 45: comparing whether the node coverage rate of the vector combination in the step 44 exceeds a set coverage rate target, if so, completing optimization and outputting an optimized vector file sequence; otherwise, the integer t+1 is substituted for T, step 43 is performed.
Compared with the prior art, the invention has the advantages that:
the invention completes the sorting optimization of the test vector set by adopting the mass production test optimization method based on the coverage rate sorting on the premise of not reducing the test coverage rate, can effectively improve the test efficiency of the test vector set, shortens the configuration test time and reduces the configuration test cost.
Drawings
FIG. 1 is a schematic diagram of the overall flow of transactions of a mass production test optimization method based on coverage rate sequencing;
FIG. 2 is a flow chart of a core algorithm of the invention for simple ordering of test vector sets;
FIG. 3 is a flow chart of a core algorithm for vector set ordering optimization designed based on the principle of "the greater the node dissimilarity tested between two consecutive test vector files, the higher the total test coverage resulting from superposition thereof";
Detailed Description
The invention is described with reference to the accompanying drawings.
According to the principle that the larger the node dissimilarity tested between two continuous test vector files is, the higher the total test coverage rate obtained by superposition is, firstly, a simple arrangement algorithm is used for ordering the test vector files by taking the node coverage rate of the test vectors as an index, and the test vector file with the highest test coverage rate is screened out; then, on the basis of the vector file, calculating node coverage rate of other test vectors in the vector set and the vector after combination in pairs, and determining the test vector combination with the highest coverage rate; on the basis of the vector combination, calculating node coverage rate of other test vectors in the vector set and the vector group after combination in pairs, and determining three test vector combinations with highest coverage rate; and the like, outputting the test vector combination with higher test efficiency until the node coverage rate of the vector group set reaches the expected set target.
The node coverage measurement formula for one or more test vectors is as follows:
as shown in fig. 1 to 3, the method for optimizing the mass production test of the embedded PCI Express IP core of the FPGA based on coverage rate sequencing comprises the following steps:
step 1: generating a test vector set required by the FPGA embedded PCI Express IP core test;
step 2: using a test vector node coverage rate statistical algorithm to calculate node coverage rate of each test vector in the test vector set;
the method comprises the following specific steps:
step 21: creating a source file sequence comprising all test vector files, and defining an integer n=0, and the total number M of test vectors;
step 22: performing functional simulation on the test vector files in the source file sequence [ N ] and generating a VCD digital format file ([ VCD file);
step 23: creating a coverage rate sequence comprising node coverage rates of all test vector files;
step 24: counting the number of nodes with 0/1 turnover change in a VCD digital format file generated by a source file sequence [ N ], calculating to obtain corresponding node coverage rate, and adding the corresponding node coverage rate to a coverage rate sequence [ N ];
step 25: starting from N=0, sorting the sizes of the coverage rate sequences, wherein the sorting rule is to firstly select two test vectors of N=0 and N=1, compare the coverage rates of the two test vectors, and reserve the test vector after determining the test vector with large coverage rate as a reference vector for comparing the test coverage rate with the next N+1 test vector;
step 26: judging whether N is equal to M; if N is smaller than M, executing n=n+1, selecting the next test vector to compare with the current test coverage rate vector with the test coverage rate, if the coverage rate of the test vector n+1 is larger, using the test vector n+1 as the test vector for comparing with the test coverage rate later, and if the coverage rate of the original test vector is larger, using the original test item as the comparison vector; if N is equal to M, all the test vectors representing the coverage rate sequence [ N ] are compared, and the finally reserved test vector is used as the test vector with the highest test coverage rate;
step 3: step 2, obtaining a single test vector with highest node coverage rate in the test vector set;
step 4: and (3) using a test vector set ordering algorithm to order and optimize the original test vector set based on the single test vector with the highest node coverage rate obtained in the step (3) so as to finish the optimization of the test vector set.
The specific steps of the step 4 are as follows:
step 41: creating an optimized vector file sequence, and defining an integer T=0;
step 42: adding the single test vector with the highest node coverage rate obtained in the step 3 to an optimized vector file sequence [ T ], deleting the vector file in the source file sequence, and replacing M with an integer M-1;
step 43: combining the total (T+1) vector files in the optimized vector file sequence with M vector files in the source file sequence respectively to form M vector combinations;
step 44: measuring and calculating the total node coverage rate of each vector combination, comparing the coverage rate to obtain a vector combination with the highest coverage rate, updating the vector combination to an optimized vector file sequence, deleting a test vector which is the same as the vector combination in a source file sequence, and replacing M with an integer M-1;
step 45: comparing whether the node coverage rate of the vector combination in the step 44 exceeds a set coverage rate target, if so, completing optimization and outputting an optimized vector file sequence; otherwise, the integer t+1 is substituted for T, step 43 is performed.
It is to be noted that the present invention has various examples, and those skilled in the art can make various corresponding changes and modifications according to the present invention without departing from the spirit and the essence thereof, but these corresponding changes and modifications should fall within the scope of the appended claims.

Claims (2)

1. The method for optimizing the mass production test of the embedded PCIExpress IP core of the FPGA based on coverage rate sequencing is characterized by comprising the following steps of:
step 1: generating a test vector set required by the test of the embedded PCIExpress IP core of the FPGA;
step 2: using a test vector node coverage rate statistical algorithm to calculate node coverage rate of each test vector in the test vector set;
step 3: step 2, obtaining a single test vector with highest node coverage rate in the test vector set;
step 4: using a test vector set ordering algorithm and the single test vector with highest node coverage rate obtained in the step 3 to order and optimize the original test vector set, and completing the optimization of the test vector set;
the specific steps of the step 4 are as follows:
step 41: creating an optimized vector file sequence, wherein the integer T=0;
step 42: adding the single test vector with the highest node coverage rate obtained in the step 3 to an optimized vector file sequence [ T ], and deleting the vector file in the source file sequence, so that M=M-1;
step 43: combining the T+1 vector files in the optimized vector file sequence with each vector file in the source file sequence respectively to form M vector combinations;
step 44: measuring and calculating the total node coverage rate of each vector combination, comparing the coverage rate to obtain a vector combination with the highest coverage rate, updating the vector combination to an optimized vector file sequence, deleting the test vector which is the same as the vector combination in a source file sequence, and enabling M=M-1;
step 45: comparing whether the node coverage rate of the vector combination in the step 44 exceeds a set coverage rate target, and if so, outputting an optimized vector file sequence; otherwise, let t=t+1, go to step 43;
the source file sequence comprises all test vector files, and M is the total number of test vectors.
2. The method for optimizing mass production testing of embedded pci express IP cores of an FPGA based on coverage rate sequencing according to claim 1, wherein the method is characterized by comprising the following steps: the specific steps of the step 2 are as follows:
step 21: creating a source file sequence comprising all test vector files, and defining an initial value n=0 of an integer N and a total number M of test vectors;
step 22: performing functional simulation on the test vector file in the source file sequence [ N ] and generating a VCD digital format file;
step 23: creating a coverage rate sequence comprising node coverage rates of all test vector files;
step 24: counting the number of nodes with 0/1 turnover change in a VCD digital format file generated by a source file sequence [ N ], calculating to obtain corresponding node coverage rate, and adding the corresponding node coverage rate to the coverage rate sequence [ N ];
step 25: starting from N=0, sorting the sizes of the coverage rate sequences, wherein the sorting rule is to firstly select two test vectors of N=0 and N=1, compare the coverage rates of the two test vectors, and reserve the test vector after determining the test vector with large coverage rate as a reference vector for comparing the test coverage rate with the next N+1 test vector;
step 26: judging whether N is equal to M; if N is smaller than M, executing n=n+1, selecting the next test vector to compare with the current test coverage rate vector with the test coverage rate, if the coverage rate of the test vector n+1 is larger, using the test vector n+1 as the test vector for comparing with the test coverage rate later, and if the coverage rate of the original test vector is larger, using the original test item as the comparison vector; if N is equal to M, all the test vectors representing the coverage rate sequence [ N ] are compared, and the finally reserved test vector is used as the test vector with the highest test coverage rate.
CN202011480339.8A 2020-12-15 2020-12-15 FPGA embedded PCIExpress IP core mass production test optimization method based on coverage rate sequencing Active CN112597009B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011480339.8A CN112597009B (en) 2020-12-15 2020-12-15 FPGA embedded PCIExpress IP core mass production test optimization method based on coverage rate sequencing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011480339.8A CN112597009B (en) 2020-12-15 2020-12-15 FPGA embedded PCIExpress IP core mass production test optimization method based on coverage rate sequencing

Publications (2)

Publication Number Publication Date
CN112597009A CN112597009A (en) 2021-04-02
CN112597009B true CN112597009B (en) 2024-04-02

Family

ID=75196213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011480339.8A Active CN112597009B (en) 2020-12-15 2020-12-15 FPGA embedded PCIExpress IP core mass production test optimization method based on coverage rate sequencing

Country Status (1)

Country Link
CN (1) CN112597009B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983381A (en) * 1997-12-31 1999-11-09 Nec Usa Inc. Partitioning and reordering methods for static test sequence compaction of sequential circuits
KR20040108037A (en) * 2003-06-16 2004-12-23 학교법인 명지학원 관동대학교 Method of test scheduling for core-based system-on-chips
CN106019129A (en) * 2016-05-22 2016-10-12 复旦大学 Test method for multiplier of embedded DSP in FPGA
CN106771960A (en) * 2016-11-18 2017-05-31 天津大学 The generation of local test vector and optimization method based on ring oscillator network
CN109358992A (en) * 2018-09-17 2019-02-19 北京时代民芯科技有限公司 FPGA (field programmable Gate array) testing method based on partial reconfigurable technology and permutation algorithm
CN109977030A (en) * 2019-04-26 2019-07-05 北京信息科技大学 A kind of test method and equipment of depth random forest program
CN111025133A (en) * 2019-10-24 2020-04-17 北京时代民芯科技有限公司 Test method of second-order Booth coding Wallace tree multiplier circuit

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983381A (en) * 1997-12-31 1999-11-09 Nec Usa Inc. Partitioning and reordering methods for static test sequence compaction of sequential circuits
KR20040108037A (en) * 2003-06-16 2004-12-23 학교법인 명지학원 관동대학교 Method of test scheduling for core-based system-on-chips
CN106019129A (en) * 2016-05-22 2016-10-12 复旦大学 Test method for multiplier of embedded DSP in FPGA
CN106771960A (en) * 2016-11-18 2017-05-31 天津大学 The generation of local test vector and optimization method based on ring oscillator network
CN109358992A (en) * 2018-09-17 2019-02-19 北京时代民芯科技有限公司 FPGA (field programmable Gate array) testing method based on partial reconfigurable technology and permutation algorithm
CN109977030A (en) * 2019-04-26 2019-07-05 北京信息科技大学 A kind of test method and equipment of depth random forest program
CN111025133A (en) * 2019-10-24 2020-04-17 北京时代民芯科技有限公司 Test method of second-order Booth coding Wallace tree multiplier circuit

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Using Logic BIST to Test the PIC Block in FPGA;Bian, Aiqin等;《CHINA SEMICONDUCTOR TECHNOLOGY INTERNATIONAL CONFERENCE 2013 (CSTIC 2013)》;20140815;第52卷;全文 *
一种ATE测试向量时序优化算法;陈辉;姚若河;王晓晗;恩云飞;魏建中;;微电子学;20110420(第02期);全文 *
一种基于覆盖率排序的FPGA内嵌PCI Express IP核量产测试优化方法;李政等;《中国航天电子技术研究院科学技术委员会2020年学术年会优秀论文集》;20201215;全文 *
国产300万门SRAM型FPGA片上资源验证方法研究;熊盛阳;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20180515(第5期);全文 *
基于部分重配置的FPGA内嵌BRAM测试方法;李圣华;王健;来金梅;;复旦学报(自然科学版);20161215(第06期);全文 *

Also Published As

Publication number Publication date
CN112597009A (en) 2021-04-02

Similar Documents

Publication Publication Date Title
US10685160B2 (en) Large cluster persistence during placement optimization of integrated circuit designs
WO2022077645A1 (en) Cnf generation method and system for equivalence checking
CN113466675B (en) Test vector generation method
CN112597009B (en) FPGA embedded PCIExpress IP core mass production test optimization method based on coverage rate sequencing
US9836567B2 (en) Method of simulating a semiconductor integrated circuit, computer program product, and device for simulating a semiconductor integrated circuit
CN112580279B (en) Optimization method and optimization device for logic circuit and storage medium
US7409650B2 (en) Low power consumption designing method of semiconductor integrated circuit
CN116822452B (en) Chip layout optimization method and related equipment
CN1209809C (en) Method for estimating maximum power comsumption of large scale digital circuit with parallel structure
JPH09305633A (en) Method for optimizing logical circuit
CN115544926A (en) Equivalence verification device and method based on XMG combined circuit
CN108805597B (en) Model construction method and device and data report generation method and device
CN116029237A (en) Equivalence verification method and system based on FPGA prototype verification
CN106650111B (en) Clock comprehensive result evaluation method based on time sequence dependency relationship
CN113111614B (en) Method, device, equipment and medium for determining class bus grouping
CN113919256A (en) Boolean satisfiability verification method, system, CNF generation method and storage device
CN111061335B (en) Clock network circuit, circuit system, chip and electronic equipment
CN103885819A (en) Priority resource sharing method for FPGA area optimization
CN1125989C (en) Circuit time delay measuring method
CN112580278A (en) Optimization method and optimization device for logic circuit and storage medium
CN108694156B (en) On-chip network traffic synthesis method based on cache consistency behavior
US10289786B1 (en) Circuit design transformation for automatic latency reduction
Hu et al. Adaptive Multidimensional Parallel Fault Simulation Framework on Heterogeneous System
CN111507428B (en) Data processing method and device, processor, electronic equipment and storage medium
CN112911314B (en) Coding method of entropy coder and entropy coder

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
GR01 Patent grant
GR01 Patent grant