Multi-objective Design Space Exploration of Multiprocessor SoC Architectures: The MULTICUBE Approach
This book serves as a reference for researchers and designers in Embedded Systems who need to explore design alternatives. The MULTICUBE project (an EU Seventh Framework Programme project) has focused on this problem for the past three years and is the basis for this book. It provides a design space exploration methodology for the analysis of system characteristics and the selection of the most appropriate architectural solution to satisfy requirements in terms of performance, power consumption, number of required resources, etc. This book focuses on the design of complex applications, where the choice of the optimal design alternative in terms of application/architecture pair is too complex to be pursued through a full search comparison, especially because of the multi-objective nature of the designer’s goal, the simulation time required and the number of parameters of the multi-core architecture to be optimized concurrently. The methodologies presented have been applied to several application domains to demonstrate their applicability and benefits. First, a high-level modeling and exploration approach has been applied for a powerline communication network based on a SoC, then the application of the automatic DSE flow to parallel on-chip architectures is discussed, and finally the DSE for run-time management has been applied to a reconfigurable system for video streaming. Describes the MULTICUBE Design Space Exploration methodology, which provides a multi-level system specification and modeling framework to provide static and dynamic evaluation of the system-level metrics;Provides a common tool interface composed of several layers that are connected through standardized interfaces;Offers a short path to real design space exploration, through use of industrial design flows for examples and tools;Includes optimizations in areas such as multi-processor architectures, multimedia, power consumption, design time, system-level simulation and profiling, run-time management of resources, etc.