SAT-based ATPG using multilevel compatible don't-cares

In a typical IC design flow, circuits are optimized using multilevel don't cares. The computed don't cares are discarded before Technology Mapping or Automatic Test Pattern Generation (ATPG). In this paper, we present two combinational ATPG algorithms for combinational designs. These algorithms utilize the multilevel don't cares that are computed for the design during technology independent logic optimization. They are based on Boolean Satisfiability (SAT), and utilize the single stuck-at fault model. Both algorithms make use of the Compatible Observability Don't Cares (CODCs) associated with nodes of the circuit, to speed up the ATPG process. For large circuits, both algorithms make use of approximate CODCs (ACODCs), which we can compute efficiently. Our first technique speeds up fault propagation by modifying the active clauses in the transitive fanout (TFO) of the fault site. In our second technique, we define new j-active variables for specific nodes in the transitive fanin (TFI) of the fault site. Using these j-active variables we write additional clauses to speed up fault justification. Experimental results demonstrate that the combination of these techniques (when using CODCs) results in an average reduction of 45% in ATPG runtimes. When ACODCs are used, a speed-up of about 30% is obtained in the ATPG run-times for large designs. We compare our method against a commercial structural ATPG tool as well. Our method is slower for small designs, but for large designs, we obtain a 31% average speedup over the commercial tool.

[1]  Sunil P. Khatri,et al.  A robust algorithm for approximate compatible observability don't care (CODC) computation , 2004, Proceedings. 41st Design Automation Conference, 2004..

[2]  Hideo Fujiwara,et al.  Spirit: satisfiability problem implementation for redundancy identification and test generation , 2000, Proceedings of the Ninth Asian Test Symposium.

[3]  Robert K. Brayton,et al.  The use of observability and external don't cares for the simplification of multi-level networks , 1991, DAC '90.

[4]  Malgorzata Marek-Sadowska,et al.  Perturb and simplify: multi-level boolean network optimizer , 1994, ICCAD.

[5]  Edward J. McCluskey,et al.  Logic design principles - with emphasis on testable semicustom circuits , 1986, Prentice Hall series in computer engineering.

[6]  Sharad Malik,et al.  Considering circuit observability don't cares in CNF satisfiability , 2005, Design, Automation and Test in Europe.

[7]  Miroslav N. Velev,et al.  Encoding Global Unobservability for Efficient Translation to SAT , 2004, SAT.

[8]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[9]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[10]  F. F. Sellers,et al.  Analyzing Errors with the Boolean Difference , 1968, IEEE Transactions on Computers.

[11]  Robert K. Brayton,et al.  Combinational test generation using satisfiability , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Malgorzata Marek-Sadowska,et al.  ATPG-based logic synthesis: an overview , 2002, ICCAD 2002.

[13]  Shih-Chieh Chang,et al.  Perturb And Simplify: Multi-level Boolean Network Optimizer , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[14]  P. Tafertshofer,et al.  A SAT-based implication engine for efficient ATPG, equivalence checking, and optimization of netlists , 1997, ICCAD 1997.

[15]  Paul Tafertshofer,et al.  A SAT-based implication engine for efficient ATPG, equivalence checking, and optimization of netlists , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

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

[17]  Zijiang Yang,et al.  Dynamic detection and removal of inactive clauses in SAT with application in image computation , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

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

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

[20]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[21]  Malgorzata Marek-Sadowska,et al.  Fast Boolean optimization by rewiring , 1996, Proceedings of International Conference on Computer Aided Design.

[22]  Hai Zhou,et al.  Parallel CAD: Algorithm Design and Programming Special Section Call for Papers TODAES: ACM Transactions on Design Automation of Electronic Systems , 2010 .

[23]  Dhiraj K. Pradhan,et al.  Recursive learning: a new implication technique for efficient solutions to CAD problems-test, verification, and optimization , 1994, The IEEE International Symposium on Circuits and Systems, 2003. Tutorial Guide: ISCAS 2003..

[24]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[25]  Katarzyna Radecka,et al.  Identifying redundant gate replacements in verification by error modeling , 2001, Proceedings International Test Conference 2001 (Cat. No.01CH37260).

[26]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  Hideo Fujiwara,et al.  SPIRIT: a highly robust combinational test generation algorithm , 2001, Proceedings 19th IEEE VLSI Test Symposium. VTS 2001.

[28]  Kwang-Ting Cheng,et al.  Static property checking using ATPG vs. BDD techniques , 2000, Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159).

[29]  Prathima Agrawal,et al.  Test Generation for Path Delay Faults Using Binary Decision Diagrams , 1995, IEEE Trans. Computers.

[30]  M.R. Mercer,et al.  Algorithms for automatic test-pattern generation , 1988, IEEE Design & Test of Computers.

[31]  Rolf Drechsler,et al.  PASSAT: efficient SAT-based test pattern generation for industrial circuits , 2005, IEEE Computer Society Annual Symposium on VLSI: New Frontiers in VLSI Design (ISVLSI'05).

[32]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[33]  Shih-Chieh Chang,et al.  Fast Boolean optimization by rewiring , 1996, ICCAD 1996.

[34]  Shi-Yu Huang,et al.  Verifying sequential equivalence using ATPG techniques , 2001, TODE.

[35]  Rolf Drechsler,et al.  Managing don't cares in Boolean satisfiability , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[36]  Robert E. Tarjan,et al.  Finding Dominators in Directed Graphs , 1974, SIAM J. Comput..

[37]  Katarzyna Radecka,et al.  Identifying redundant wire replacements for synthesis and verification , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[38]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[39]  Premachandran R. Menon,et al.  Multi-level Logic Optimization By Implication Analysis , 1994, IEEE/ACM International Conference on Computer-Aided Design.

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