Skip to main content

Compiling joy into Silicon: An exercise in applied structural operational semantics

  • Conference paper
  • First Online:
Semantics: Foundations and Applications (REX 1992)

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

Abstract

We present the highlights of an algorithm and correctness proof for compiling programs written in Joy, a simple parallel language, into delay-insensitive circuits. The proof relies heavily on techniques of structural operational semantics, many of which should generalize to similar settings.

Supported by NSF grants CCR-9003441 and CCR-9058180.

Supported by NSF grant CCR-9003441.

Supported by a NSF grant CCR-9058180

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.

References

  1. J. C. M. Baeten and W. P. Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18. Cambridge University Press, 1990.

    Google Scholar 

  2. H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics, volume 103 of Studies in Logic. North-Holland, 1981. Revised Edition, 1984.

    Google Scholar 

  3. H. Bisseling, H. Eemers, M. Kamps, and A. Peeters. Designing delay-insensitive circuits. Technical report, 1990.

    Google Scholar 

  4. B. Bloom. Partial traces and the semantics and logic of ccs-like languages. Technical Report 89–1066, Cornell, 1989.

    Google Scholar 

  5. B. Bloom. Ready Simulation, Bisimulation, and the Semantics of CCS-Like Languages. PhD thesis, Massachusetts Institute of Technology, Aug. 1989.

    Google Scholar 

  6. E. Brunvand and R. F. Sproull. Translating concurrent communicating programs into delay-insensitive circuits. Technical Report CMU-CS-89-126, Carnegie-Mellon University, 1989.

    Google Scholar 

  7. S. M. Burns and A. J. Martin. Syntax-directed translation of concurrent programs into self-timed circuits. In Advanced Research in VLSI: Proceedings of the 5th MIT Conference, pages 35–50, 1988.

    Google Scholar 

  8. W. A. Clark and C. E. Molnar. Macromodular computer systems. In B. Waxman and R. Stacey, editors, Biomedical Research Vol. IV, pages 45–85. Academic, New York.

    Google Scholar 

  9. D. L. Dill. Trace Theory for Automatic Hierarchical Verification of Speed-Independent Circuits. MIT Press, 1989.

    Google Scholar 

  10. J. Hyland. A syntactic characterization of the equality in some models of the λ-calculus. J. London Math. Soc, 2(12):361–370, 1976.

    Google Scholar 

  11. R. M. Keller. Towards a theory of universal speed-independent modules. IEEE Transactions on Computers, C-23(1):21–33, January 1974.

    Google Scholar 

  12. A. J. Martin. Compiling communicating processes into delay-insensitive VLSI circuits. Distributed Computing, 1:226–234, 1986.

    Google Scholar 

  13. G. J. Milne. The Correctness of a Simple Silicon Compiler., pages 1–12. North-Holland, 1983.

    Google Scholar 

  14. R. Milner. A modal characterisation of observable machine-behaviour. In E. Astesiano and C. Böhm, editors, CAAP '81: Trees in Algebra and Programming, 6th Colloquium, volume 112 of Lect. Notes in Computer Sci., pages 25–34. Springer-Verlag, 1981.

    Google Scholar 

  15. R. Milner. Communication and Concurrency. Prentice Hall International Series in Computer Science. Prentice Hall, New York, 1989.

    Google Scholar 

  16. C. E. Molnar, T.-P. Fang, and F. U. Rosenbeiger. Synthesis of delay-insensitive modules. In H. Fuchs, editor, Chapel Hill Conference on VLSI, pages 67–86, 1985.

    Google Scholar 

  17. D. Park. Concurrency and automata on infinite sequences. In P. Deussen, editor, Theoretical Computer Science, Lect. Notes in Computer Sci., page 261. Springer-Verlag, 1981.

    Google Scholar 

  18. G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, Computer Science Department, Denmark, 1981.

    Google Scholar 

  19. G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Sci., 5(3):223–255, 1977.

    Google Scholar 

  20. R. Sproull and I. E. Sutherland. Asynchronous Systems. Sutherland, Sproull & Associates, 1986.

    Google Scholar 

  21. J. Staunstrup and M. Greenstreet. Atomicity, programs, and hardware. Technical Report ID-TR 198-46, Technical University of Denmark, 1990.

    Google Scholar 

  22. M. J. F. T. S. Anantharaman, E. M. Clarke and B. Mishra. Compiling path expressions into vlsi circuits. Distributed Computing, 1:150–166, 1986.

    Google Scholar 

  23. F. Vaandrager. On the relationship between process algebra and input/output automata. In Sixth annual IEEE symposium on Logic in Computer Science, pages 387–389. IEEE Computer Society Press, 1991.

    Google Scholar 

  24. C. H. K. van Berkel, C. Niessen, M. Rem, and R. W. Saeijs. VLSI programming and silicon compilation; a novel approach from philips research. In ICCD, 1988.

    Google Scholar 

  25. K. van Berkel. Handshake Circuits: an intermediary between communicating processes and VLSI. PhD thesis, Technische Universiteit Eindhoven, 1992.

    Google Scholar 

  26. C. Wadsworth. The relation between computational and denotational properties for Scott's D∞-models of the λ-calculus. SIAM J. Comput., 5:488–521, 1976.

    Google Scholar 

  27. S. Weber, B. Bloom, and G. Brown. Compiling Joy to silicon: A verified silicon compilation scheme. In T. Knight and J. Savage, editors, Proceedings of the Advanced Research in VLSI and Parallel Systems Conference, pages 79–98. 1992.

    Google Scholar 

  28. A. K. Wright and M. Felleisen. A syntactic approach to type soundness. Technical Report TR91-160, Rice University, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. -P. de Roever G. Rozenberg

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Weber, S., Bloom, B., Brown, G. (1993). Compiling joy into Silicon: An exercise in applied structural operational semantics. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Semantics: Foundations and Applications. REX 1992. Lecture Notes in Computer Science, vol 666. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56596-5_50

Download citation

  • DOI: https://doi.org/10.1007/3-540-56596-5_50

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-47595-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics