Affiliation:
1. University of Birmingham, Birmingham, United Kingdom
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference32 articles.
1. Lava
2. Impact of Loop Unrolling on Area, Throughput and Clock Frequency in ROCCC: C to VHDL Compiler for FPGAs
3. Geometry of synthesis
4. Dan R. Ghica. Function interface models for hardware compilation: Types signatures protocols. CoRR abs/0907.0749 2009. Dan R. Ghica. Function interface models for hardware compilation: Types signatures protocols. CoRR abs/0907.0749 2009.
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Quantitative Weak Linearisation;Lecture Notes in Computer Science;2022
2. Really Natural Linear Indexed Type Checking;Proceedings of the 26nd 2014 International Symposium on Implementation and Application of Functional Languages;2014-10
3. Linear dependent types in a call-by-value scenario;Science of Computer Programming;2014-05
4. Bounded Linear Types in a Resource Semiring;Programming Languages and Systems;2014
5. Linearity: A Roadmap;Journal of Logic and Computation;2012-06-19