Skip to main content

Formalization and Proof of a Solution to the PCI 2.1 Bus Transaction Ordering Problem

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

Abstract

The transaction ordering problem of the original PCI 2.1 standard bus specification violates the desired correctness property of maintaining the so called ‘Producer/Consumer’ relationship between writers and readers. In [3], a correction to this ordering problem was proposed and informally proved (called the “HP solution” here). In this paper, we present a formalization of the PCI 2.1 protocol in PVS. We formalize the fact that with Local Master ID added to the protocol no completion stealing is possible and the Producer/Consumer property is provided even in the presence of multiple readers. The state of our proofs leading to this result, as well as some of the much needed enhancements to theorem-proving frameworks that will greatly facilitate similar proofs, are also elaborated.

Supported in part by DARPA under contract #DABT6396C0094 (Utah Verifier), and NSF MIP MIP-9321836

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. Ricky W. Butler and Jon A. Sjogren. A PVS Graph Theory Library. Technical Report Memorandum, NASA Langly Research Center, December1997. http://atb-www.larc.nasa.gov/ftp/larc/PVS-library.

  2. E. M. Clarke, O. Grumberg, H. Hiraishi, S. Jha, D. E. Long, K. L. McMillan, and L. A. Ness. Verification of the futurebus+ cache coherence protocol. In L. Claeen, editor, Eleventh International Symposium on Computer Hardware Description Languages and their Applications. North-Holland, April 1993.

    Google Scholar 

  3. Francisco Corella. Verifying memory ordering model of I/O systems. In Invited talk at Computer Hardware Description Languages 1997, Toledo, Spain, April 1997.

    Google Scholar 

  4. Francisco Corella, Robert Shaw, and Cui Zhang. A formal proof of absence of deadlock for any acyclic network of PCI buses. In Computer Hardware Description Languages, 1997.

    Google Scholar 

  5. Rajnish Ghughal, Abdel Mokkedem, Ratan Nalumasu, and Ganesh Gopalakrishnan. Using ”test model-checking” to verify the runway-pa8000 memory model. In Tenth Annual ACM Symposium On Parallel Algorithms And Architectures, pages 231–239, Puerto Vallarta, Mexico, June 1998. ACM Press.

    Google Scholar 

  6. G. Gopalakrishnan, R. Ghughal, R. Hosabettu, A. Mokkedem, and R. Nalumasu. Formal modeling and validation applied to a commercial coherent bus: A case study. In Hon F. Li and David K. Probst, editors, CHARME, Montreal, Canada, 1997.

    Google Scholar 

  7. PCI Special Interest Group. PCI Local Bus Specification, Revision 2.1, June 1995.

    Google Scholar 

  8. A. Mokkedem. Verification of PCI 2.1 Local Bus in PVS. http://www.cs.utah.edu/~mokkedem/pvs/pvs.html.

  9. Vijay Nagasamy, Sreeranga Rajan, and Preeti R. Panda. Fiber channel protocol: Formal specification and verification. In Sixth Annual Silicon Valley Networking Conference, 1997.

    Google Scholar 

  10. Ratan Nalumasu, Rajnish Ghughal, Abdel Mokkdem, and Ganesh Gopalakrishnan. The ‘test model-checking’ approach to the verification of formal memory models of multiprocessors. In Alan J. Hu and Moshe Y. Vardi, editors, Computer Aided Verification, volume 1427 of LNCS, pages 464–476, Vancouver, BC, Canada, June 1998. Springer-Verlag.

    Chapter  Google Scholar 

  11. Sam Owre, John Rushby, Natarajan Shankar, and Friedrich von Henke. Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, February 1995.

    Google Scholar 

  12. F. Corella. Hewlett Packard. Proposal to fix ordering problem in PCI 2.1, 1996. http://www.pcisig.com/reflector/thrd8.html#00706.

  13. S. Park and D. L. Dill. Protocol verification by aggregation of distributed transactions. In Rajeev Alur and Thomas A. Henzinger, editors, Computer Aided Verification, volume 1102 of Lecture Notes in Computer Science, pages 300–309, New Brunswick, NJ, USA, July 1996. Springer-Verlag.

    Google Scholar 

  14. Edward Solari and George Willse. PCI Hardwarde and Software Architecture & Design. Annabooks, 3rd edition edition, December 1996. ISBN 0-929392-32-9.

    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

Mokkedem, A., Hosabettu, R., Gopalakrishnan, G. (1998). Formalization and Proof of a Solution to the PCI 2.1 Bus Transaction Ordering Problem. 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_17

Download citation

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

  • 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