Efficient generation of test patterns using Boolean satisfiability

A combinational circuit can be tested for the presence of a single stuck-at fault by applying a set of inputs that excite a verifiable output response in that circuit. If the fault is present, the output will be different than it would be if the fault were not present. Given a circuit, the goal of an automatic test pattern generating system is to generate a set of input sets that will detect every possible single stuck-at fault in the circuit. This dissertation describes a new method for generating test patterns: the Boolean satisfiability method. The new method generates test patterns in two steps: First, it constructs a formula expressing the Boolean difference between the unfaulted and faulted circuits. Second, it applies a Boolean satisfiability algorithm to the resulting formula. This approach differs from most programs now in use, which directly search the circuit data structure instead of constructing a formula from it. The new method is quite general and allows for the addition of any heuristic used by the structural search methods. The Boolean satisfiability method has produced excellent results on popular test pattern generation benchmarks.

[1]  Jr. Sheldon B. Akers,et al.  On a Theory of Boolean Functions , 1959 .

[2]  Journal of the Association for Computing Machinery , 1961, Nature.

[3]  Ralph J. Preiss,et al.  Design of Serviceability Features for the IBM System/360 , 1964, IBM J. Res. Dev..

[4]  J. Paul Roth,et al.  Diagnosis of automata failures: a calculus and a method , 1966 .

[5]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[6]  James B. Angell,et al.  Enhancing Testability of Large-Scale Integrated Circuits via Test Points and Additional Logic , 1973, IEEE Transactions on Computers.

[7]  Oscar H. Ibarra,et al.  Polynomially Complete Fault Detection Problems , 1975, IEEE Transactions on Computers.

[8]  Thomas W. Williams,et al.  A logic design structure for LSI testability , 1977, DAC '77.

[9]  D. C. King Diagnosis and reliable design of digital systems , 1977 .

[10]  Melvin A. Breuer,et al.  Diagnosis and Reliable Design of Digital Systems , 1977 .

[11]  Prabhakar Goel,et al.  An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits , 1981, IEEE Transactions on Computers.

[12]  Hideo Fujiwara,et al.  The Complexity of Fault Detection Problems for Combinational Logic Circuits , 1982, IEEE Transactions on Computers.

[13]  Paul Walton Purdom,et al.  Evaluating Search Methods Analytically , 1982, AAAI.

[14]  Hideo Fujiwara,et al.  On the Acceleration of Test Generation Algorithms , 1983, IEEE Transactions on Computers.

[15]  F. Brglez,et al.  A neutral netlist of 10 combinational benchmark circuits and a target translator in FORTRAN , 1985 .

[16]  Hideo Fujiwara,et al.  Logic Testing and Design for Testability , 1985 .

[17]  Alexander Miczo,et al.  Digital logic testing and simulation , 1986 .

[18]  Dhiraj K. Pradhan,et al.  Fault-tolerant computing : theory and techniques , 1986 .

[19]  Jeremy Dion,et al.  Fast Printed Circuit Board Routing , 1987, 24th ACM/IEEE Design Automation Conference.

[20]  Michael H. Schulz,et al.  Advanced automatic test pattern generation and redundancy identification techniques , 1988, [1988] The Eighteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[21]  Barry K. Rosen,et al.  Delay test generation. II. Algebra and algorithms , 1988, International Test Conference 1988 Proceeding@m_New Frontiers in Testing.

[22]  Barry K. Rosen,et al.  Delay test generation. I. Concepts and coverage metrics , 1988, International Test Conference 1988 Proceeding@m_New Frontiers in Testing.

[23]  Michael H. Schulz,et al.  SOCRATES: a highly efficient automatic test pattern generation system , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[24]  N. P. Jouppi,et al.  A unified vector/scalar floating-point architecture , 1989, ASPLOS 1989.

[25]  William A. Rogers,et al.  Search strategy switching: an alternative to increased backtracking , 1989, Proceedings. 'Meeting the Tests of Time'., International Test Conference.