Compiling Esterel into Sequential Code

Dr. Stephen A. Edwards
Synopsys, Mountain View, CA

Friday, March 24th, 2:00 PM, ENS 302

sedwards@alumni.caltech.edu


Abstract

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.

In this talk, I will present 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.


A list of Telecommunications and Signal Processing Seminars is available at from the ECE department Web pages under "Seminars". The Web address for the Telecommunications and Signal Processing Seminars is http://anchovy.ece.utexas.edu/seminars