- Research
- Open Access
A new test set compression scheme for circular scan
- Ling Zhang^{1}Email author,
- Junjin Mei^{1} and
- Bowu Yan^{1}
https://doi.org/10.1186/s13639-018-0085-2
© The Author(s). 2018
- Received: 14 January 2017
- Accepted: 15 June 2018
- Published: 3 July 2018
Abstract
A new test data compression scheme for circular scan is proposed in this paper. For circular scan, the response of the previous test vector is used as the next test vector’s template, and only the conflicting bits between the previous response and the next vector are required to be updated. To reduce the test data volume and test application time, the problem addressed here is minimizing the number of conflicting bits by optimally reordering test vectors. Each vector represents a city, and the number of conflicting bits between two test vectors is regarded as the distance between them. Thus, the problem corresponds to the travelling salesman problem (TSP), which is NP-complete. The genetic algorithm is used to solve this problem. The experimental results show that the proposed scheme could reduce the test data volume efficiently without any additional hardware cost.
Keywords
- Built-in self-test (BIST)
- Test application time
- Fault coverage
1 Introduction
The large size of test data volume is one of the major challenges for complex circuits, and the problem is aggravated by the scale increasing [1]. Continued advances in process technology have led to a relentless increase in the design complexity of integrated circuits (ICs). Besides the increased density, the need to test new types of defects in nanometer technologies also results in a tremendous increase in the test data volume and test application time [2, 3]. High-test data volume may exceed the limited memory depth of the automatic test equipment (ATE).
One of the most effective schemes for reducing test data volume is test data compression, where test data provided by the vendor are stored in the memory of a tester, and an on-chip decoder is used to apply the corresponding test vectors to circuits under test (CUT). Many test compression schemes have been proposed in recent decades, and they can be classified into three categories: code-based compression scheme [4, 5], linear decompression-based scheme [6, 7], and broadcast-scan-based scheme [8, 9]. Code-based compression schemes encode for pre-computed test data; linear decompression-based schemes use a linear decompression module to apply test data to CUTs; and broadcast-scan-based schemes broadcast identical test data to multiple scan cells at the same time. These test compression schemes are all based on the conventional scan architecture.
Circular scan architecture (CSA) [10] is another effective design for testing (DFT) architecture, and it has a comparable hardware with a conventional scan. The affirmative attribute of the CSA is that the response of previous test patterns could be used as the next pattern’s template, which makes test data compression easier.
The circular scan scheme was first proposed in paper [10] as a BIST scheme without using any storage. Then, several schemes for reducing the test cost were proposed, and they can be classified into two types: self-testing using circular scan [10–13] and determining-testing using circular scan [14–17].
For self-testing using circular scan, circular scan serves as the test pattern generator and the test response compactor. It operates random testing for sequential logic circuits, where parts of flip-flops are selected as the scan cells. In determining-testing using circular scan, circular scan is used as a DFT architecture, and the pre-computed test data can be easily applied to it. Paper [14] first used circular scan to determine the test architecture, where the previously captured response was used as the next test pattern template, and the captured response can be fully observed without any fault coverage loss. To reduce the test data volume further, many works have been proposed to optimize the CSA.
Papers [14, 15] addressed the conflicting bits between the template and test pattern. Paper [16] proposed a modified circular scan where multiple circular scan chains are used to test circuits under testing (CUT). Paper [17] proposed a new test compression scheme based on circular scan, where multiple conflicting bits are updated through inputs of the scan chains that use a multiple-hot decoder.
The key point of determining circular scan’s compression is minimizing the number of conflicting bits between the template pattern and the real test pattern. To reduce test data volume, this paper proposes a new test vector reordering scheme where the minimizing problem can establish the corresponding travelling salesman problem (TSP), which is NP-complete. We use the genetic algorithm to solve this problem.
2 The conflicting bit minimization for circular scan
The example test sets for circular scan
Vectors | Responses | ||
---|---|---|---|
V1 | 1x00 x00x 0xxx 1001 010x x010 | R1 | 0011 1111 0101 1101 1010 0000 |
V2 | 0x10 0x10 011x 1xx1 00x0 11x1 | R2 | 0010 1101 1111 1111 0010 0000 |
V3 | 00xx 0010 xx11 0000 1101 0010 | R3 | 1100 1111 0000 1101 1111 1110 |
V4 | xx00 1011 xxxx 0101 1000 xxxx | R4 | 0101 0010 1111 0010 1111 1101 |
V5 | 0000 xxxx 1101 1111 0000 00xx | R5 | 0101 0000 1101 0000 1111 1111 |
The problem is an NP-complete problem in reality. Note: Let the number of test patterns be n. The weights of each of the two patterns are easily obtained by computing their hamming distance, and the weights of two vertexes of Vi and Vj are denoted as Wij and Wji, respectively. The problem is finding the shortest path that passes through every vertex once and only once. So, the problem can be transformed and formally stated as follows.
2.1 Problem 1
Given a directed graph with n vertexes, the distance between each of the two vertexes can be computed. Find the shortest path traveling across each vertex once and only once.
Problem 1 is equivalent to the well-known travelling salesman problem (TSP) [18], which is NP-complete, where the vertexes stand for towns and the number of conflicting bits between every two vertexes represents the distance between two towns.
To solve the problem of the conflicting bits minimizing problem, which is NP-completed, the genetic algorithm (GA) is used in the paper. The GA is one of the mature techniques for solving the TSP problem. The objective of the GA is to determine the surviving individuals, the reproducing individuals, and the ones that died. GALIB [19] is an effective genetic tool to solve several NP-completed problems, specifically the ones corresponding to the TSP. GALIB was selected for solving the conflicting bits minimizing problem in the paper. The result of the example in Fig. 3a and Table 1 using GALIB is given in Fig. 3c. The optimizing order of the five vectors is v2 → v5 → v3 → v1 → v4, and the number of corresponding conflicting bits that need to be updated is 21 bits. Compared to that of the primary order v1 → v2 → v3 → v4 → v5 of 35 bits, 14 bits are reduced.
3 Experimental results
Test volume compression ratio comparison results
Circuits | #ff | #SC = 64 | #SC = 128 | #SC = 256 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[14] | [16] | [17] | Pro. | [14] | [16] | [17] | Pro. | [14] | [16] | [17] | Pro. | ||
s13207 | 669 | 53.6 | 58.3 | 68.4 | 71.4 | 65.1 | 67.8 | 77.3 | 79.6 | 61.6 | 69.3 | 79.4 | 81.4 |
s15850 | 597 | 28.9 | 33.7 | 45.5 | 47.7 | 39.5 | 44.5 | 62.1 | 63.0 | 44.2 | 51.6 | 63.1 | 64.2 |
S35932 | 1728 | 5.1 | 7.2 | 33.3 | 36.2 | 16.2 | 20.1 | 66.4 | 67.7 | 21.7 | 26.0 | 75.3 | 76.4 |
s38417 | 1636 | 28.3 | 32.6 | 48.1 | 51.1 | 36.8 | 42.9 | 59.2 | 61.5 | 42.2 | 48.3 | 59.7 | 61.9 |
s38584 | 1452 | 30.9 | 35.4 | 51.5 | 54.7 | 40.7 | 48.1 | 60.3 | 62.8 | 48.9 | 55.6 | 71.8 | 73.5 |
Test application time comparison results
Circuits | #ff | #SC = 64 | #SC = 128 | #SC = 256 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
[14] | [17] | Pro. | [14] | [17] | Pro. | [14] | [17] | Pro. | ||
s13207 | 669 | 51.2 | 70.3 | 72.62 | 64.1 | 73.7 | 74.68 | 66.2 | 80.3 | 82.65 |
s15850 | 597 | 31.5 | 50.6 | 53.76 | 38.0 | 65.4 | 65.95 | 43.8 | 67.1 | 68.09 |
s25932 | 1728 | 9.6 | 44.7 | 46.32 | 15.1 | 68.9 | 70.35 | 17.8 | 72.5 | 74.07 |
s38417 | 1636 | 30.3 | 50.6 | 53.70 | 35.8 | 56.4 | 58.61 | 43.4 | 63.2 | 65.61 |
s38417 | 1452 | 31.7 | 59.4 | 60.82 | 43.3 | 65.1 | 66.03 | 51.6 | 73.6 | 75.14 |
Experimental results on ITC’99
BM | #ff | #SC = 64 | #SC = 128 | #SC = 256 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CR | TT | CR | TT | CR | TT | ||||||||
Ord | Pro. | Ord | Pro. | Ord | Pro. | Ord | Pro. | Ord | Pro. | Ord | Pro. | ||
b14 | 245 | 40.32 | 44.37 | 38.7 | 42.1 | 44.8 | 47.0 | 45.0 | 48.2 | 41.6 | 52.3 | 41.6 | 45.3 |
b15 | 449 | 25.6 | 27.9 | 28.3 | 30.6 | 31.6 | 41.2 | 33.5 | 43.7 | 27.1 | 35.1 | 28.0 | 31.3 |
b17 | 1415 | 9.9 | 15.6 | 13.2 | 15.8 | 12.7 | 20.7 | 16.3 | 25.9 | 10.9 | 21.1 | 12.3 | 15.6 |
b20 | 490 | 20.8 | 23.8 | 22.9 | 25.4 | 25.7 | 29.9 | 24.7 | 28.0 | 22.7 | 33.6 | 24.9 | 27.2 |
b21 | 490 | 20.4 | 31.0 | 20.5 | 23.7 | 26.3 | 32.5 | 26.2 | 35.4 | 21.6 | 32.9 | 23.2 | 24.8 |
b22 | 735 | 23.2 | 33.9 | 25.1 | 27.0 | 27.1 | 35.4 | 29.6 | 36.1 | 25.7 | 32.4 | 26.8 | 28.1 |
Table 2 shows the test volume compression ratio comparison with related schemes. The compression ratio is computed as CR = (T_{D}−T_{E})/T_{D}, where T_{D} is the test data volume of the primary test sets and T_{E} is the test data volume of the compressed test sets. The first and second columns denote the names of the circuits and the numbers of the flip-flops. The number of scan chains is represented as #SC. The compression ratio of the proposed scheme is expressed as Pro. As shown in Table 2, for different scan chains #SC = 64, #SC = 128, and #SC = 256, the proposed scheme minimizing the conflicting bits that need to be updated achieves a better compression ratio in all cases.
The test application time comparison is given in Table 3. The first and second columns also represent the circuit names and the number of flip-flops, while #SC is the number of scan chains. Paper [16] proposed a scan input selection unit that updates conflicting bits internally and eliminates loading conflicting bits from ATE, so only the test data volume is reduced, and it has the same test application time as paper [14]. Thus, the test application time of paper [14] and paper [17] are compared with our method. As shown in the table, because the number of test data that needed to be updated was reduced, the test application time was also reduced compared with the other related solutions, in all cases.
Except the comparison with other related works using the five biggest ISCAS’89 benchmark circuits. We also gathered experimental results on ITC’99 circuits. The results are given in Table 4. As shown in the table, the first and second columns are the circuits and the number of flip-flops, CR represents test compression ratio, and TT is the test application time. Ord is the test patterns generated by the ATPG (automatic test pattern generation) tool of Atalanta [20] before using the proposed scheme, and Pro is the new test patterns with new orders that under the proposed optimized schemes. Because the proposed scheme reordered test patterns which made the number of conflicting bits minimized, it achieves better test compression ratios and test application times in all cases.
From these tables, we could see that through the proposed scheme, the number of conflicting bits needed to be updated was minimized, so the corresponding test data volume and test application time were both reduced in all cases.
Furthermore, we could also see that the compression ratio and the test application time reduction were different for different circuits. This is because for different circuits, the corresponding test set has different 0, 1, and X (denotes the do not care bits that can be set as 0 or 1) distributions. For those circuits with more Xs and more compatible bits (two bits have identical data or one of X), the corresponding number of conflicting bits is smaller, so the bits that need to be updated are fewer, which would reduce the test data volume and test application time. On the other hand, for those circuits with very few Xs and compatible bits, more data bits need to be updated, and the corresponding data volume and test application time reduction achieved were less.
For example, for the circuit S35932, the corresponding conflicting bits between the previous response and next pattern are more, so the test data volume and test application time reductions are both smaller compared with other circuits. Nevertheless, the circuit of 13,207 has more Xs, and the number of conflicting bits is very small, so it attained a higher reduction in test data volume and test application time.
4 Conclusions
To reduce the test data volume and test application time, this paper proposes a new test data compression scheme for circular scan, where the response of the previous pattern is used as the next pattern’s template. To reduce the conflicting bits that needed to be updated, the conflicting bit minimization problem can establish the correspondence with the travelling salesman problem, which is NP-complete. The genetic algorithm is used to solve this problem in this paper. The experimental results show that the average compression ratio is improved about 3.97% compared with paper [17], improved about 34.28% compared with paper [16], and improved about 42.51% compared with paper [14]. For circuit of S13207 in the case of #SC = 256, the compression ratio is as high as 81.4. We could see that the proposed scheme could efficiently reduce test data volume and test application time for circular scan.
Declarations
Funding
The research work was supported by the Natural Science Foundation of China (no. 61472123), the Scientific Research Project of Hubei Province Department of Education (no. D20174501), and the Outstanding Youth Science and Technology Innovation Team Project of Hubei Polytechnic University (no. 13xtz10).
Availability of data and materials
Data sharing is not applicable to this article as no datasets were generated or analyzed during the current study.
Authors’ contributions
Author LZ gave the idea of the paper and made experiments with author JM and author BY. All the authors had taken part in the manuscript written. All authors read and approved the final manuscript.
Ethics approval and consent to participate
Not applicable
Consent for publication
Not applicable
Competing interests
The authors declare that they have no competing interests.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
- Filipek, M, et al. (2015). Low-power programmable PRPG with test compression capabilities. IEEE Trans. Comput. Aided Design Integr. Circuits Syst., 23, 1063–1076.Google Scholar
- Lee, DH, & Han, TH (2014). An improvement technique for the test compression ratio and application time of multiple expansion scan chain based SoC using new cost function. In IEEE 57th International Midwest Symposium on Circuits and Systems: 3–6, Aug, (pp. 129–132). College Station: IEEE.Google Scholar
- Li, Z, Jonathon, EC, Pagalone, V, Narayanun, K, Chakrabarty, K (2017). Test-cost optimization in a scan-compression architecture using support-vector regression. In IEEE 35th VLSI Test Symposium, Las 18 Ma, (pp. 1–6). Vegas: IEEE.Google Scholar
- Kavousianos, X, Kalligeros, E, Nikolos, D. (2008). Multilevel-Huffman test-data compression for IP cores with multiple scan chains. IEEE Trans. Very Large Scale Integr. (VLSI) Syst., 16, 926–931.View ArticleGoogle Scholar
- Muthyala, SS, & Touba, NA (2012). Improving test compression by retaining non-pivot free variables in sequential linear decompressors. In IEEE International Test Conferenc, 5–8, Nov, (pp. 1–7). Anaheim; New York: IEEE.Google Scholar
- Lee, T, Toub, NA, Yang, J-S. (2017). Enhancing test compression with dependency analysis for multiple expansion ratios. IEEE Trans. Very Large Scale Integr. (VLSI) Syst., 36, 1571–1579.Google Scholar
- Jia Li, Yu Huang, Dong Xiang, Prediction of compression bound and optimization of compression architecture for linear decompression-based schemes. IEEE 29th VLSI Test Symposium, May 2011, Dana Point: IEEE. pp. 297–302.Google Scholar
- Chen, J-Z, & Lee, K-J. (2017). Test stimulus compression based on broadcast scan with one single input. IEEE Trans. Comput. Aided Design Integr. Circuits Syst., 36, 184–197.View ArticleGoogle Scholar
- Banerjee, S, Mathew, J, Pradhan, DK, Mohanty, SP (2010). Layout-aware Illinois scan design for high fault coverage. In International symposium on quality electronic design: 22–24 Mar, (pp. 683–687). San Jose: IEEE.Google Scholar
- Pradhan, MM, Brien, EJO, Lam, SL, Beausang, J (1988). Circular BIST with partial scan. In International Test Conference, (pp. 719–729). Washington, DC: IEEE Piscataway, NJ, United States.Google Scholar
- Krasniewski, A, & Pilarsk, S. (1989). Circular self-test path: a low-cost BIST technique for VLSI circuits. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 8, 46–54.View ArticleGoogle Scholar
- Krasniewski, A, & Pilarski, S (1987). Circular self-test path: a low-cost BIST technique. In Proc. IEEE Des, Auto. Conf., (pp. 407–415). Miami Beach: EEE New York, NY, USA.Google Scholar
- Touba, NA. (2002). Circular BIST with state skipping. IEEE Trans. Very Large Scale Integr. (VLSI) Syst., 10, 668–672.View ArticleGoogle Scholar
- Arslan, B, & Orailoglu, A (2004). Circular Scan: A scan architecture for test cost reduction. In Design, automation and test in Europe conference and exhibition, (pp. 1290–1295). Paris: IEEE.View ArticleGoogle Scholar
- Arslan, B, & Orailoglu, A (2004). Design space exploration for aggressive test cost reduction in circular scan architectures. In International Conference on Computer-Aided Design, (pp. 726–731). San Jose: Institute of Electrical and Electronics Engineers Inc (IEEE).Google Scholar
- Azimopour, M, Eshghi, M, Khademzadh, A (2007). A modification to circular-scan architecture to improve test data compression. In International conference on advanced computing and communications, (pp. 27–32). Guwahati: Institute of Electrical and Electronics Engineers Inc.Google Scholar
- Azimipour, M, Fathiyan, A, Eshghi, M (2008). A parallel circular-scan architecture using multiple-hot decorder. In 15th International Conference on Mixed Design, (pp. 475–480). Poznan: Inst. of Elec. and Elec. Eng. Computer Society.Google Scholar
- Lawler, EL, Lenstra, JK, RinnooyKan, AHG, Shmoys, DB (1985). The traveling salesman problem. Chichester: Wiley.Google Scholar
- A C++ genetic algorithm library: http://lancet.mit.edu/galib-2.4/, 2018.2.
- Lee, HK, & Ha, DS (1993). Atalanta: an efficient ATPG for combinational circuits, technical report. Blacksburg, Virginia: Dep’t of Electrical Eng., Virginia Polytechnic Institute and State University.Google Scholar