Formal Verification of Designs with Complex Control by Symbolic Simulation

  • Gerd Ritter
  • Hans Eveking
  • Holger Hinrichsen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1703)


A new approach for the automatic equivalence checking of behavioral or structural descriptions of designs with complex control is presented. The verification tool combines symbolic simulation with a hierarchy of equivalence checking methods, including decision-diagram based techniques, with increasing accuracy in order to optimize overall verification time without giving false negatives. The equivalence checker is able to cope with different numbers of control steps and different implementational details in the two descriptions to be compared.


Equivalence Class Structural Description Equivalence Check Complex Control Path Search 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    C. W. Barrett, D.L. Dill, and J. R. Levitt: Validity checking for combinations of theories with equality. In Proc. FMCAD’96,Springer LNCS 1166, 1996.Google Scholar
  2. 2.
    C. W. Barrett, D. L. Dill, and J. R. Levitt: A decision procedure for bit-vector arithmetic. In Proc. DAC’98, 1998.Google Scholar
  3. 3.
    D. L. Beatty and R. E. Bryant: Formally verifying a microprocessor using a simulation methodology. In Proc. DAC’94, 1994.Google Scholar
  4. 4.
    B. Brock, W. A. Hunt, and M. Kaufmann: The FM9001 microprocessor proof. Technical Report 86, Computational Logic Inc., 1994.Google Scholar
  5. 5.
    B. Brock, M. Kaufmann, and J. S. Moore: ACL2 theorems about commercial microprocessors. In Proc. FMCAD’96, Springer LNCS 1166, 1996.Google Scholar
  6. 6.
    R. E. Bryant: Graph-based algorithms for Boolean function manipulation. In IEEE Trans. on Computers, Vol. C-35, No. 8, pages 677–691, 1986.Google Scholar
  7. 7.
    R. E. Bryant and Y.-A. Chen: Verification of arithmetic functions with binary moment diagrams. Technical Report CMU-CS-94-160, Carnegie Mellon University, 1994.Google Scholar
  8. 8.
    R. E. Bryant and Y.-A. Chen: Verification of arithmetic circuits with binary moment diagrams. In Proc. DAC’95, 1995.Google Scholar
  9. 9.
    J. R Burch: Techniques for verifying superscalar microprocessors. In Proc. DAC7#x2019;96, 1996.Google Scholar
  10. 10.
    J. R. Burch, E. Clarke, K. McMillan, and D. Dill: Sequential circuit verification using symbolic model checking. In Proc. DAC’90, 1990.Google Scholar
  11. 11.
    J. R. Burch and D. L. Dill: Automatic verification of pipelined microprocessor control. In Proc. CAV’94. Springer LNCS 818, 1994.Google Scholar
  12. 12.
    O. Coudert, C. Berthet, and J.-C. Madre: Verification of synchronous sequential machines based on symbolic execution. In Proc. Automatic Verification Methods for Finite State Systems, Springer LNCS 407, 1989.Google Scholar
  13. 13.
    D. A. Greve: Symbolic simulation of the JEM1 microprocessor. In Proc. FMCAD’98, Springer LNCS 1522, 1998.Google Scholar
  14. 14.
    J. L. Hennessy, D. A. Patterson: Computer architecture: a quantitative approach. Morgan Kaufman, CA, second edition, 1996.zbMATHGoogle Scholar
  15. 15.
    H. Hinrichsen, H. Eveking, and G. Ritter: Formal synthesis for pipeline design. In Proc. DMTCS+CATS’99, Auckland, 1999.Google Scholar
  16. 16.
    S. Höreth: Implementation of a multiple-domain decision diagram package. In Proc. CHARME’97, pp. 185–202, 1997.Google Scholar
  17. 17.
    S. Höreth:Hybrid Graph Manipulation Package Demo. URL:,Darmstadt 1998.
  18. 18.
    R. Hosabettu, M. Srivas, and G. Gopalakrishnan: Decomposing the proof of correctness of pipelined microprocessors. In Proc. CAV’98, Springer LNCS 1427, 1998.Google Scholar
  19. 19.
    R. B. Jones, D. L. Dill, and J. R. Burch: Efficient validity checking for processor verification. In Proc. ICCAD’95, November 1995.Google Scholar
  20. 20.
    R. B. Jones, J. U. Skakkebæk, and D. L. Dill: Reducing manual abstraction in formal verification of out-of-order execution. In Proc. FMCAD’98, Springer LNCS 1522, 1998.Google Scholar
  21. 21.
    J. S. Moore: Symbolic simulation: an ACL2 approach. In Proc. FMCAD’98, Springer LNCS 1522, 1998.Google Scholar
  22. 22.
    J. U. Skakkebæk, R. B. Jones, and D. L. Dill: Formal verification of out-of-order execution using incremental flushing. In Proc. CAV’98, Springer LNCS 1427, 1998.Google Scholar
  23. 23.
    M. Srivas and S. P. Miller: Applying formal verification to a commercial microprocessor. In Computer Hardware Description Language, August 1995.Google Scholar
  24. 24.
    M. N. Velev and R. E. Bryant: Bit-level abstraction in the verification of pipelined microprocessors by correspondence checking. In FMCAD’98, Springer LNCS 1522, 1998.Google Scholar
  25. 25.
    P. J. Windley and J. R. Burch: Mechanically checking a lemma used in an automatic verification tool. In Proc. FMCAD’96, November 1996.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Gerd Ritter
    • 1
  • Hans Eveking
  • Holger Hinrichsen
    • 1
  1. 1.Dept. of Electrical and Computer EngineeringDarmstadt University of TechnologyGermany

Personalised recommendations