The efficient analysis and exploration of mapping solutions of a parallel application on a heterogeneous MultiProcessor Systems-on-Chip (MPSoCs) is usually a challenging task in system-level design, in particular when the architecture integrates hardware cores that may expose reconfigurable features. This paper proposes a system-level design framework based on SystemC simulations for fulfilling this task, featuring (i) an automated flow for the generation of timing models for the hardware cores starting from the application source code, (ii) an enhanced simulation environment for SystemC architectures enabling the specification and modification of mapping choices only by changing an XML descriptor, and (iii) a flexible controller of the simulation environment supporting the exploration of various mapping solutions featuring a customizable engine. The proposed framework has been validated with a case study considering an image processing application to show the possibility to automatically exploring alternative solutions onto a reconfigurable MPSoC platform. DOI: 10.4018/jertcs.2013010102 International Journal of Embedded and Real-Time Communication Systems, 4(1), 22-41, January-March 2013 23 Copyright © 2013, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. In the platform-based design, the initial application is first decomposed in chunks of instructions (called tasks) and usually represented as functions, which may be potentially executed in parallel. Then, these tasks have to be assigned to the architecture resources (mapping) devoted to their execution, so that all the architectural constraints are satisfied. In this work, we focus on the latter part of the problem, discussing how, after an application has been decomposed, different mapping solutions can be evaluated and compared, especially when the execution of the application is data-dependent (Gries, 2004). In these cases, the designers usually need to interface with simulators to characterize the systems and assess the performance of the application. In such a scenario, the Y-chart design methodology (Pimentel et al., 2006), shown in Figure 1, is one of the most popular approaches for the design space exploration devoted to the system-level synthesis of MPSoCs: starting from an application and an architectural platform which parameters can be further customized, the tasks are mapped to the processing elements; a performance analysis of the identified solution is then carried out and, finally, the obtained metrics’ values (e.g., performance, power consumption, area) are analyzed to give a feedback for improving the solution (i.e., the architecture, the application and the mapping). Such process is then iterated until the solution meets the requirements imposed by the designer. For these reasons, automating this process is a crucial step for reducing the time required to generate high-quality solutions. Besides analytical approaches (Agosta et al., 2007, Ferrandi et al., 2010), based on worst case execution time estimation and static scheduling, the designer may require additional information by means of simulations, at different abstraction levels, especially when the actual platform is not fully implemented. These simulators can consider either SystemC performance models (e.g., Kempf et al., 2005) or slower but more accurate ISS-based Instruction Set Simulators (ISSs) (e.g., Qin & Malik, 2003, Beltrame et al., 2006, Beltrame et al., 2009, Synopsys, 2012). In this paper, we focus on the case where the designer desires to perform a simulation of the complete system (i.e., mapped application running on the top of the target architecture) to enable an accurate tuning of the design parameters, both architectural and application’s ones. In this scenario, if the exploration of architectural parameters and the application optimization through code transformations have been already addressed by several approaches (Agosta et al., 2007, Beltrame et al., 2010, Mariani et al., 2012), the exploration of mapping solutions presents several issues, especially in the case of hardware accelerators, that have not been fully automated yet. Indeed, in most of the cases, the generation of the models for the hardware accelerators and their interfacing with the rest of the application is manually performed, preventing the possibility of automating the exploration. Figure 1. Different phases of the design space exploration 18 more pages are available in the full version of this document, which may be purchased using the "Add to Cart" button on the product's webpage: www.igi-global.com/article/simulation-based-frameworkexploration-mapping/77308?camid=4v1 This title is available in InfoSci-Journals, InfoSci-Journal Disciplines Communications and Social Science, InfoSciCommunications, Online Engagement, and Media eJournal Collection, InfoSci-Journal Disciplines Computer Science, Security, and Information Technology, InfoSci-Journal Disciplines Engineering, Natural, and Physical Science. Recommend this product to your librarian: www.igi-global.com/e-resources/libraryrecommendation/?id=2
[1]
Andy D. Pimentel,et al.
A systematic approach to exploring embedded system architectures at multiple abstraction levels
,
2006,
IEEE Transactions on Computers.
[2]
Rainer Leupers,et al.
A modular simulation framework for spatial and temporal task mapping onto multi-processor SoC platforms
,
2005,
Design, Automation and Test in Europe.
[3]
Luca Fossati,et al.
Decision-Theoretic Design Space Exploration of Multiprocessor Platforms
,
2010,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[4]
Sandro Rigo,et al.
ArchC: a systemC-based architecture description language
,
2004
.
[5]
Khaled Benkrid,et al.
A novel high-performance fault-tolerant ICAP controller
,
2012,
2012 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).
[6]
Luca Fossati,et al.
ReSP: A Nonintrusive Transaction-Level Reflective MPSoC Simulation Platform for Design Space Exploration
,
2009,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[7]
Franco Fummi,et al.
Automatic Abstraction of RTL IPs into Equivalent TLM Descriptions
,
2011,
IEEE Transactions on Computers.
[8]
Giovanni Agosta,et al.
Efficient architecture/compiler co-exploration using analytical models
,
2007,
Des. Autom. Embed. Syst..
[9]
Matthias Gries,et al.
Methods for evaluating and covering the design space during early design development
,
2004,
Integr..
[10]
Sharad Malik,et al.
Flexible and formal modeling of microprocessors with application to retargetable simulation
,
2003,
2003 Design, Automation and Test in Europe Conference and Exhibition.
[11]
Pier Luca Lanzi,et al.
Ant Colony Heuristic for Mapping and Scheduling Tasks and Communications on Heterogeneous Embedded Systems
,
2010,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[12]
Fabrizio Ferrandi,et al.
A design methodology to implement memory accesses in High-Level Synthesis
,
2011,
2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).
[13]
Alberto L. Sangiovanni-Vincentelli,et al.
Platform-Based Design and Software Design Methodology for Embedded Systems
,
2001,
IEEE Des. Test Comput..
[14]
Mitsuhisa Sato,et al.
OpenMP: parallel programming API for shared memory multiprocessors and on-chip multiprocessors
,
2002,
15th International Symposium on System Synthesis, 2002..
[15]
Vittorio Zaccaria,et al.
OSCAR: An Optimization Methodology Exploiting Spatial Correlation in Multicore Design Spaces
,
2012,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[16]
Damien Lyonnard,et al.
Exploiting TLM and Object Introspection for System-Level Simulation
,
2006,
Proceedings of the Design Automation & Test in Europe Conference.
[17]
Ahmed Amine Jerraya,et al.
Multiprocessor System-on-Chip (MPSoC) Technology
,
2008,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.