Skip to main content
Log in

Mechanically verifying safety and liveness properties of delay insensitive circuits

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

This paper describes, by means of an example, how one may mechanically verify delay insensitive circuits on an automated theorem prover. It presents the verification of both the safety and liveness properties of ann-node delay insensitive FIFO circuit [20]. The proof system used is a mechanized implementation of Unity [7] on the Boyer-Moore prover [4], described in [12].

This paper describes the circuit formally in the Boyer-Moore logic and presents the mechanically verified correctness theorems. The formal description also captures the protocol that the circuit expects its environment to obey and specifies a class of suitable initial states.

This paper demonstrates how a general purpose automated proof system for concurrent programs may be used to mechanically verify both the safety and liveness properties of arbitrary sized delay insensitive circuits.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. William R. Bevier, Warren A. Hunt, Jr., and William D. Young., Toward verified execution environments. Technical Report #5, Computational Logic, Inc., 1987. Also appears in ‘Proceedings of the 1987 IEEE Symposium on Security and Privacy’.

  2. R.S. Boyer and J.S. Moore,A Computational Logic. Academic Press, New York, 1979.

    Google Scholar 

  3. R.S. Boyer and J.S. Moore, Metafunctions: Proving them correct and using them efficiently as new proof procedures. InThe Correctness Problem in Computer Science. Academic Press, London, 1981.

    Google Scholar 

  4. R.S. Boyer and J.S. Moore,A Computational Logic Handbook, Academic Press, Boston, 1988.

    Google Scholar 

  5. R.S. Boyer, D. Goldschlag, M. Kaufmann, and J Strother Moore, Functional instantiation in first order logic. InArtificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, pp. 7–26. Academic Press, 1991.

  6. Jerry R. Burch. Combining ctl, trace theory, and timing models, InAutomatic Verification Methods for Finite State Systems, pp. 334–348. Springer-Verlag, 1990.

  7. Chandy K. Mani and Jayadev Misra,Parallel Program Design: A Foundation. Addison Wesley, Massachusetts, 1988.

    Google Scholar 

  8. David L. Dill,Trace Theory for Automatic Hierarchical Verification of Speed-Independent Circuits. The MIT Press, Cambridge, Massachusetts, 1988.

    Google Scholar 

  9. Steven M. German and Yu Wang, Formal verification of parameterized hardware designs.Proceedings of the IEEE International Conference on Computer Design: VLSI in Computers, pp. 549–552, 1985.

  10. Rob Gerth and Amir Pnueli, Rooting unity. InFifth International Workshop on Software Specification and Design, volume 14(3), pp. 11–19. ACM Sigsoft Engineering Notes, 1989.

  11. David M. Goldschlag, Mechanizing unity. InProgramming Concepts and Methods. North Holland, Amsterdam, 1990.

    Google Scholar 

  12. David M. Goldschlag,Mechanically Verifying Concurrent Programs. Ph.D thesis, The University of Texas at Austin, 1992. Also available as technical report #71 from Computational Logic, Inc.

  13. Warren A. Hunt, Jr., Microprocessor design verification.Journal of Automated Reasoning, 5(4):429–460, December 1989.

    Google Scholar 

  14. Charanjit S. Jutla, Edgar Knapp, and Josyula R. Rao, Extensional semantics of parallel programs. Technical report, Department of Computer Sciences, The University of Texas at Austin, November 1988.

  15. M. Kaufmann, A formal semantics and proof of soundness for the logic of the nqthm version of the Boyer-Moore theorem prover. Technical report, Institute for Computing Science, University of Texas at Austin, Austin, TX 78712, 1986. ICSCA Internal Note 229.

    Google Scholar 

  16. M. Kaufmann, A user's manual for an interactive enhancement to the boyer-moore theorem prover. Technical Report ICSCA-CMP-60, Institute for Computing Science, University of Texas at Austin, Austin, TX 78712, 1987. Also available through Computational Logic, Inc., Suite 290, 1717 West Sixth Street, Austin, TX 78703.

    Google Scholar 

  17. Matt Kaufmann, Defn-sk: An extension of the boyer-moore theorem prover to handle first-order quantifiers. Technical Report 43, Computational Logic, Inc., May 1989. To appear in theJournal of Automated Reasoning.

  18. Edgar Knapp, Soundness and relative completeness of unity logic. Technical Report Department of Computer Science, The University of Texas at Austin, October 1990.

  19. Alain J. Martin, Compiling communicating processes into delay-insensitive vlsi circuits.Distributed Computing, 1:226–234, 1986.

    Google Scholar 

  20. Alain J. Martin, Self-timed fifo: An exercise in compiling programs into vlsi circuits. InFrom HDL Descriptions to Guaranteed Correct Circuit Designs, pp. 133–153. North-Holland, Amsterdam, 1987.

    Google Scholar 

  21. R.E. Miller,Switching Theory. Wiley, 1965.

  22. J. Strother Moore, A mechanically verified language implementation.Journal of Automated Reasoning, 5(4):493–518, December 1989.

    Google Scholar 

  23. J Strother Moore, System verification.Journal of Automated Reasoning, 5(4):409–410, December 1989.

    Google Scholar 

  24. J. Pachl, A simple proof of a completeness result for leads-to in the unity logic. Technical Report RZ 2060 (#72085), IBM Research Division, November 1990.

  25. N. Shankar, Proof checking metamathematics: Volumes i and ii. Technical Report#9, Computational Logic, Inc., April 1987.

  26. N. Shankar A mechanical proof of the church-rosser theorem.Journal of the ACM, 35:475–522, 1988.

    Google Scholar 

  27. J.J. Horning, S.J. Garland, and J.V. Guttag, Debugging larch shared language specifications.IEEE Transactions on Software Engineering, SE-16(9), September 1990.

  28. J. Staunstrup and M.R. Greenstreet, Designing delay insensitive circuits using “synchronized transitions”. InProceedings of the IMEC-IFIP International Workshop on Applied Formal Methods for Correct VLSI Design, pp. 741–758. Elsevier Science Publishers B.V., Amsterdam, 1989.

    Google Scholar 

  29. Jorgen Staunstrup, Stephen J. Garland, and John V. Guttag, Localized verification of circuit descriptions. InAutomatic Verification Methods for Finite State Systems, pp. 348–364. Springer-Verlag, 1990.

  30. G.L. Steele, Jr.,Common Lisp The Language. Digital Press, 30 North Avenue, Burlington, MA 01803, 1984.

    Google Scholar 

  31. William D. Young, A mechanically verified code generator.Journal of Automated Reasoning, 5(4):493–518. December 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Goldschlag, D.M. Mechanically verifying safety and liveness properties of delay insensitive circuits. Form Method Syst Des 5, 207–225 (1994). https://doi.org/10.1007/BF01383831

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01383831

Keywords

Navigation