Skip to main content

Executable Protocol Specification in ESL

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

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

Included in the following conference series:

Abstract

Hardware specifications in English are frequently ambiguous and often self-contradictory.We propose a new logic ESL which facilitates formal specification of hardware protocols.Our logic is closely related to LTL but can express all regular safety properties. We have developed a protocol synthesis methodology which generates Mealy machines from ESL specifications. The Mealy machines can be automatically translated into executable code either in Verilog or SMV. Our methodology exploits the observation that protocols are naturally composed of many semantically distinct components. This structure is reflected in the syntax of ESL specifications.We use a modified LTL tableau construction to build a Mealy machine for each component. The Mealy machines are connected together in a Verilog or SMV framework. In many cases this makes it possible to circumvent the state explosion problem during code generation and to identify conflicts between components during simulation or model checking.We have implemented a tool based on the logic and used it to specify and verify a significant part of the PCI bus protocol.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Y. Abarbanel, I. Beer, L. Gluhovsky, S. Keidar and Y. Wolfsthal,“FoCs-AutomaticGeneration of Simulation Checkers from Formal Specifications”, CAV 00: Computer-Aided Verification, Lecture Notes in Computer Science 1855, 538–542. Springer-Verlag, 2000.

    Chapter  Google Scholar 

  2. R. Alur and T.A. Henzinger. Reactive Modules, Proceedings of the 11th Annual Symposium on Logic in Computer Science, 207–218. IEEE Computer Society Press, 1996.

    Google Scholar 

  3. R. Alur, T.A. Henzinger, and O. Kupferman. Alternating-time temporal logic. In Proc. 38th IEEE Symposium on Foundations of Computer Science, 100–109, 1997.

    Google Scholar 

  4. R. E. Bryant, P. Chauhan, E. M. Clarke, A. Goel. A Theory of Consistency for Modular Synchronous Systems. Formal Methods in Computer-Aided Design, 2000

    Google Scholar 

  5. P. Chauhan, E. Clarke, Y. Lu, and D. Wang. Verifying IP-Core based System-On-Chip Designs. In Proceedings of the IEEE ASIC Conference, 27–31, 1999.

    Google Scholar 

  6. T. Cormen, C. Leiserson, and R. Rivest. Introduction to Algorithm. MIT Press, 1990.

    Google Scholar 

  7. E. Clarke and E. Emerson. Synthesis of synchronization skeletons for branching time temporal logic. Logic of Programs: Workshop, Yorktown Heights, NY, May 1981 Lecture Notes in Computer Science, Vol. 131, Springer-Verlag. 1981.

    Google Scholar 

  8. E. Emerson and E. Clarke.Using branching time temporal logic to synthesize synchronization skeletons. In Science of Computer Programming, Vol 2, 241–266. 1982.

    MATH  Google Scholar 

  9. E. Clarke, O. Grumberg, and D. Peled. Model Checking.MIT Publishers, 1999.

    Google Scholar 

  10. David Dill. Trace Theory for Automatic Hierarchical Verification of Speed-independentCircuits. MIT Press, 1989.

    Google Scholar 

  11. M. Fujita and S. Kono. Synthesis of Controllers from Interval Temporal Logic Specification. InternationalWorkshop on Logic Synthesis,May, 1993.

    Google Scholar 

  12. D. Gabbay. The Declarative Past and Imperative Future: Executable Temporal Logic for Interactive Systems. In B. Banieqbal, B. Barringer, and A. Pnueli, editors, Temporal Logic in Specification,Vol. 398, 409–448. Springer Verlag, LNCS 398, 1989.

    Google Scholar 

  13. R. Gerth, D. Peled, M. Y. Vardi, and P. Wolper. Simple on-the-fly automatic verification of linear temporal logic. In Proc. 15th Work. Protocol Specification, Testing, and Verification, Warsaw, June 1995. North-Holland.

    Google Scholar 

  14. N. Halbwachs, J.-C. Fernandez, and A. Bouajjanni. An executable temporal logic to express safety properties and its connection with the language Lustre. In Sixth International Symp. on Lucid and Intensional Programming, ISLIP’93, Quebec City, Canada, April 1993. Universit’e Laval.

    Google Scholar 

  15. L. Lamport. The temporal logic of actions. ACM TOPLAS, 16(3):872–923,March 1994.

    Article  Google Scholar 

  16. Z. Manna, P. Wolper: Synthesis of Communicating Processes from Temporal Logic Specifications, ACM TOPLAS, Vol.6, N.1, Jan. 1984, 68–93.

    Article  MATH  Google Scholar 

  17. K.L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.

    Google Scholar 

  18. B. Moszkowski. Executing temporal logic programs. Cambridge University Press, 1986.

    Google Scholar 

  19. PCI Special Interest Group. PCI Local Bus Specification Rev 2.2. Dec. 1998.

    Google Scholar 

  20. J. Yuan, K. Shultz, C. Pixley, and H. Miller. Modeling Design Constraints and Biasing in Simulation Using BDDs. In International Conference on Computer-Aided Design. 584–589, November 7-11, 1999

    Google Scholar 

  21. A. Seawright, and F. Brewer. Synthesis from Production-Based Specifications. In Proceedings of the 29th ACM/IEEE Design Automation Conference, 194–199, 1992.

    Google Scholar 

  22. X. Shen, and Arvind. Design and Verification of Speculative Processors. In Proceedings of the Workshop on Formal Techniques for Hardware and Hardware-like Systems, June 1998, Marstrand, Sweden.

    Google Scholar 

  23. K. Shimizu, D. Dill, and A. Hu. Monitor Based Formal Specification of PCI. FormalMethods in Computer-Aided Design, 2000.

    Google Scholar 

  24. K. Shimizu. http://radish.stanford.edu/pci

  25. M. Sipser. Introduction to the Theory of Computation. PWS Publishing Company. 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-VerlagBerlin Heidelberg

About this paper

Cite this paper

Clarke, E., German, S., Lu, Y., Veith, H., Wang, D. (2000). Executable Protocol Specification in ESL. In: Hunt, W.A., Johnson, S.D. (eds) Formal Methods in Computer-Aided Design. FMCAD 2000. Lecture Notes in Computer Science, vol 1954. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40922-X_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-40922-X_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41219-9

  • Online ISBN: 978-3-540-40922-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics