skip to main content
10.1145/1926385.1926425acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Geometry of synthesis III: resource management through type inference

Published: 26 January 2011 Publication History

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.

Supplementary Material

MP4 File (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.
[2]
Mihai Budiu and Seth Copen Goldstein. Compiling application-specific hardware. In FPL, pages 853--863, 2002.
[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.
[4]
Dan R. Ghica. Geometry of Synthesis: a structured approach to VLSI design. In POPL, pages 363--375, 2007.
[5]
Dan R. Ghica. Function interface models for hardware compilation: Types, signatures, protocols. CoRR, abs/0907.0749, 2009.
[6]
Dan R. Ghica and Mohamed N. Menaa. On the compositionality of round abstraction. In CONCUR, pages 417--431, 2010.
[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.
[8]
Dan R. Ghica and Andrzej S. Murawski. Compositional model extraction for higher-order concurrent programs. In TACAS, pages 303--317, 2006.
[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.
[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.
[11]
S. Hauck. Asynchronous design methodologies: an overview. Proceedings of the IEEE, 83 (1): 69--93, Jan 1995.
[12]
G. M. Kelly and M. L. Laplaza. Coherence for compact closed categories. Journal of Pure and Applied Algebra, 19: 193--213, 1980.
[13]
A. J. Kfoury. A linearization of the lambda-calculus and consequences. J. Log. Comput., 10 (3): 411--436, 2000.
[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.
[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.
[16]
Guy McCusker. Categorical models of syntactic control of interference revisited, revisited. LMS Journal of Computation and Mathematics, 10: 176--216, 2007.
[17]
Guy McCusker. A graph model for imperative computation. Logical Methods in Computer Science, 6 (1), 2010.
[18]
R. E. Miller. Sequential Circuits. Wiley, NY, 1965.
[19]
Andrzej S. Murawski. Full abstraction without synchronization primitives. Electr. Notes Theor. Comput. Sci., 265: 423--436, 2010.
[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.
[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.
[22]
G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12: 115--116, 1981.
[23]
Uday S. Reddy. Global state considered unnecessary: An introduction to object-based semantics. Lisp and Symbolic Computation, 9 (1): 7--76, 1996.
[24]
John C. Reynolds. Syntactic control of interference. In POPL, pages 39--46, 1978.
[25]
John C. Reynolds. The essence of Algol. In Proceedings of the 1981 International Symposium on Algorithmic Languages, pages 345--372. North-Holland, 1981.
[26]
John C. Reynolds. Syntactic control of inference, part 2. In ICALP, pages 704--722, 1989.
[27]
C. L. Seitz. Ideas about arbiters. Lambda, 1 (1): 10--14, 1980.
[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.
[29]
Ivan E. Sutherland. Micropipelines. Commun. ACM, 32 (6): 720--738, 1989. Turing Award Paper.
[30]
C. H. van Berkel and R. W. J. J. Saeijs. Compilation of communicating processes into delay-insensitive circuits. In Proceedings of ICCD, 1988.
[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.
[32]
Hongseok Yang and Howard Huang. Type reconstruction for syntactic control of interference, part 2. In ICCL, pages 164--173, 1998.

Cited By

View all
  • (2019)Proceedings Joint International Workshop on Linearity & Trends in Linear Logic and ApplicationsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.292.0.1292Online publication date: 15-Apr-2019
  • (2017)TiML: a functional language for practical complexity analysis with invariantsProceedings of the ACM on Programming Languages10.1145/31339031:OOPSLA(1-26)Online publication date: 12-Oct-2017
  • (2017)The 2017 Alonzo Church awardACM SIGLOG News10.1145/3129173.31291744:3(3-9)Online publication date: 28-Jul-2017
  • Show More Cited By

Index Terms

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

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    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
    • 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
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 26 January 2011

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. automatic synthesis
    2. event logic
    3. game semantics
    4. syntactic control of interference

    Qualifiers

    • Research-article

    Conference

    POPL '11
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 860 of 4,328 submissions, 20%

    Upcoming Conference

    POPL '26

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Proceedings Joint International Workshop on Linearity & Trends in Linear Logic and ApplicationsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.292.0.1292Online publication date: 15-Apr-2019
    • (2017)TiML: a functional language for practical complexity analysis with invariantsProceedings of the ACM on Programming Languages10.1145/31339031:OOPSLA(1-26)Online publication date: 12-Oct-2017
    • (2017)The 2017 Alonzo Church awardACM SIGLOG News10.1145/3129173.31291744:3(3-9)Online publication date: 28-Jul-2017
    • (2017)Kami: a platform for high-level parametric hardware specification and its modular verificationProceedings of the ACM on Programming Languages10.1145/31102681:ICFP(1-30)Online publication date: 29-Aug-2017
    • (2016)Interaction GraphsProceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science10.1145/2933575.2934568(427-436)Online publication date: 5-Jul-2016
    • (2016)Memoryful geometry of Interaction II: recursion and adequacyACM SIGPLAN Notices10.1145/2914770.283767251:1(748-760)Online publication date: 11-Jan-2016
    • (2016)Memoryful geometry of Interaction II: recursion and adequacyProceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2837614.2837672(748-760)Online publication date: 11-Jan-2016
    • (2014)Really Natural Linear Indexed Type CheckingProceedings of the 26nd 2014 International Symposium on Implementation and Application of Functional Languages10.1145/2746325.2746335(1-12)Online publication date: 1-Oct-2014
    • (2014)A Core Quantitative Coeffect CalculusProceedings of the 23rd European Symposium on Programming Languages and Systems - Volume 841010.1007/978-3-642-54833-8_19(351-370)Online publication date: 5-Apr-2014
    • (2014)Bounded Linear Types in a Resource SemiringProceedings of the 23rd European Symposium on Programming Languages and Systems - Volume 841010.1007/978-3-642-54833-8_18(331-350)Online publication date: 5-Apr-2014
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media