Information Technology Reference
In-Depth Information
4.5.5
Specification and Modeling
Specification is the starting point of the codesign process, where the designer specifies
the systems specification without specifying the implementations. Languages are used
to capture the system specifications. Modeling is the process of conceptualizing and
refining the specifications. A model is different from the language used to specify the
system. A model is a conceptual notation that describes the desired system behavior,
whereas a language captured that concept in a concrete format. A model can be
captured in a variety of languages, whereas a language can capture a variety of
models (Vahid & Givargis, 2001).
To design systems that meet performance, cost, and reliability requirements, the
design process need to be based on formal computational models to enable step-
wise refinements from specification to implementation during the design process
(Cortes et al., 2002). Codesign tools use specification languages as their input. To
allow refinement during the design process, the initial specifications are transformed
into intermediate forms based on the Model of Computation (MOC) (Bosman et al.,
2003) used by the codesign systems. Two approaches are used for system specifica-
tion, homogeneous modeling and heterogeneous modeling (Niemann, 1998), (Jerraya
et al., 1999):
Homogeneous modeling uses one specification language for specifying both
hardware and software components of a heterogeneous system. The typical task
of a codesign system using the homogeneous approach is to analyze and split the
initial specification into hardware and software parts. The key challenge in this
approach is the mapping of high-level concepts used in the initial specification
onto low-level languages (i.e., C and VHDL) to represent hardware/software
parts. To address this challenge, most co-design tools that use the homogeneous
modeling approach start with a low-level specification language in order to
reduce the gap between the system specification and the hardware/software
models. For example, Lycos (Gajski et al., 1997) uses a C-like language called
C x and Vulcan uses another C-like language called Hardware C. Only few
codesign tools start with a high-level specification language. For example, Polis
(XXXX) uses Esterel (Boussinot et al., 1991) for its specification language.
Heterogeneous modeling uses specific languages for hardware (e.g., VDHL) and
software (e.g., C). Heterogeneous modeling allows simple mapping to hardware
and software, but this approach makes validation and interfacing much more
difficult. CoWare (Van Rompaey et al., 1996) is an example of a codesign
methodology that uses heterogeneous modeling.
4.5.6
Models of Computation
A computational model is a conceptual formal notation that describes the system
behavior (Vahid & Givargis, 2001). Ideally, a MOC should comprehend concurrency ,
sequential behavior , and communication methods (Cortes et al., 2002). Codesign
systems use computational models as the underlying formal representation of a
Search WWH ::




Custom Search