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.
Supplemental Material
- Per Bjesse, Koen Claessen, Mary Sheeran, and Satnam Singh. Lava: hardware design in Haskell. In ICFP, pages 174--184, 1998. Google Scholar
Digital Library
- Mihai Budiu and Seth Copen Goldstein. Compiling application-specific hardware. In FPL, pages 853--863, 2002. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- Dan R. Ghica. Geometry of Synthesis: a structured approach to VLSI design. In POPL, pages 363--375, 2007. Google Scholar
Digital Library
- Dan R. Ghica. Function interface models for hardware compilation: Types, signatures, protocols. CoRR, abs/0907.0749, 2009.Google Scholar
- Dan R. Ghica and Mohamed N. Menaa. On the compositionality of round abstraction. In CONCUR, pages 417--431, 2010. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- Dan R. Ghica and Andrzej S. Murawski. Compositional model extraction for higher-order concurrent programs. In TACAS, pages 303--317, 2006. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- S. Hauck. Asynchronous design methodologies: an overview. Proceedings of the IEEE, 83 (1): 69--93, Jan 1995.Google Scholar
Cross Ref
- G. M. Kelly and M. L. Laplaza. Coherence for compact closed categories. Journal of Pure and Applied Algebra, 19: 193--213, 1980.Google Scholar
Cross Ref
- A. J. Kfoury. A linearization of the lambda-calculus and consequences. J. Log. Comput., 10 (3): 411--436, 2000.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Guy McCusker. Categorical models of syntactic control of interference revisited, revisited. LMS Journal of Computation and Mathematics, 10: 176--216, 2007.Google Scholar
Cross Ref
- Guy McCusker. A graph model for imperative computation. Logical Methods in Computer Science, 6 (1), 2010.Google Scholar
- R. E. Miller. Sequential Circuits. Wiley, NY, 1965.Google Scholar
- Andrzej S. Murawski. Full abstraction without synchronization primitives. Electr. Notes Theor. Comput. Sci., 265: 423--436, 2010. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12: 115--116, 1981.Google Scholar
Cross Ref
- Uday S. Reddy. Global state considered unnecessary: An introduction to object-based semantics. Lisp and Symbolic Computation, 9 (1): 7--76, 1996.Google Scholar
Cross Ref
- John C. Reynolds. Syntactic control of interference. In POPL, pages 39--46, 1978. Google Scholar
Digital Library
- John C. Reynolds. The essence of Algol. In Proceedings of the 1981 International Symposium on Algorithmic Languages, pages 345--372. North-Holland, 1981.Google Scholar
- John C. Reynolds. Syntactic control of inference, part 2. In ICALP, pages 704--722, 1989. Google Scholar
Digital Library
- C. L. Seitz. Ideas about arbiters. Lambda, 1 (1): 10--14, 1980.Google Scholar
- 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 Scholar
Cross Ref
- Ivan E. Sutherland. Micropipelines. Commun. ACM, 32 (6): 720--738, 1989. Turing Award Paper. Google Scholar
Digital Library
- C. H. van Berkel and R. W. J. J. Saeijs. Compilation of communicating processes into delay-insensitive circuits. In Proceedings of ICCD, 1988.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- Hongseok Yang and Howard Huang. Type reconstruction for syntactic control of interference, part 2. In ICCL, pages 164--173, 1998. Google Scholar
Digital Library
Index Terms
Geometry of synthesis III: resource management through type inference
Recommendations
Geometry of synthesis iv: compiling affine recursion into static hardware
ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programmingAbramsky's Geometry of Interaction interpretation (GoI) is a logical-directed way to reconcile the process and functional views of computation, and can lead to a dataflow-style semantics of programming languages that is both operational (i.e. effective) ...
Geometry of synthesis: a structured approach to VLSI design
POPL '07: Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesWe propose a new technique for hardware synthesis from higher-order functional languages with imperative features based on Reynolds's Syntactic Control of Interference. The restriction on contraction in the type system is useful for managing the thorny ...
Geometry of synthesis: a structured approach to VLSI design
Proceedings of the 2007 POPL ConferenceWe propose a new technique for hardware synthesis from higher-order functional languages with imperative features based on Reynolds's Syntactic Control of Interference. The restriction on contraction in the type system is useful for managing the thorny ...







Comments