skip to main content
research-article

Geometry of synthesis III: resource management through type inference

Authors Info & Claims
Published:26 January 2011Publication History
Skip Abstract Section

Abstract

Geometry of Synthesis is a technique for compiling higher-level programming languages into digital circuits via their game semantic model. Ghica (2007) first presented the key idea, then Ghica and Smith (2010) gave a provably correct compiler into asynchronous circuits for Syntactic Control of Interference (SCI), an affine-typed version of Reynolds's Idealized Algol. Affine typing has the dual benefits of ruling out race conditions through the type system and having a finite-state game-semantic model for any term, which leads to a natural circuit representation and simpler correctness proofs. In this paper we go beyond SCI to full Idealized Algol, enhanced with shared-memory concurrency and semaphores.

Compiling ICA proceeds in three stages. First, an intermediate type system called Syntactic Control of Concurrency (SCC), is used to statically determine "concurrency bounds" on all identifiers in the program. Then, a program transformation called serialization is applied to the program to translate it into an equivalent SCC program in which all concurrency bounds are set to the unit. Finally, the resulting program can be then compiled into asynchronous circuits using a slightly enhanced version of the GoS II compiler, which can handle assignable variables used in non-sequential contexts.

Skip Supplemental Material Section

Supplemental Material

32-mpeg-4.mp4

References

  1. Per Bjesse, Koen Claessen, Mary Sheeran, and Satnam Singh. Lava: hardware design in Haskell. In ICFP, pages 174--184, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Mihai Budiu and Seth Copen Goldstein. Compiling application-specific hardware. In FPL, pages 853--863, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Betul Buyukkurt, Zhi Guo, and Walid A. Najjar. Impact of loop unrolling on area, throughput and clock frequency in Roccc: C to VHDL compiler for FPGAs. In ARC, pages 401--412, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  4. Dan R. Ghica. Geometry of Synthesis: a structured approach to VLSI design. In POPL, pages 363--375, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Dan R. Ghica. Function interface models for hardware compilation: Types, signatures, protocols. CoRR, abs/0907.0749, 2009.Google ScholarGoogle Scholar
  6. Dan R. Ghica and Mohamed N. Menaa. On the compositionality of round abstraction. In CONCUR, pages 417--431, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Dan R. Ghica and Andrzej Murawski. Angelic semantics of fine-grained concurrency. Annals of Pure and Applied Logic, 151 (2--3): 89--114, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  8. Dan R. Ghica and Andrzej S. Murawski. Compositional model extraction for higher-order concurrent programs. In TACAS, pages 303--317, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Dan R. Ghica and Alex Smith. Geometry of Synthesis II: From games to delay-insensitive circuits. Electr. Notes Theor. Comput. Sci., 265: 301--324, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Dan R. Ghica, Andrzej S. Murawski, and C.-H. Luke Ong. Syntactic control of concurrency. Theor. Comput. Sci., 350 (2--3): 234--251, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Hauck. Asynchronous design methodologies: an overview. Proceedings of the IEEE, 83 (1): 69--93, Jan 1995.Google ScholarGoogle ScholarCross RefCross Ref
  12. G. M. Kelly and M. L. Laplaza. Coherence for compact closed categories. Journal of Pure and Applied Algebra, 19: 193--213, 1980.Google ScholarGoogle ScholarCross RefCross Ref
  13. A. J. Kfoury. A linearization of the lambda-calculus and consequences. J. Log. Comput., 10 (3): 411--436, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  14. Wayne Luk, David Ferguson, and Ian Page. Structured hardware compilation of parallel programs. In Will Moore and Wayne Luk, editors, More FPGAs. Abingdon EE&CS Books, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. J. Martin. phDevelopments in concurrency and communication, chapter Programming in VLSI: From communicating processes to delay-insensitive circuits, pages 1--64. Addison-Wesley, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Guy McCusker. Categorical models of syntactic control of interference revisited, revisited. LMS Journal of Computation and Mathematics, 10: 176--216, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  17. Guy McCusker. A graph model for imperative computation. Logical Methods in Computer Science, 6 (1), 2010.Google ScholarGoogle Scholar
  18. R. E. Miller. Sequential Circuits. Wiley, NY, 1965.Google ScholarGoogle Scholar
  19. Andrzej S. Murawski. Full abstraction without synchronization primitives. Electr. Notes Theor. Comput. Sci., 265: 423--436, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Peter W. O'Hearn, John Power, Makoto Takeyama, and Robert D. Tennent. Syntactic control of interference revisited. Theor. Comput. Sci., 228 (1--2): 211--252, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ian Page and Wayne Luk. Compiling Occam into FPGAs. In W. Moore and W. Luk, editors, FPGAs, pages 271--283. Abingdon EE&CS Books, 1991.Google ScholarGoogle Scholar
  22. G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12: 115--116, 1981.Google ScholarGoogle ScholarCross RefCross Ref
  23. Uday S. Reddy. Global state considered unnecessary: An introduction to object-based semantics. Lisp and Symbolic Computation, 9 (1): 7--76, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  24. John C. Reynolds. Syntactic control of interference. In POPL, pages 39--46, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. John C. Reynolds. The essence of Algol. In Proceedings of the 1981 International Symposium on Algorithmic Languages, pages 345--372. North-Holland, 1981.Google ScholarGoogle Scholar
  26. John C. Reynolds. Syntactic control of inference, part 2. In ICALP, pages 704--722, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. C. L. Seitz. Ideas about arbiters. Lambda, 1 (1): 10--14, 1980.Google ScholarGoogle Scholar
  28. J. Sparsø and S. Furber, editors. Principles of Asynchronous Circuit Design: A Systems Perspective. European Low-Power Initiative for Electronic System Design. Kluwer Academic Publishers, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  29. Ivan E. Sutherland. Micropipelines. Commun. ACM, 32 (6): 720--738, 1989. Turing Award Paper. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. C. H. van Berkel and R. W. J. J. Saeijs. Compilation of communicating processes into delay-insensitive circuits. In Proceedings of ICCD, 1988.Google ScholarGoogle ScholarCross RefCross Ref
  31. Kees van Berkel, Joep Kessels, Marly Roncken, Ronald Saeijs, and Frits Schalij. The VLSI-programming language Tangram and its translation into handshake circuits. In EURO-DAC, pages 384--389, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Hongseok Yang and Howard Huang. Type reconstruction for syntactic control of interference, part 2. In ICCL, pages 164--173, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Geometry of synthesis III: resource management through type inference

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 46, Issue 1
      POPL '11
      January 2011
      624 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1925844
      Issue’s Table of Contents
      • cover image ACM Conferences
        POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
        January 2011
        652 pages
        ISBN:9781450304900
        DOI:10.1145/1926385

      Copyright © 2011 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 26 January 2011

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!