Efficient Bit-Level Model Reductions for Automated Hardware Verification

Transition systems which do not perform domain-specific operations on their state variables can be efficiently reduced. We present two different algorithms which automatically eliminate domain-specific operations and reduce the domains of occurring variables from infinite to small domains. Our work extends earlier techniques which are applicable solely to combinatorial properties to temporal properties of transition systems. We have implemented our algorithm as a proof method in the Isabelle/HOL theorem prover and applied it to bit-level hardware designs. To demonstrate the efficiency of our technique, we fully automatically verify a liveness property of a pipelined processor and correctness of a memory management unit.

[1]  Sergey Tverdyshev,et al.  Combination of Isabelle/HOL with Automatic Tools , 2005, FroCoS.

[2]  Iakov Dalinger,et al.  Formal verification of a processor with memory management units , 2013 .

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

[4]  Eyad Alkassar,et al.  Formal Correctness of an Automotive Bus Controller Implementation at Gate-Level , 2008, DIPES.

[5]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[6]  Aarti Gupta,et al.  Verification of embedded memory systems using efficient memory modeling , 2005, Design, Automation and Test in Europe.

[7]  Christian Jacobi Formal Verification of Complex Out-of-Order Pipelines by Combining Model-Checking and Theorem-Proving , 2002, CAV.

[8]  Wolfgang J. Paul,et al.  Computer architecture - complexity and correctness , 2000 .

[9]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[10]  Miroslav N. Velev,et al.  Automatic Formal Verification of Liveness for Pipelined Processors with Multicycle Functional Units , 2005, CHARME.

[11]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[12]  Panagiotis Manolios,et al.  Automatic memory reductions for RTL model verification , 2006, ICCAD.

[13]  Andrew William Roscoe,et al.  Polymorphic systems with arrays : decidability and undecidability , 2004 .

[14]  Amir Pnueli,et al.  The Small Model Property: How Small Can It Be? , 2002, Inf. Comput..

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

[16]  A. W. Roscoe,et al.  Polymorphic Systems with Arrays, 2-Counter Machines and Multiset Rewriting , 2004, INFINITY.

[17]  Daniel Kroening,et al.  Formal verification of pipelined microprocessors , 2001, Ausgezeichnete Informatikdissertationen.

[18]  Amir Pnueli,et al.  The small model property: how small can it be? , 2002 .

[19]  Mark A. Hillebrand,et al.  On the Verification of Memory Management Mechanisms , 2005, CHARME.

[20]  Ranga Vemuri,et al.  Automatic data path abstraction for verification of large scale designs , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[21]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[22]  Sanjit A. Seshia,et al.  Modeling and Verification of Out-of-Order Microprocessors in UCLID , 2002, FMCAD.

[23]  Christian Jacobi,et al.  Putting it all together – Formal verification of the VAMP , 2006, International Journal on Software Tools for Technology Transfer.

[24]  Stephan Merz,et al.  Model Checking , 2000 .

[25]  Jun Sawada,et al.  Processor Verification with Precise Exeptions and Speculative Execution , 1998, CAV.

[26]  Vivek Sagdeo The complete Verilog book , 1998 .

[27]  Panagiotis Manolios,et al.  A Framework for Verifying Bit-Level Pipelined Machines Based on Automated Deduction and Decision Procedures , 2006, Journal of Automated Reasoning.

[28]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[29]  Randal E. Bryant,et al.  TLSim and EVC: a term-level symbolic simulator and an efficient decision procedure for the logic of equality with uninterpreted functions and memories , 2005, Int. J. Embed. Syst..