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
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
targeting
POSIX
threads and software
FIFOs
, the other one targeting the SystemC
environment, using it as a process network (
PN
) simulation framework. The