Machine assisted verification

An introduction to a number of fully mechanized methods of formal hardware verification is given. Decision-diagram based procedures for the verification of combinational circuits at the gate- and word-level are surveyed. Fixed-point calculation techniques for equivalence and property verification of sequential machines are studied. The verification of processor architectures at the instruction-set and algorithmic register-transfer level is discussed. A method of formally correct synthesis of pipelined architectures is presented.

[1]  Mary Sheeran,et al.  A Tutorial on Stålmarcks's Proof Procedure for Propositional Logic , 1998, FMCAD.

[2]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[3]  Kunle Olukotun,et al.  A scalable formal verification methodology for pipelined microprocessors , 1996, 33rd Design Automation Conference Proceedings, 1996.

[4]  Hans Eveking,et al.  Automatic verification of scheduling results in high-level synthesis , 1999, DATE '99.

[5]  Wolfgang Kunz,et al.  HANNIBAL: An efficient tool for logic verification based on recursive learning , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[6]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[7]  Jörg Bormann,et al.  Model Checking in Industrial Hardware Design , 1995, 32nd Design Automation Conference.

[8]  R. Brayton,et al.  Reachability analysis using partitioned-ROBDDs , 1997, ICCAD 1997.

[9]  Bishop Brock,et al.  ACL2 Theorems About Commercial Microprocessors , 1996, FMCAD.

[10]  Rolf Drechsler,et al.  K*BMDs: a new data structure for verification , 1996, Proceedings ED&TC European Design and Test Conference.

[11]  Harald Ruess,et al.  An Efficient Decision Procedure for the Theory of Fixed-Sized Bit-Vectors , 1997, CAV.

[12]  Rolf Drechsler,et al.  Efficient Representation and Manipulation of Switching Functions Based on Ordered Kronecker Functional Decision Diagrams , 1994, 31st Design Automation Conference.

[13]  R. Bryant,et al.  PHDD: an efficient graph representation for floating point circuit verification , 1997, ICCAD 1997.

[14]  Ahmed Amine Jerraya,et al.  Formulation and evaluation of scheduling techniques for control flow graphs , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[15]  Fabio Somenzi,et al.  Logic synthesis and verification algorithms , 1996 .

[16]  Thomas Kropf Formal Hardware Verification: Methods and Systems in Comparison , 1997 .

[17]  R. Bryant,et al.  Verification of Arithmetic Functions with Binary Moment Diagrams , 1994 .

[18]  Masahiro Fujita,et al.  Spectral Transforms for Large Boolean Functions with Applications to Technology Mapping , 1993, 30th ACM/IEEE Design Automation Conference.

[19]  David L. Dill,et al.  Efficient validity checking for processor verification , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[20]  Kenneth L. McMillan,et al.  Verification of Infinite State Systems by Compositional Model Checking , 1999, CHARME.

[21]  Hans Eveking,et al.  Verifikation digitaler Systeme , 1991 .

[22]  Hans Eveking,et al.  Formal synthesis for pipeline design , 1999 .

[23]  Arthur J. Bernstein,et al.  Analysis of Programs for Parallel Processing , 1966, IEEE Trans. Electron. Comput..

[24]  Luciano Lavagno,et al.  Disjunctive partitioning and partial iterative squaring: an effective approach for symbolic traversal of large circuits , 1997, DAC.

[25]  Wolfgang Rosenstiel,et al.  Multilevel logic synthesis based on functional decision diagrams , 1992, [1992] Proceedings The European Conference on Design Automation.

[26]  Alice C. Parker,et al.  Sehwa: a software package for synthesis of pipelines from behavioral specifications , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  Magdy S. Abadir,et al.  Formal verification of content addressable memories using symbolic trajectory evaluation , 1997, DAC.

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

[29]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[30]  Amir Pnueli,et al.  Verifying out-of-order executions , 1997, CHARME.

[31]  Yusuke Matsunaga An efficient equivalence checker for combinational circuits , 1996, DAC '96.

[32]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[33]  Hans Eveking,et al.  Formal Verification of Designs with Complex Control by Symbolic Simulation , 1999, CHARME.

[34]  Jerry R. Burch,et al.  Mechanically Checking a Lemma Used in an Automatic Verification Tool , 1996, FMCAD.

[35]  Randal E. Bryant,et al.  Formal hardware verification by symbolic ternary trajectory evaluation , 1991, 28th ACM/IEEE Design Automation Conference.

