Skip to main content

Degrees of formality in shallow embedding hardware description languages in HOL

  • Conference paper
  • First Online:

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

Abstract

Theorem proving based techniques for formal hardware verification have been evolving constantly and researchers are getting able to reason about more complex issues than it was possible or practically feasible in the past. It is often the case that a model of a system is built in a formal logic and then reasoning about this model is carried out in the logic. Concern is growing on how to consistently interface a model built in a formal logic with an informal CAD environment. Researchers have been investigating how to define the formal semantics of hardware description languages so that one can formally reason about models informally dealt with in a CAD environment. At the University of Cambridge, the embedding of hardware description languages in a logic is classified in two categories: deep embedding and shallow embedding. In this paper we argue that there are degrees of formality in shallow embedding a language in a logic. The choice of the degree of formality is a trade-off between the security of the embedding and the amount and complexity of the proof effort in the logic. We also argue that the design of a language could consider this verifiability issue. There are choices in the design of a language that can make it easier to improve the degree of formality, without implying serious drawbacks for the CAD environment.

This research was sponsored by CNPq (Brazilian Government) and CHEOPS Project (ESPRIT BRA “3215”).

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Gordon. “HOL: A Proof Generating System for Higher-Order Logic”. In G. Birtwistle and P.A. Subrahmanyam, editors, VLSI Specification, Verification and Synthesis, pages 73–128. Kluwer Academic Publishers, 1988.

    Google Scholar 

  2. R. Boulton, A. Gordon, M. Gordon, J. Harrison, J. Herbert, and J. Van Tassel. “Experience with Embedding Hardware Description Languages in HOL”. In V. Stavridou, T.F. Melham, and R. Boute, editors, Proceedings of the IFIP International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience, pages 129–156. Nijmegen, The Netherlands, North-Holland, Amsterdam, June 1992.

    Google Scholar 

  3. T.F. Melham. “Using Recursive Types to Reason about Hardware in Higher Order Logic”. In G.J. Milne, editor, The Fusion of Hardware Design and Verification: Proceedings of the IFIP WG 10.2 Working Conference, pages 27–50. Glasgow, North-Holland, Amsterdam, July 1988.

    Google Scholar 

  4. T.F. Melham. “Automating Recursive Type Definitions in Higher Order Logic”. In G. Birtwistle and P.A. Subrahmanyam, editors, Current Trends in Hardware Verification and Automated Theorem Proving, pages 341–386. Springer-Verlag, 1989.

    Google Scholar 

  5. G. Cousineau, M. Gordon, G. Huet, R. Milner, L. Paulson, and C. Wadsworth. The ML Handbook. INRIA, France, 1986.

    Google Scholar 

  6. E.L. Gunter. “Why We Can't Have SML Style Datatype Declarations in HOL”. In L. Claesen and M. Gordon, editors, Proceedings of the IFIP International Workshop on Higher Order Logic Theorem Proving and its Applications — HOL-92, pages 561–568. IMEC, Leuven, Belgium, Elsevier Science Publishers B. V. (North-Holland), Amsterdam, September 1992.

    Google Scholar 

  7. R. Boulton, M. Gordon, J. Herbert, and J. Van Tassel. “The HOL Verification of ELLA Designs”. In Proceedings of the ACM/SIGDA International Workshop in Formal Methods in VLSI Design. Miami, FL, January 1991.

    Google Scholar 

  8. R. Boulton. A HOL Semantics for a Subset of ELLA. Technical Report 254, University of Cambridge Computer Laboratory, April 1992.

    Google Scholar 

  9. A.D. Gordon. A Mechanised Definition of Silage in HOL. Technical Report 287, University of Cambridge Computer Laboratory, February 1993.

    Google Scholar 

  10. A.D. Gordon. “The Formal Definition of a Synchronous Hardware-description Language in Higher Order Logic”. In ICCD92: 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors, pages 531–534. Cambridge, Massachusetts, IEEE Computer Society Press, October 1992.

    Google Scholar 

  11. C.M. Angelo, L. Claesen, and H. De Man. “The Formal Semantics Definition of a Multi-Rate DSP Specification Language in HOL”. In L. Claesen and M. Gordon, editors, Proceedings of the IFIP International Workshop on Higher Order Logic Theorem Proving and its Applications — HOL-92, pages 375–394. IMEC, Leuven, Belgium, Elsevier Science Publishers B. V. (North-Holland), Amsterdam, September 1992.

    Google Scholar 

  12. J. Van Tassel. A Formalisation of the VHDL Simulation Cycle. Technical Report 249, University of Cambridge Computer Laboratory, March 1992.

    Google Scholar 

  13. J. Van Tassel. “A Formalisation of the VHDL Simulation Cycle”. In L. Claesen and M. Gordon, editors, Proceedings of the IFIP International Workshop on Higher Order Logic Theorem Proving and its Applications — HOL-92, pages 359–374. IMEC, Leuven, Belgium, Elsevier Science Publishers B. V. (North-Holland), Amsterdam, September 1992.

    Google Scholar 

  14. P.N. Hilfinger. “Silage, a High-level Language and Silicon Compiler for Digital Signal Processing”. In Proceedings of the IEEE 1985 Custom Integrated Circuits Conference — CICC-85, pages 213–216. Portland, OR, May 1985.

    Google Scholar 

  15. P.N. Hilfinger. Silage Reference Manual, December 1987.

    Google Scholar 

  16. D. Genin, P.N. Hilfinger, J. Rabaey, C. Scheers, and H. De Man. “DSP Specification Using the Silage Language”. In Proceedings of the IEEE International Conference on Accoustics, Speech and Signal Processing, pages 1057–1060. Albuquerque, NM, April 1990.

    Google Scholar 

  17. L. Nachtergaele. A Silage Tutorial. IMEC, Leuven, Belgium, May 1990.

    Google Scholar 

  18. L. Nachtergaele. User Manual for the S2C Silage to C Compiler. IMEC, Leuven, Belgium, May 1990.

    Google Scholar 

  19. H. De Man, J. Rabaey, P. Six, and L. Claesen. “Cathedral-II: a Silicon Compiler for Digital Signal Processing”. IEEE Design & Test of Computers, 3(6):73–85, December 1986.

    Google Scholar 

  20. P. Lippens. Defining Control Flow from an Applicative Specification. Technical report, Philips Research Laboratories, Eindhoven, December 1988.

    Google Scholar 

  21. I. Verbauwhede. VLSI Design Methodologies for Application-specific Cryptographic and Algebraic Systems. PhD thesis, Katholieke Universiteit Leuven — IMEC, Leuven, Belgium, 1991.

    Google Scholar 

  22. J. Vanhoof. Multi-rate Expansion for CATHEDRAL-II/III. A tutorial. Technical report, IMEC, Leuven, Belgium, October 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jeffrey J. Joyce Carl-Johan H. Seger

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Angelo, C.M., Claesen, L., De Man, H. (1994). Degrees of formality in shallow embedding hardware description languages in HOL. In: Joyce, J.J., Seger, CJ.H. (eds) Higher Order Logic Theorem Proving and Its Applications. HUG 1993. Lecture Notes in Computer Science, vol 780. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57826-9_127

Download citation

  • DOI: https://doi.org/10.1007/3-540-57826-9_127

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57826-0

  • Online ISBN: 978-3-540-48346-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics