Model checking: a hardware design perspective

Abstract.Current practices in the verification of commercial hardware designs (digital, synchronous, and sequential semiconductors) are described. Recent advances in verification by the mathematical technique called model checking are described, and requirements for the successful application of model checking in commercial design are discussed.

[1]  R. Brayton,et al.  Compiling Verilog into timed finite state machines , 1995, Proceedings. 1995 IEEE International Verilog HDL Conference.

[2]  Jan van Leeuwen,et al.  Formal models and semantics , 1990 .

[3]  Edmund M. Clarke,et al.  Efficient generation of counterexamples and witnesses in symbolic model checking , 1995, DAC '95.

[4]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[5]  R. P. Kurshan,et al.  Reducibility in analysis of coordination , 1988 .

[6]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[7]  Michael Burns,et al.  Commercial design verification: methodology and tools , 1996, Proceedings International Test Conference 1996. Test and Design Validity.

[8]  Randal E. Bryant Binary decision diagrams and beyond: enabling technologies for formal verification , 1995, ICCAD.

[9]  A. Prasad Sistla,et al.  The complexity of propositional linear temporal logics , 1982, STOC '82.

[10]  A. Prasad Sistla,et al.  Symmetry and model checking , 1993, Formal Methods Syst. Des..

[11]  Robert K. Brayton,et al.  BDD-Based Debugging Of Design Using Language Containment and Fair CTL , 1993, CAV.

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

[13]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

[14]  Adnan Aziz,et al.  Formula-Dependent Equivalence for Compositional CTL Model Checking , 1994, CAV.

[15]  Jean Christophe Madre,et al.  Proving circuit correctness using formal comparison between expected and extracted behaviour , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[16]  Kenneth L. McMillan,et al.  A Compositional Rule for Hardware Design Refinement , 1997, CAV.

[17]  Thomas A. Henzinger,et al.  From Pre-historic to Post-modern Symbolic Model Checking , 1998, CAV.

[18]  M. Kaufmann,et al.  Formal Verification Of FIRE: A Case Study , 1997, Proceedings of the 34th Design Automation Conference.

[19]  Olivier Coudert,et al.  A unified framework for the formal verification of sequential circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[20]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[21]  Thomas F. Fox The Design of High-Performance Microprocessors at Digital , 1994, 31st Design Automation Conference.

[22]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[23]  Somesh Jha,et al.  Exploiting Symmetry In Temporal Logic Model Checking , 1993, CAV.

[24]  James S. Jephson,et al.  A Three-Value Computer Design Verification System , 1969, IBM Syst. J..

[25]  Albert R. Wang,et al.  Logic verification using binary decision diagrams in a logic synthesis environment , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[26]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[27]  Edmund M. Clarke,et al.  Characterizing Finite Kripke Structures in Propositional Temporal Logic , 1988, Theor. Comput. Sci..

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

[29]  Abelardo Pardo,et al.  Tearing based automatic abstraction for CTL model checking , 1996, Proceedings of International Conference on Computer Aided Design.

[30]  Orna Grumberg,et al.  Generation of Reduced Models for Checking Fragments of CTL , 1993, CAV.

[31]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[32]  Robert K. Brayton,et al.  BDD Variable Ordering for Interacting Finite State Machines , 1994, 31st Design Automation Conference.

[33]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

[34]  C. Eisner,et al.  RuleBase: an industry-oriented formal verification tool , 1996, 33rd Design Automation Conference Proceedings, 1996.

[35]  Donald E. Thomas,et al.  The Verilog® Hardware Description Language , 1990 .

[36]  sgeir Th. Eir ksson Integrating Formal Verification Methods with A Conventional Project Design Flow , 1996 .

[37]  C. Eisner,et al.  Efficient Detection of Vacuity in ACTL Formulaas , 1997, CAV.

[38]  Girish Bhat,et al.  Efficient on-the-fly model checking for CTL , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

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

[40]  Somesh Jha,et al.  Verification of the Futurebus+ cache coherence protocol , 1993, Formal Methods Syst. Des..

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

[42]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[43]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[44]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[45]  Robert K. Brayton,et al.  Verifying Interacting Finite State Machines , 1993 .

[46]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[47]  Carl Pixley,et al.  Design Constraints in Symbolic Model Checking , 1998, CAV.

[48]  Carl Pixley,et al.  Intertwined development and formal verification of a 60/spl times/ bus model , 1997, Proceedings International Conference on Computer Design VLSI in Computers and Processors.

[49]  Johan Lewi,et al.  A Linear Local Model Checking Algorithm for CTL , 1993, CONCUR.

[50]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[51]  David R. Coelho,et al.  The VHDL Handbook , 1989 .

[52]  R. Bryant,et al.  Formal verification of PowerPC arrays using symbolic trajectory evaluation , 1996, 33rd Design Automation Conference Proceedings, 1996.

[53]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[54]  E. Emerson,et al.  Modalities for model checking (extended abstract): branching time strikes back , 1985, ACM-SIGACT Symposium on Principles of Programming Languages.

[55]  Carl Pixley Introduction to a Computational Theory and Implementation of Sequential Hardware Equivalence , 1990, CAV.

[56]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[57]  David L. Dill,et al.  Efficient verification of symmetric concurrent systems , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

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

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

[60]  Edmund M. Clarke,et al.  Word level model checking—avoiding the Pentium FDIV error , 1996, DAC '96.

[61]  R. Kurshan,et al.  Formal Verification In A Commercial Setting , 1997, Proceedings of the 34th Design Automation Conference.

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

[63]  Beate Bollig,et al.  Improving the Variable Ordering of OBDDs Is NP-Complete , 1996, IEEE Trans. Computers.

[64]  J. Taylor,et al.  Switching and finite automata theory, 2nd ed. , 1980, Proceedings of the IEEE.

[65]  H. Iwashita,et al.  CTL model checking based on forward state traversal , 1996, ICCAD 1996.