Abstraction Techniques for Validation Coverage Analysis and Test Generation

The enormous state spaces which must be searched when verifying the correctness of, or generating tests for, complex circuits precludes the use of traditional approaches. Hard-to-find abstractions are often required to simplify the circuits and make the problems tractable. This paper presents a simple and automatic method to extract the control flow of a circuit so that the resulting state space can be explored for validation coverage analysis and automatic test generation. This control flow, capturing the essential "behavior" of the circuit, is represented as a finite state machine called the ECFM (Extracted Control Flow Machine). Simulation is currently the primary means of verifying large circuits, but the definition of a coverage measure for simulation vectors is an open problem. We define functional coverage as the amount of control behavior covered by the test suite. We then combine formal verification techniques, using BDDs as the underlying representation, with traditional ATPG techniques to automatically generate additional sequences which traverse uncovered parts of the control state graph. We also demonstrate how the same abstraction techniques can complement ATPG techniques when attacking hard-to-detect faults in the control part of the design for which conventional ATPG alone proves to be inadequate or inefficient at best. Results on large designs show significant improvement over conventional algorithms.

[1]  W. J. Cullyer Implementing Safety-Critical Systems: The VIPER Microprocessor , 1988 .

[2]  Kwang-Ting Cheng,et al.  A functional fault model for sequential machines , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[4]  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.

[5]  Ibrahim N. Hajj,et al.  Diagnosis and Correction of Logic Design Errors in Digital Circuits , 1993, 30th ACM/IEEE Design Automation Conference.

[6]  Sungho Kang,et al.  Design validation: comparing theoretical and empirical results of design error modeling , 1994, IEEE Design & Test of Computers.

[7]  Shi-Yu Huang,et al.  AQUILA: An equivalence verifier for large sequential circuits , 1997, Proceedings of ASP-DAC '97: Asia and South Pacific Design Automation Conference.

[8]  Magdy S. Abadir,et al.  Logic design verification via test generation , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Jacob A. Abraham,et al.  A unified framework for design validation and manufacturing test , 1996, Proceedings International Test Conference 1996. Test and Design Validity.

[10]  Daniel R. Cassiday,et al.  Functional VLSI design verification methodology for the CM-5 massively parallel supercomputer , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

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

[12]  Avner Landver,et al.  Coverage-Directed Test Generation Using Symbolic Techniques , 1996, FMCAD.

[13]  Janak H. Patel,et al.  HITEC: a test generation package for sequential circuits , 1991, Proceedings of the European Conference on Design Automation..

[14]  Jacob A. Abraham,et al.  Sequential Redundancy Identification Using Verification Techniques , 1992, Proceedings International Test Conference 1992.

[15]  Jacob A. Abraham,et al.  Automatic extraction of the control flow machine and application to evaluating coverage of verification vectors , 1995, Proceedings of ICCD '95 International Conference on Computer Design. VLSI in Computers and Processors.

[16]  Fabio Somenzi,et al.  Redundancy identification/removal and test generation for sequential circuits using implicit state enumeration , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Mark Horowitz,et al.  Architecture validation for processors , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.

[18]  H. K. Reghbati,et al.  Functional specification and testing of logic circuits , 1985 .

[19]  Kwang-Ting Cheng,et al.  Automatic Functional Test Generation Using The Extended Finite State Machine Model , 1993, 30th ACM/IEEE Design Automation Conference.