Skip to main content

Microprocessor Verification Using Efficient Decision Procedures for a Logic of Equality with Uninterpreted Functions

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 1617))

Abstract

Modern processors have relatively simple specifications based on their instruction set architectures. Their implementations, however, are very complex, especially with the advent of performance-enhancing techniques such as pipelining, superscalar operation, and speculative execution. Formal techniques to verify that a processor implements its instruction set specification could yield more reliable results at a lower cost than the current simulation-based verification techniques used in industry.

The logic of equality with uninterpreted functions (EUF) provides a means of abstracting the manipulation of data by a processor when verifying the correctness of its control logic. Using a method devised by Burch and Dill [BD94], the correctness of a processor can be inferred by deciding the validity of a formula in EUF describing the comparative effect of running one clock cycle of processor operation to that of executing a small number (based on the processor issue rate) of machine instructions.

This paper describes recent advances in reducing formulas in EUF to propositional logic. We can then use either Binary Decision Diagrams (BDDs) or satisfiability procedures to determine whether this propositional formula is a tautology. We can exploit characteristics of the formulas generated when modeling processors to significantly reduce the number of propositional variables, and consequently the complexity, of the verification task.

This research was supported at Carnegie Mellon University by SRC Contract 98-DC-068 and by grants from Fujitsu, Motorola, and Intel.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. W. Ackermann, Solvable Cases of the Decision Problem, North-Holland, Amsterdam, 1954.

    MATH  Google Scholar 

  2. C. Barrett, D. Dill, and J. Levitt, “Validity checking for combinations of theories with equality,” Formal Methods in Computer-Aided Design (FMCAD’ 96), M. Srivas and A. Camilleri, eds., LNCS 1166, Springer-Verlag, November, 1996, pp. 187–201.

    Chapter  Google Scholar 

  3. S. Bose, and A. L. Fisher, “Verifying Pipelined Hardware Using Symbolic Logic Simulation,” International Conference on Computer Design (ICCD’ 89), 1989, pp. 217–221.

    Google Scholar 

  4. R. E. Bryant, “Graph-based algorithms for Boolean function manipulation”, IEEE Transactions on Computers, Vol. C-35, No. 8 (August, 1986), pp. 677–691.

    Article  Google Scholar 

  5. R. E. Bryant, S. German, and M. N. Velev, “Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic,” Technical report CMU-CS-99-115, Carnegie Mellon University, 1999. Available electronically as: http://www.cs.cmu.edu/~bryant/pubdir/cmu-cs-99-115.ps.

  6. R. E. Bryant, S. German, and M. N. Velev, “Exploiting positive equality in a logic of uninterpreted functions with equality,” Computer-Aided Verification (CAV’ 99), 1999.

    Google Scholar 

  7. J. R. Burch, and D. L. Dill, “Automated verification of pipelined microprocessor control,” Computer-Aided Verification (CAV’ 94), D. L. Dill, ed., LNCS 818, Springer-Verlag, June, 1994, pp. 68–80.

    Google Scholar 

  8. J. R. Burch, “Techniques for verifying superscalar microprocessors,” 33rd Design Automation Conference (DAC’ 96), June, 1996, pp. 552–557.

    Google Scholar 

  9. A. Goel, K. Sajid, H. Zhou, A. Aziz, and V. Singhal, “BDD based procedures for a theory of equality with uninterpreted functions,” Computer-Aided Verification (CAV’ 98), A. J. Hu and M. Y. Vardi, eds., LNCS 1427, Springer-Verlag, June, 1998, pp. 244–255.

    Chapter  Google Scholar 

  10. J. L. Hennessy, and D. A. Patterson, Computer Architecture: A Quantitative Approach, 2nd edition Morgan-Kaufmann, San Francisco, 1996.

    MATH  Google Scholar 

  11. C. A. R. Hoare, “Proof of Correctness of Data Representations,” Acta Informatica Vol. 1, 1972, pp. 271–281.

    Article  MATH  Google Scholar 

  12. M. Kantrowitz, and L. M. Noack, “I’m Done Simulating; Now What? Verification Coverage Analysis and Correctness Checking of the DECchip 21164 Alpha Microprocessor,” 33rd Design Automation Conference (DAC’ 96), 1996, pp. 325–330.

    Google Scholar 

  13. G. Nelson, and D. C. Oppen, “Fast decision procedures based on the congruence closure,” J. ACM, Vol. 27, No. 2 (1980), pp. 356–364.

    Article  MATH  MathSciNet  Google Scholar 

  14. K. L. Nelson, A. Jain, and R. E. Bryant, “Formal Verification of a Superscalar Execution Unit,” 34th Design Automation Conference (DAC’ 97), June, 1997.

    Google Scholar 

  15. A. Pnueli, Y. Rodeh, O. Shtrichman, and M. Siegel, “Deciding equality formulas by small-domain instantiations,” Computer-Aided Verification (CAV’ 99), 1999.

    Google Scholar 

  16. R. E. Shostak, “A practical decision procedure for arithmetic with function symbols,” J. ACM, Vol. 26, No. 2 (1979), pp. 351–360.

    Article  MATH  MathSciNet  Google Scholar 

  17. M. Srivas and M. Bickford, “Formal Verification of a Pipelined Microprocessor,” IEEE Software, Vol. 7, No. 5 (Sept., 1990), pp. 52–64.

    Article  Google Scholar 

  18. M. N. Velev, and R. E. Bryant, “Bit-level abstraction in the verification of pipelined microprocessors by correspondence checking.” Formal Methods in Computer-Aided Design (FMCAD’ 98), G. Gopalakrishnan and P. Windley, eds., LNCS 1522, Springer-Verlag, November, 1998, pp. 18–35.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bryant, R.E., German, S., Velev, M.N. (1999). Microprocessor Verification Using Efficient Decision Procedures for a Logic of Equality with Uninterpreted Functions. In: Murray, N.V. (eds) Automated Reasoning with Analytic Tableaux and Related Methods. TABLEAUX 1999. Lecture Notes in Computer Science(), vol 1617. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48754-9_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-48754-9_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66086-6

  • Online ISBN: 978-3-540-48754-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics