Laboratory of Symbol Computation and Knowledge Engineering, College of Computer Science and Technology, Jilin University, Changchun130012, China.
Show Author Information
Hide Author Information
Abstract
Static compaction methods aim at finding unnecessary test patterns to reduce the size of the test set as a post-process of test generation. Techniques based on partial maximum satisfiability are often used to track many hard problems in various domains, including artificial intelligence, computational biology, data mining, and machine learning. We observe that part of the test patterns generated by the commercial Automatic Test Pattern Generation (ATPG) tool is redundant, and the relationship between test patterns and faults, as a significant information, can effectively induce the test patterns reduction process. Considering a test pattern can detect one or more faults, we map the problem of static test compaction to a partial maximum satisfiability problem. Experiments on ISCAS89, ISCAS85, and ITC99 benchmarks show that this approach can reduce the initial test set size generated by TetraMAX18 while maintaining fault coverage.
I.Pomeranz, Balancing the numbers of detected faults for improved test set quality, IEEE Trans. Comput. Aided. Des. Integrated. Circ. Syst., vol. 35, no. 2, pp. 337-341, 2016.
M. H.Schulz, E.Trischler, and T. M.Sarfert, Socrates: A highly efficient automatic test pattern generation system, IEEE Trans. Comput. Aided. Des. Integrated. Circ. Syst., vol. 7, no. 1, pp. 126-137, 1988.
A. G.Boon, C. C.Kit, C. K.Keng, and O. C.Khian, TetraMax diagnosis and laker software on failure analysis for ATPG/scan failures, in Proc. of 13th International Symposium on the Physical and Failure Analysis of Integrated Circuits, Singapore, 2006, pp. 217-221.
C.Bolchini, E.Quintarelli, F.Salice, and P.Garza, A data mining approach to incremental adaptive functional diagnosis, in Proc. of 2013 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems, New York, NY, USA, 2013, pp. 13-18.
M.Dimopoulos and P.Linardis, Efficient static compaction of test sequence sets through the application of set covering techniques, in Proc. of Design, Automation and Test in Europe Conference and Exhibition, Paris, France, 2004, pp. 194-199.
[8]
I.Pomeranz, Fold: Extreme static test compaction by folding of functional test sequences, ACM Transactions on Design Automation of Electronic Systems (TODAES), vol. 20, no. 4, p. 57, 2015.
I.Pomeranz, Modeling a set of functional test sequences as a single sequence for test compaction, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 23, no. 11, pp. 2629-2638, 2014.
S. J.Li, W. M.Liu, and S. S.Wang, Qualitative constraint satisfaction problems: An extended framework with landmarks, Artificial Intelligence., vol. 201, no. 4, pp. 32-58, 2013.
J.Gao, R. Z.Li, and M. H.Yin, A randomized diversification strategy for solving satisfiability problem with long clauses, Science China Information Sciences, vol. 60, no. 9, pp. 121-131, 2017.
R.Drechsler, M.Diepenbeck, S.Eggersgl, and R.Wille, Passat 2.0: A multifunctional SAT-based testing framework, presented at the 14th Latin American Test Workshop-LATW, Cordoba, Argentina, 2013.
S.Eggersgl, R.Krenz-Baath, A.Glowatz, F.Hapke, and R.Drechsler, A new SAT-based ATPG for generating highly compacted test sets, in Proc. of IEEE 15th International Symposium on Design and Diagnostics of Electronic Circuits & Systems, Tallinn, Estonia, 2012, pp. 230-235.
S.Eggersgl, R.Wille, and R.Drechsler, Improved SAT-based ATPG: More constraints, better compaction, in Proc. of International Conference on Computer-Aided Design, Hong Kong, China, 2013, pp. 85-90.
S.Eggersgl, M.Yilmaz, and K.Chakrabarty, Robust timing-aware test generation using pseudo-boolean optimization, in Proc. of 21st Asian Test Symposium, Guam, USA, 2012, pp. 290-295.
J. H.Shi, G.Fey, R.Drechsler, A.Glowatz, H.Friedrich, and S.Jurgen, Passat: Efficient SAT-based test pattern generation for industrial circuits, in Proc. of IEEE Computer Society Annual Symposium on VLSI: New Frontiers in VLSI Design, Tampa, FL, USA, 2005, pp. 212-217.
[18]
P.Stephan, R. K.Brayton, and A. L.Sangiovanni-Vincentelli, Combinational test generation using satisfiability, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 15, no. 9, pp. 1167-1176, 1996.
Z. D.Lei and S. W.Cai, Solving (weighted) partial MAX-SAT by dynamic local search for SAT, in Proc. 27th International Joint Conference on Artificial Intelligence, Stockholm, Sweden, 2018, pp. 1346-1352.
M.Liu, D. T.Ouyang, S. W.Cai, and L. M.Zhang, Efficient zonal diagnosis with maximum satisfiability, Science China Information Sciences, vol. 61, no. 11, p. 112101, 2018.
H. S.Zhou, D. T.Ouyang, M.Liu, N. Y.Tian, and L. M.Zhang, A PMS method combined with structure characteristics for diagnositic problem, (in Chineses), Scientia Sinica Informationis, vol. 49, no. 6, p. 685, 2019.
M.Bushnell and V.Agrawal, Essentials of Electronic Testing for Digital, Memory and Mixed-signal VLSI Circuits.Berlin, Germany: Springer Science & Business Media, 2004.
[23]
W.Zhao, L.Zhao, W. D.Wu, S, G.Chen, S. H.Sun, and Y.Cao, Loading-balance relay-selective strategy based on stochastic dynamic program, Tsinghua Science & Technology, vol. 23, no. 4, pp. 127-134, 2018.
F.Brglez, A neutral netlist of 10 combinatorial benchmark circuits and a target translator in fortran, in Proc. of 1985 IEEE Int. Symp. on Circuits and Systems, Special Session on Recent Algorithms for Gate-Level ATPG with Fault Simulation and Their Performance Assessment, Kyoto, Japan, 1985, pp. 663-698.
[25]
F.Brglez, D.Bryan, and K.Kozminski, Combinational profiles of sequential benchmark circuits, IEEE Trans. on Circuits and Systems, vol. 3, pp. 1929-1934, 1989.
F.Corno, M. S.Reorda, and G.Squillero, Rt-level itc?99 benchmarks and first ATPG results, IEEE Design & Test of Computers, vol. 17, no. 3, pp. 44-53, 2000.
Zhou H, Ouyang D, Zhang L. Efficient Static Compaction of Test Patterns Using Partial Maximum Satisfiability. Tsinghua Science and Technology, 2021, 26(1): 1-8. https://doi.org/10.26599/TST.2019.9010046
The articles published in this open access journal are distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/).
3.1 PMS problem
In this section, we state some basic properties of the PMS problem.
Given a set of Boolean variables , a literal is defined as a variable or its negation form . A clause is defined as a disjunction of literals (i.e., ). A CNF is defined as a conjunction of clauses that is composed of a set of clauses (i.e., ).
The PMS problem is defined as finding an assignment in the CNF formula, in which clauses are composed of hard clauses and soft clauses, so that all hard clauses are satisfied and the number of satisfied soft clauses is maximized. The weighted PMS, where each soft clause is associated with a positive weight, aims to satisfy all hard clauses and maximize the total weight of the satisfied soft clauses. The assignment of Weighted PMS (WPMS) instance is feasible if the assignment satisfies all hard clauses in . The cost of a feasible assignment is defined as the number of falsified soft clauses under for PMS. For convenience, the cost of any infeasible assignment is defined to be +. Typically, is written to Weighted CNF (WCNF) file and as input to Weight SAT (WSAT) solver.
We introduce the translation process from the relationship between tests and faults into a PMS problem in Procedure 1. According toR-Matric, faults are translated in the Step (2) and tests are translated in the Step (3).
For Step (2) in Procedure 1, the translation of faults is illustrated in
Fig. 1
. Note that the black arrow between the test and fault indicates that is in the TSet (, and the white arrow from fault indicates that can be translated into the . For example, can be detected by , , and ; thus, TSet (, . Consequently, clause is . In the same way, clause is . At the end of the second iteration, all the faults were mapped into hard clauses, and all the tests were mapped into soft clauses, which would be passed to a PMS solver to find the satisfying assignments; this would indicate which tests can be reduced.
10.26599/TST.2019.9010046.F1
Translation of faults.
Since some translation procedures in
Fig. 1
are left out, in
Table 2
, considering the relationship between tests and faults, we show all the clauses, which include 14 hard clauses and 7 soft clauses. For hard clauses on the left of
Table 2
, the weight is set to the number of soft clauses plus 1. Different from this, the weight of soft clauses is set to 1 on the right of
Table 2
. All clauses end of in a 0 and are solved in a PMS solver. The -th line in hard clauses represents tests related to -th faults. For example, can be detected by and ; Thus, ; consequently, the clauses for is 1, 3, 0 in WCNF file. This example illustrates that can be detected only if or exists. In soft clauses, all literals are negative and all clauses are unit fault.
10.26599/TST.2019.9010046.T2
Clauses of faults and tests in c17.
Hard clause
Soft clause
Weight
Clause
Weight
Clause
8
1 3 0
1
0
8
2 0
1
0
8
1 3 4 7 0
1
0
8
2 5 6 0
1
0
8
4 0
1
0
8
1 5 6 0
1
0
8
1 3 0
1
0
8
4 5 6 0
8
3 0
8
7 0
8
5 6 0
8
1 0
8
4 5 6 7 0
8
1 2 3 0
After constructing the relationship between tests and faults with the WCNF, each fault is transformed into a hard clause denoted by , which means that the fault must be detected. Each test in the hard clause is treated as a Boolean variable, which represents the state of redundancy, while each test is transformed into a unit soft clause denoted by , and the unit fault is converted to a unit hard clause. Therefore, the complete CNF for static test compaction is formulated as follows,
The CNF can be solved by a PMS solver. If the solver returns a solution in which no soft clauses is satisfiable, no test pattern can be reduced. Otherwise, the satisfied soft clauses indicate the reduced test patterns.
10.26599/TST.2019.9010046.F1
Translation of faults.
3.2 Test compaction
Converting the test set reduction problem into a PMS problem can ensure the effective reduction of the number of test sets, and the change will not reduce the fault coverage. The compaction procedure is described in Procedure 2.
In Procedure 2, note that our static test compaction process can be used for both sequential and combinational circuits and we operate differently aiming at different types of circuits in Step (1). When TetraMAX is used to generate test sets, the fault model used is SAFs in Step (2). There are many reasons for choosing SAFs. First, it is easy to generate a fault list, and the total number of faults increases linearly with the number of logic gates in the circuit. Second, the test set that can cover all the SAFs also has a high coverage rate for other types of faults in the chip.
Last, the SAFs aims at a single fault in the chip, while existing experiments have shown that the test set that can cover all single faults also has a high coverage rate when multiple faults are being detected[
22
]. For the generated PMS formulas, SATLike, which is a famous incomplete partial MaxSAT solver based on the dynamic local search[
23
] approach, is selected in Step (6). In terms of the new set of test patterns, Step (7) confirms that the fault coverage will not decrease.