[36]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[37]  Randal E. Bryant,et al.  Formal verification by symbolic evaluation of partially-ordered trajectories , 1995, Formal Methods Syst. Des..

[38]  Edmund M. Clarke,et al.  Symbolic model checking for sequential circuit verification , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[39]  S. Minato Binary Decision Diagrams and Applications for VLSI CAD , 1995 .

[40]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[41]  G. Cabodi,et al.  Improved reachability analysis of large finite state machines , 1996, ICCAD 1996.

[42]  Randal E. Bryant,et al.  Formal verification of a superscalar execution unit , 1997, DAC.

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

[44]  Hans Eveking,et al.  Formal Verification of Descriptions with Distinct Order of Memory Operations , 1999, ASIAN.

[45]  Laurence Pierre,et al.  Formal proofs from HDL descriptions , 1993 .

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

[47]  K Srivas Mandayam,et al.  Formal Verification of an Avionics Microprocessor , 1995 .

[48]  Stefan Höreth Implementation of a multiple-domain decision diagram package , 1997, CHARME.

[49]  Robert E. Shostak,et al.  A Practical Decision Procedure for Arithmetic with Function Symbols , 1979, JACM.

[50]  Kunle Olukotun,et al.  Verifying correct pipeline implementation for microprocessors , 1997, ICCAD 1997.

[51]  Carl-Johan H. Seger,et al.  A simple theorem prover based on symbolic trajectory evaluation and BDD's , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[52]  David Cyrluk,et al.  Inverting the Abstraction Mapping: A Methodology for Hardware Verification , 1996, FMCAD.

[53]  Jerry R. Burch Techniques for verifying superscalar microprocessors , 1996, DAC '96.

[54]  Robert P. Kurshan Formal verification in a commercial setting , 1997, DAC.

[55]  C. A. J. van Eijk,et al.  Sequential equivalence checking without state space traversal , 1998, DATE.

[56]  Bernd Becker,et al.  How many Decomposition Types do we need , 1995 .

[57]  Yung-Te Lai,et al.  Edge-valued binary decision diagrams for multi-level hierarchical verification , 1992, DAC '92.

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

[59]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, ICCAD 1993.

[60]  V. M. Glushkov,et al.  Automata theory and formal microprogram transformations , 1965 .

[61]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[62]  van Caj Koen Eijk,et al.  Formal methods for the verification of digital circuits , 1997 .

[63]  Randal E. Bryant,et al.  Superscalar Processor Verification Using Efficient Reductions of the Logic of Equality with Uninterpreted Functions to Propositional Logic , 1999, CHARME.

[64]  Andreas Kuehlmann,et al.  Equivalence checking using cuts and heaps , 1997, DAC.

[65]  Randal E. Bryant,et al.  Verification of Arithmetic Circuits with Binary Moment Diagrams , 1995, 32nd Design Automation Conference.

[66]  C. A. J. van Eijk,et al.  Exploiting Structural Similarities in a BDD-Based Verification Method , 1994, TPCD.

[67]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[68]  Randal E. Bryant,et al.  Verifying Nondeterministic Implementations of Deterministic Systems , 1996, FMCAD.

[69]  Robert E. Tarjan,et al.  Efficiency of a Good But Not Linear Set Union Algorithm , 1972, JACM.

[70]  Prof. Dr. Christoph Meinel,et al.  Algorithms and Data Structures in VLSI Design , 1998, Springer Berlin Heidelberg.

[71]  Rolf Drechsler,et al.  Dynamic minimization of word-level decision diagrams , 1998, Proceedings Design, Automation and Test in Europe.

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

[73]  Armin Biere,et al.  Verifiying Safety Properties of a Power PC Microprocessor Using Symbolic Model Checking without BDDs , 1999, CAV.

[74]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[75]  Egon Börger,et al.  A Practical Method for Rigorously Controllable Hardware Design , 1997, ZUM.

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

[77]  W. Kunz,et al.  Record and play: a structural fixed point iteration for sequential circuit verification , 1997, ICCAD 1997.

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

[79]  Jean P. Mermet,et al.  Fundamentals and standards in hardware description languages , 1993 .

[80]  Michael Yoeli Formal Verification of Hardware Design , 1990 .

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

[82]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[83]  Ramayya Kumar,et al.  Formal Synthesis in Circuit Design - A Classification and Survey , 1996, FMCAD.

[84]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.