Los Angeles, CA
June 5, 2000 to June 9, 2000
Stephen A. Edwards , Advanced Technology Group, Synopsys
Embedded real-time software systems often need fine-grained parallelism and precise control over time, things typical real-time operating systems do not provide. The Esterel language has both, but Existing compilers produce slow code for large programs.This paper presents the first Esterel compiler able to produce small, fast code for large programs. It can produce code half the size and up to a hundred times faster than code from existing compilers. Esterel's semantics allow the compiler to statically schedule concurrency and synthesize code that efficiently and predictably simulates context switches. The main contribution is an algorithm that synthesizes an efficient sequential program from the concurrent control-flow graph used as an intermediate representation. These techniques could be applied to any language with fine-grained parallelism.
nanotechnology, quantum cellular automata
Stephen A. Edwards, "Compiling Esterel into Sequential Code", DAC, 2000, Design Automation Conference, Design Automation Conference 2000, pp. 322-327, doi:10.1109/DAC.2000.855329