Today’s electronic systems have become highly complex, highly
heterogeneous, and highly concurrent. The platform-based system
level design methodology is increasingly being adopted as the primary
method to deal with the complexity of these modern systems.
In system level design, the desired function and the architecture at
hand are captured separately at high levels of abstraction. The design
procedures refine the abstract function, refine the abstract architecture,
and map the function onto the architecture to realize the
final implementation [3, 11]. High level design procedures allow
designers to tailor their architectures to the desired functions or to
modify their functions to suit the available architectures. The orthogonalization
of various aspects of design concerns (e.g. function
v.s. architecture, computation v.s. communication, and datapath v.s.
control) makes both design exploration and verification easier.