A common approach to test generation and hardware verification based on temporal logic

Hardware verifrcation and sequential test generation are aspects of the same problem, namely to prove the equal behavior determined by two circuit descriptions. During test generation, this attempt succeeds for the faulty and fault free circuit if redundancy exists, and during verifrcation it succeeds, if the implementation is correct with regard to its specification. This observation can be used to cross-fertilize both areas, which have been treated separately up to now. In this work, a common formal pamework for hardware verification and sequential test pattern generation is presented, which is based on modeling the circuit behavior with temporal logic. In addition, a new approach to cope with non resetable flipfiops in sequential test generation is proposed, which is not restricted to stuck-at faults. Based on this verification view, it is possible to provide the designer with one tool for checking circuit correctness and generating test patterns. Its first implementation and application is also described.

[1]  Alexander Miczo,et al.  The Sequential ATPG: A Theoretical Limit , 1983, International Test Conference.

[2]  Howard Barringer,et al.  Formal specification and verification of hardware: a comparative case study , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[3]  David Bryan,et al.  Combinational profiles of sequential benchmark circuits , 1989, IEEE International Symposium on Circuits and Systems,.

[4]  A. Sangiovanni-Vincentelli,et al.  Irredundant sequential machines via optimal logic synthesis , 1990, Twenty-Third Annual Hawaii International Conference on System Sciences.

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

[6]  Gregor von Bochmann Hardware Specification with Temporal Logic: An Example , 1982, IEEE Transactions on Computers.

[7]  G. Venkatesh,et al.  Reasoning about Digital Systems Using Temporal Logic , 1986, 23rd ACM/IEEE Design Automation Conference.

[8]  Thomas Kropf,et al.  Structure in Hardware Proofs: First Steps Towards Automation in a Higher-Order Environment , 1991, VLSI.

[9]  Hans-Joachim Wunderlich,et al.  The pseudoexhaustive test of sequential circuits , 1989, Proceedings. 'Meeting the Tests of Time'., International Test Conference.

[10]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[11]  Olivier Coudert,et al.  Verification of Synchronous Sequential Machines Based on Symbolic Execution , 1989, Automatic Verification Methods for Finite State Systems.

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

[13]  Edmund M. Clarke,et al.  Sequential circuit verification using symbolic model checking , 1991, DAC '90.

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

[15]  Michael J. C. Gordon,et al.  Why higher-order logic is a good formalism for specifying and verifying hardware , 1985 .

[16]  W.-T. Cheng,et al.  The BACK algorithm for sequential test generation , 1988, Proceedings 1988 IEEE International Conference on Computer Design: VLSI.

[17]  Randal E. Bryant,et al.  Test Pattern Generation for Sequential MOS Circuits by Symbolic Fault Simulation , 1989, 26th ACM/IEEE Design Automation Conference.

[18]  Paolo Prinetto,et al.  Formal verification of hardware correctness: introduction and survey of current research , 1988, Computer.

[19]  Edmund M. Clarke,et al.  Representing circuits more efficiently in symbolic model checking , 1991, 28th ACM/IEEE Design Automation Conference.

[20]  Arno Kunzmann,et al.  An analytical approach to the partial scan problem , 1990, J. Electron. Test..

[21]  Robert K. Brayton,et al.  Implicit state enumeration of finite state machines using BDD's , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[22]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.

[23]  Hans-Joachim Wunderlich,et al.  The design of random-testable sequential circuits , 1989, [1989] The Nineteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[24]  Hans-Joachim Wunderlich,et al.  Generating pseudo-exhaustive vectors for external testing , 1990, Proceedings. International Test Conference 1990.

[25]  Ralph A. Marlett An Effective Test Generation System for Sequential Circuits , 1986, DAC 1986.

[26]  Michael H. Schulz,et al.  ESSENTIAL: an efficient self-learning test pattern generation algorithm for sequential circuits , 1989, Proceedings. 'Meeting the Tests of Time'., International Test Conference.

[27]  Vishwani D. Agrawal,et al.  An economical scan design for sequential logic test generation , 1989, [1989] The Nineteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

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

[29]  Robert S. Boyer,et al.  The Correctness Problem in Computer Science , 1982 .

[30]  Seh-Woong Jeong,et al.  ATPG aspects of FSM verification , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[31]  Zohar Manna,et al.  Verification of concurrent programs, Part I: The temporal framework , 1981 .

[32]  Tom Melham,et al.  Abstraction Mechanisms for Hardware Verification , 1988 .

[33]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[34]  Edward A. Feigenbaum,et al.  Switching and Finite Automata Theory: Computer Science Series , 1990 .

[35]  Fabio Somenzi,et al.  Fast sequential ATPG based on implicit state enumeration , 1991, 1991, Proceedings. International Test Conference.