Skip to main content

Modeling and Verification of Out-of-Order Microprocessors in UCLID

  • Conference paper
  • First Online:
Formal Methods in Computer-Aided Design (FMCAD 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2517))

Included in the following conference series:

Abstract

In this paper, we describe the modeling and verification of out-of-order microprocessors with unbounded resources using an expressive, yet efficiently decidable, quantifier-free fragment of first order logic. This logic includes uninterpreted functions, equality, ordering, constrained lambda expressions, and counter arithmetic. UCLID is a tool for specifying and verifying systems expressed in this logic. The paper makes two main contributions. First, we show that the logic is expressive enough to model components found in most modern microprocessors, independent of their actual sizes. Second, we demonstrate UCLID’s verification capabilities, ranging from full automation for bounded property checking to a high degree of automation in proving restricted classes of invariants. These techniques, coupled with a counterexample generation facility, are useful in establishing correctness of processor designs. We demonstrate UCLID’s methods using a case study of a synthetic model of an out-of-order processor where all the invariants were proved automatically.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T. Arons and A. Pnueli. Verifying Tomasulo’s algorithm by Refinement. In Proc. VLSI Design Conference (VLSI’ 99), 1999.

    Google Scholar 

  2. T. Arons and A. Pnueli. A comparison of two verification methods for speculative instruction execution. In Proc. Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2000), March 2000.

    Google Scholar 

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

    Chapter  Google Scholar 

  4. S. Berezin, A. Biere, E. M. Clarke, and Y. Zhu. Combining symbolic model checking with uninterpreted functions for out of order microprocessor verification. In Formal Methods in Computer-Aided Design(FMCAD’ 98), LNCS 1522. Springer-Verlag, November 1998.

    Chapter  Google Scholar 

  5. R. E. Bryant, S. German, and M. N. Velev. Exploiting positive equality in a logic of equality with uninterpreted functions. In N. Halbwachs and D. Peled, editors, Computer-Aided Verification (CAV’ 99), LNCS 1633, pages 470–482. Springer-Verlag, July 1999.

    Chapter  Google Scholar 

  6. R. E. Bryant, S. German, and M. N. Velev. Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic. ACM Transactions on Computational Logic, 2(1):1–41, January 2001.

    Google Scholar 

  7. R. E. Bryant, S. K. Lahiri, and S. A. Seshia. Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions. In Proc. Computer-Aided Verification (CAV’02) (to appear), July 2002.

    Google Scholar 

  8. J. R. Burch and D. L. Dill. Automated verification of pipelined microprocessor control. In D. L. Dill, editor, Computer-Aided Verification (CAV’ 94), LNCS 818, pages 68–80. Springer-Verlag, June 1994.

    Google Scholar 

  9. Y. Gurevich. The decision problem for standard classes. The Journal of Symbolic Logic, 41(2):460–464, June 1976.

    Google Scholar 

  10. R. Hosabettu, G. Gopalakrishnan, and M. Srivas. Proof of correctness of a processor with reorder buffer using the completion function approach. In N. Halbwachs and D. Peled, editors, Computer-Aided Verification (CAV 1999), volume 1633 of Lecture Notes in Computer Science. Springer-Verlag, July 1999.

    Chapter  Google Scholar 

  11. R. Hosabettu, G. Gopalakrishnan, and M. Srivas. Verifying advanced microarchitectures that support speculation and exceptions. In A. Emerson and P. Sistla, editors, Computer-Aided Verification (CAV 2000), LNCS 1855. Springer-Verlag, July 2000.

    Chapter  Google Scholar 

  12. R. Jhala and K. McMillan. Microarchitecture verification by compositional model checking. In G. Berry, H. Comon, and A. Finkel, editors, Computer-Aided Verification, volume 2102 of Lecture Notes in Computer Science, pages 396–410. Springer-Verlag, July 2001.

    Google Scholar 

  13. S. Lahiri, C. Pixley, and K. Albin. Experience with term level modeling and verification of the MCORE microprocessor core. In Proc. IEEE High Level Design Validation and Test (HLDVT 2001), November 2001.

    Google Scholar 

  14. K. McMillan. Verification of an implementation of Tomasulo’s algorithm by compositional model checking. In A. J. Hu and M. Y. Vardi, editors, Computer-Aided Verification (CAV 1998), volume 1427 of Lecture Notes in Computer Science Springer-Verlag, June 1998.

    Chapter  Google Scholar 

  15. M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In 38th Design Automation Conference (DAC’ 01), June 2001.

    Google Scholar 

  16. S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In Deepak Kapur, editor, 11th International Conference on Automated Deduction (CADE), volume 607 of Lecture Notes in Artificial Intelligence, pages 748–752. Springer-Verlag, June 1992.

    Google Scholar 

  17. J. Sawada and W. Hunt. Processor verification with precise exceptions and speculative execution. In A. J. Hu and M. Y. Vardi, editors, Computer-Aided Verification (CAV’ 98), LNCS 1427. Springer-Verlag, June 1998.

    Chapter  Google Scholar 

  18. J. P. Shen and M. Lipasti. Fundamentals of Superscalar Processor Design. In Press, 2001.

    Google Scholar 

  19. J. U. Skakkaebaek, R. B. Jones, and D. L. Dill. Formal verification of out-of-order execution using incremental flushing. In A. J. Hu and M. Y. Vardi, editors, Computer-Aided Verification (CAV’ 98), LNCS 1427. Springer-Verlag, June 1998.

    Google Scholar 

  20. M. N. Velev. Using rewriting rules and positive equality to formally verify wide-issue out-of-order microprocessors with a reorder buffer. In Design, Automation and Test in Europe (DATE’ 02), pages 28–35, March 2002.

    Google Scholar 

  21. M. N. Velev and R. E. Bryant. Formal Verification of Superscalar Microprocessors with Multicycle Functional Units, Exceptions and Branch Predication. In 37th Design Automation Conference (DAC’ 00), June 2000.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lahiri, S.K., Seshia, S.A., Bryant, R.E. (2002). Modeling and Verification of Out-of-Order Microprocessors in UCLID. In: Aagaard, M.D., O’Leary, J.W. (eds) Formal Methods in Computer-Aided Design. FMCAD 2002. Lecture Notes in Computer Science, vol 2517. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36126-X_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-36126-X_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00116-4

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics