Current multimedia and telecom applications require complex,
heterogeneous multiprocessor system on chip (MPSoC) architectures with
specific communication infrastructure in order to achieve the required
performance. Heterogeneous MPSoC includes different types of processing
units (DSP, microcontroller, ASIP) and different communication schemes
(fast links, non standard memory organization and access).
Programming an MPSoC requires the generation of efficient software
running on MPSoC from a high level environment, by using the
characteristics of the architecture. This task is known to be tedious
and error prone, because it requires a combination of high level
programming environments with low level software design.
This book gives an overview of concepts related to embedded software
design for MPSoC. It details a full software design approach, allowing
systematic, high-level mapping of software applications on heterogeneous
MPSoC. This approach is based on gradual refinement of hardware/software
interfaces and simulation models allowing to validate the software at
different abstraction levels.
This book combines Simulink for high level programming and SystemC for
the low level software development. This approach is illustrated with
multiple examples of application software and MPSoC architectures that
can be used for deep understanding of software design for MPSoC.