A Methodology for Large-Scale Hardware Verification

We present a formal verification methodology for datapath-dominated hardware. This provides a systematic but flexible framework within which to organize the activities undertaken in large-scale verification efforts and to structure the associated code and proof-script artifacts. The methodology deploys a combination of model checking and lightweight theorem proving in higher-order logic, tightly integrated within a general-purpose functional programming language that allows the framework to be easily customized and also serves as a specification language. We illustrate the methodology--which has has proved highly effective in large-scale industrial trials--with the verification of an IEEE-compliant, extended precision floating-point adder.

[1]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[2]  Thomas Kropf,et al.  Introduction to Formal Hardware Verification , 1999, Springer Berlin Heidelberg.

[3]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[4]  Ying Liu,et al.  Practical Application of Formal Verification Techniques on a Frame Mux/Demux Chip from Nortel Semiconductors , 1999, CHARME.

[5]  Carl-Johan H. Seger,et al.  Combining theorem proving and trajectory evaluation in an industrial environment , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[6]  Carl-Johan H. Seger,et al.  Formal verification using parametric representations of Boolean constraints , 1999, DAC '99.

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

[8]  Lennart Augustsson,et al.  A compiler for lazy ML , 1984, LFP '84.

[9]  Carl-Johan H. Seger,et al.  Parametric Representations of Boolean Constraints. , 1999, DAC 1999.

[10]  Ásgeir Th. Eiríksson The Formal Design of 1M-gate ASICs , 1998, FMCAD.

[11]  Janick Bergeron,et al.  Writing Testbenches: Functional Verification of HDL Models , 2000 .

[12]  Charles Retter,et al.  Computer Architecture: A Designer''s Text Based on a Generic RISC, McGraw-Hill Computer Science Ser , 1994 .

[13]  Lawrence C. Paulson,et al.  ML for the working programmer (2. ed.) , 1996 .

[14]  Thomas Kropf Introduction to Formal Hardware Verification: Methods and Tools for Designing Correct Circuits and Systems , 1999 .

[15]  Carl-Johan H. Seger,et al.  Lifted-FL: A Pragmatic Implementation of Combined Model Checking and Theorem Proving , 1999, TPHOLs.

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

[17]  C. Seger,et al.  Formally Verifying IEEE Compliance of Floating-Point Hardware , 2022 .

[18]  Don Syme,et al.  Three Tactic Theorem Proving , 1999, TPHOLs.