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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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
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.
T. Cormen, C. Leiserson, and R. Rivest. Introduction to Algorithm. MIT Press, 1990.
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.
E. Emerson and E. Clarke.Using branching time temporal logic to synthesize synchronization skeletons. In Science of Computer Programming, Vol 2, 241–266. 1982.
E. Clarke, O. Grumberg, and D. Peled. Model Checking.MIT Publishers, 1999.
David Dill. Trace Theory for Automatic Hierarchical Verification of Speed-independentCircuits. MIT Press, 1989.
M. Fujita and S. Kono. Synthesis of Controllers from Interval Temporal Logic Specification. InternationalWorkshop on Logic Synthesis,May, 1993.
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.
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.
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.
L. Lamport. The temporal logic of actions. ACM TOPLAS, 16(3):872–923,March 1994.
Z. Manna, P. Wolper: Synthesis of Communicating Processes from Temporal Logic Specifications, ACM TOPLAS, Vol.6, N.1, Jan. 1984, 68–93.
K.L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.
B. Moszkowski. Executing temporal logic programs. Cambridge University Press, 1986.
PCI Special Interest Group. PCI Local Bus Specification Rev 2.2. Dec. 1998.
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
A. Seawright, and F. Brewer. Synthesis from Production-Based Specifications. In Proceedings of the 29th ACM/IEEE Design Automation Conference, 194–199, 1992.
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.
K. Shimizu, D. Dill, and A. Hu. Monitor Based Formal Specification of PCI. FormalMethods in Computer-Aided Design, 2000.
K. Shimizu. http://radish.stanford.edu/pci
M. Sipser. Introduction to the Theory of Computation. PWS Publishing Company. 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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