Digital Signal Processing Reference
In-Depth Information
CAL2C synthesis flow
*.cpp
*.hpp
trans−
formations
code
generation
*.cpp
*.hpp
CAL source
parser
CAL AST
C
*
p
*.hpp
actor
parameter
code
generation
NL network
description
NL AST
NL AST
*.hpp
parser
elaboration
Fig. 19
Design flow using of the CAL2C utility compiling CAL into C
++
code
level of the clustered graphs is associated with a certain MoC. For the analysis of
such a hierarchy level, the classical approaches known for the corresponding MoC
are employed.
However, the decomposition of an application into hierarchy levels with explicit
MoC assignments can be problematic for the designer. Therefore, a tendency to
select the most general MoC, e.g., process networks instead of synchronous dataflow
for the hierarchy levels can be observed. Furthermore, Ptolemy II only allows
simulation and target code generation. Also, there is currently no support for mixed
hardware/software implementations.
In the following, we will discuss OpenDF , a design framework based on CAL ,
and SystemCoDesigner , a design methodology based on S YSTE M O C. Both of these
frameworks support the synthesis of integrated FSM and dataflow models into
hardware/software implementations.
4.2
The OpenDF Design Flow
The OpenDF project [ 4 ] provides design entry, simulation, and debugging support
for the CAL language [ 11 ] . Dataflow graphs are specified via network language ( NL )
which instantiates the CAL actors. The actor parameters derived from the instantia-
tion of the actors in the NL file are inserted and the CAL source code is parsed and
transformed into an XML intermediate representation. This representation is used for
various transformations, e.g., type inference, type checking, constant propagation,
and dataflow analysis. The result is an intermediate representation of the CAL source
code in static single assignment form ( SSA ). From this result, either a simulation can
be executed or two different synthesis backends generating C
++
or verilog source
code can be started . 8
The software synthesis tool CAL2C [ 24 ] supports two synthesis targets one
targeting POSIX threads and software FIFOs , the other one targeting the SystemC
environment, using it as a process network ( PN ) simulation framework. The
synthesis process, also depicted in Fig. 19 , is done by (i) translating the NL dataflow
8 The CAL simulator component of the OpenDF environment can be downloaded from sourceforge
[ 23 ] .
 
 
 
Search WWH ::




Custom Search