Skip to main content

A Denotational Semantics for Handel-C Hardware Compilation

  • Conference paper
Formal Methods and Software Engineering (ICFEM 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4789))

Included in the following conference series:

  • 492 Accesses

Abstract

Handel-C is a hybrid language based on C and CSP for the high level description of hardware components. Several semantic models for the language and a non-rigorous compilation mechanism have been proposed for it. The compilation has been empirically validated and used in commercial tools, but never formally verified. This work presents a semantic model of the generated hardware and establishes the foundations for the formal verification of correctness of the transformation approach.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Boulton, R., et al.: Experience with embedding hardware description languages in HOL. In: Proc. of the International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience, pp. 129–156 (1992)

    Google Scholar 

  2. Bowen, J.: Hardware compilation of the ProCoS gas burner case study using logic programming. In: ProCoS-US Hardware Synthesis and Verification Workshop (1996)

    Google Scholar 

  3. Bowen, J., Jifeng, H.: Hardware compilation: Verification and rapid-prototyping. Technical report, The University of Reading (1999)

    Google Scholar 

  4. Bowen, J., Jifeng, H., Page, I.: Hardware compilation, pp. 193–207. Elsevier, Amsterdam (1994)

    Google Scholar 

  5. Brookes, S.: On the axiomatic treatment of concurrency. In: Brookes, S.D., Winskel, G., Roscoe, A.W. (eds.) Seminar on Concurrency. LNCS, vol. 197, pp. 1–34. Springer, Heidelberg (1985)

    Google Scholar 

  6. Butterfield, A.: Denotational semantics for prialt-free Handel-C. Technical report, The University of Dublin, Trinity College (December 2001)

    Google Scholar 

  7. Butterfield, A., Woodcock, J.: Semantic domains for Handel-C. Electronic Notes in Theoretical Computer Science, vol. 74 (2002)

    Google Scholar 

  8. Butterfield, A., Woodcock, J.: Semantics of prialt in Handel-C. In: Concurrent Systems Engineering, IOS Press, Amsterdam (2002)

    Google Scholar 

  9. Butterfield, A., Woodcock, J.: Prialt in handel-c: an operational semantics. International Journal on Software Tools Technology Transfer 7(3), 248–267 (2005)

    Article  Google Scholar 

  10. Butterfield, A., Woodcock, J.: A Hardware Compiler Semantics for Handel-C. In: MFCSIT 2004. ENTCS, vol. 161, pp. 73–90 (2006)

    Google Scholar 

  11. Davey, B., Priestley, H.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (2002)

    MATH  Google Scholar 

  12. Gordon, M.: Why higher-order logic is a good formalism for specifying and verifying hardware. In: Formal Aspects of VLSI Design, pp. 153–177 (1986)

    Google Scholar 

  13. Gordon, M., Melham, T. (eds.): Introduction to HOL: a theorem proving environment for higher order logic. Cambridge University Press, Cambridge (1993)

    MATH  Google Scholar 

  14. Hanna, F., Daeche, N.: Specification and verification using higher-order logic: A case study. In: Formal Aspects of VLSI Design, pp. 179–213 (1986)

    Google Scholar 

  15. Hennessy, M., Plotkin, G.: Full abstraction for a simple parallel programming language. Math. Foundations of Computer Science 74, 108–120 (1979)

    MathSciNet  Google Scholar 

  16. Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 26(1), 100–106 (1983)

    Article  MathSciNet  Google Scholar 

  17. Lawrence, A.: CSPP and Event Priority. In: Communicating Process Architectures 2001, pp. 67–92 (2001)

    Google Scholar 

  18. Celoxica Ltd. DK3: Handel-C Language Reference Manual (2002)

    Google Scholar 

  19. Celoxica Ltd. The Technology behind DK1, Application Note AN 18 (August 2002)

    Google Scholar 

  20. Melham, T.: Abstraction mechanisms for hardware verification. In: VLSI Specification, Verification, and Synthesis, pp. 129–157 (1988)

    Google Scholar 

  21. Melham, T.: Using recursive types to reason about hardware in higher order logic. In: The Fusion of Hardware Design and Verification, pp. 27–50 (1988)

    Google Scholar 

  22. Melham, T.: Automating recursive type definitions in higher order logic. In: Current trends in hardware verification and automated theorem proving, pp. 341–386. Springer, New York (1989)

    Google Scholar 

  23. Melham, T.: Higher Order Logic and Hardware Verification. Cambridge Tracts in Theoretical Computer Science, vol. 31. Cambridge University Press, Cambridge (1993)

    MATH  Google Scholar 

  24. Milner, R.: Fully abstract models of typed lambda-calculi. Theoretical Computer Science 4(1), 1–22 (1977)

    Article  MATH  MathSciNet  Google Scholar 

  25. Page, I.: Constructing hardware-software systems from a single description. Journal of VLSI Signal Processing 12(1), 87–107 (1996)

    Article  MathSciNet  Google Scholar 

  26. Page, I., Luk, W.: Compiling Occam into field-programmable gate arrays. In: FPGAs, Oxford Workshop on Field Programmable Logic and Applications, pp. 271–283 (1991)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michael Butler Michael G. Hinchey María M. Larrondo-Petrie

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Perna, J.I., Woodcock, J. (2007). A Denotational Semantics for Handel-C Hardware Compilation. In: Butler, M., Hinchey, M.G., Larrondo-Petrie, M.M. (eds) Formal Methods and Software Engineering. ICFEM 2007. Lecture Notes in Computer Science, vol 4789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76650-6_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-76650-6_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-76648-3

  • Online ISBN: 978-3-540-76650-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics