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 PDFInfo
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 198
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000005457 optimization Methods 0.000 title claims abstract description 16
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 13
- 238000012163 sequencing technique Methods 0.000 title claims abstract description 11
- 239000013598 vector Substances 0.000 claims abstract description 188
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 8
- 238000012896 Statistical algorithm Methods 0.000 claims abstract description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 3
- 230000007306 turnover Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test 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
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.
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)
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 |
-
2020
- 2020-12-15 CN CN202011480339.8A patent/CN112597009B/en active Active
Patent Citations (7)
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)
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 |