Skip to main content

Reducing Manual Abstraction in Formal Verification of Out- of- Order Execution

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

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

Included in the following conference series:

Abstract

Several methods have recently been proposed for verifying processors with out-of-order execution. These methods use intermediate abstractions to decompose the verification process into smaller steps. Unfortunately, the process of manually creating intermediate abstractions is very laborious. We present an approach that dramatically reduces the need for an intermediate abstraction, so that only the scheduling logic of the implementation is abstracted. After the abstraction, we apply an enhanced incremental-flushing approach to verify the remaining circuitry by comparing the processor description against itself in a slightly simpler configuration. By induction, we demonstrate that any reachable configuration is equivalent to the simplest possible configuration. Finally, we prove correctness on the simplest configuration. The approach is illustrated with a simple example of an out-of-order execution core.

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. S. Berezin, A. Biere, E. Clarke, and Y. Zhu. Combining symbolic model checking with uninterpreted functions for out-of-order processor verification. Appears in this volume.

    Google Scholar 

  2. J. R. Burch. Techniques for verifying superscalar microprocessors. In 33rd ACM/IEEE Design Automation Conference, pages 552–557, Las Vegas, Nevada, USA, June 1996. ACM Press.

    Google Scholar 

  3. J. R. Burch and D. L. Dill. Automatic verification of microprocessor control. In David L. Dill, editor, Computer Aided Verification. 6th International Conference, volume 818 of LNCS, pages 68–80, Stanford, California, USA, June 1994. Springer-Verlag.

    Google Scholar 

  4. Werner Damm and Amir Pnueli. Verifying out-of-order executions. In Hon F. li and David K. Probst, editors, Advances in Hardware Design and Verification: IFIP WG10.5 Internation al Conference on Correct Hardware Design and Verification Methods (CHARME), pages 23–47, Montreal, Canada, October 1997. Chapman & Hall.

    Google Scholar 

  5. J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 1990.

    Google Scholar 

  6. T. A. Henzinger, S. Qadeer, and S. K. Rajamani. You assume, we guarantee: Methodology and case studies. Technical report, Electronics Research Lab, Univ. of California, Berkeley, CA 94720, 1998.

    Google Scholar 

  7. R. Hosabettu, M. Srivas, and G. Gopalakrishnan. Decomposing the proof of correctness of pipelined microprocessors. In A. J. Hu and M. Y. Vardi, editors, Computer Aided Verification (CAV’98), volume 1427 of Lecture Notes in Computer Science, pages 122–134, Vancouver, Canada, June-July 1998. Springer-Verlag.

    Chapter  Google Scholar 

  8. R. B. Jones, D. L. Dill, and J. R. Burch. Efficient validity checking for processor verification. In Proceedings: IEEE International Conference on Computer-Aided Design (ICCAD), November 1995.

    Google Scholar 

  9. 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’98), volume 1427 of Lecture Notes in Computer Science, pages 110–121, Vancouver, Canada, June–July 1998. Springer-Verlag.

    Chapter  Google Scholar 

  10. J. Sawada and W. A. Hunt. Trace table based approach for pipelined microprocessor verification. In Orna Grumberg, editor, Computer-Aided Verification, CAV’ 97, volume 1254 of Lecture Notes in Computer Science, pages 364–375, Haifa, Israel, June 1997. Springer-Verlag.

    Google Scholar 

  11. J. Sawada and W. A. Hunt. Processor Verification with precise exceptions and speculative execution. In A. J. Hu and M. Y. Vardi, editors, Computer Aided Verification (CAV’98), volume 1427 of Lecture Notes in Computer Science, pages 135–146, Vancouver, Canada, June-July 1998. Springer-Verlag.

    Chapter  Google Scholar 

  12. J. U. SkakkebÆk, 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), volume 1427 of Lecture Notes in Computer Science, pages 98–109, Vancouver, Canada, June–July 1998. Springer-Verlag.

    Chapter  Google Scholar 

  13. P. J. Windley and J. R. Burch. Mechanically checking a lemma used in an automatic Verification tool. In Proceedings: International Conference on Formal Methods in Computer-Aided Design, pages 362–376, November 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jones, R.B., SkakkebÆk, J.U., Dill, D.L. (1998). Reducing Manual Abstraction in Formal Verification of Out- of- Order Execution. In: Gopalakrishnan, G., Windley, P. (eds) Formal Methods in Computer-Aided Design. FMCAD 1998. Lecture Notes in Computer Science, vol 1522. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49519-3_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-49519-3_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65191-8

  • Online ISBN: 978-3-540-49519-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics