Top Up Prev Next Bottom Contents Index Search

4.12 Code generation in C (CGC)

The CGC domain uses Boolean-controlled dataflow semantics, and has C as its target language. We have made every effort to name stars and their parameters consistently so that it is easy to move from one domain to another. With a little effort, one could create CGC versions of all SDF stars. If this were accomplished, then retargeting from one domain to another would be a simple matter of changing domains and targets and running the system again.

The generated C code is statically scheduled, and the memory used to buffer data between stars is statically allocated. Moreover, for many of the stars, the code that is generated depends on the values of the parameters. One way to think of this is that the parameters of the star are evaluated at code generation time, so no run-time overhead is incurred from the added flexibility of parameterizing the star.

There are several targets to choose from in the CGC domain. The bdf-CGC target supports the boolean-controlled dataflow model of computation. It must be used whenever stars with BDF semantics are present in a program graph. The default-CGC target supports the SDF model of computation, so it can be used when the program graph contains only stars with SDF semantics. The TclTk_Target target also supports SDF, and must be used whenever Tcl/Tk stars are present in the program graph. The unixMulti_C target supports SDF and partitions the program graph for execution on multiple workstations on a network.

Top Up Prev Next Bottom Contents Index Search

Copyright © 1990-1997, University of California. All rights reserved.