The traditional design flow is subdivided into two decoupled phases. First the functionality of the system is defined during the algorithms exploration phase. Usually this is performed either with an application specific tool including a support library (e.g. SPW and SystemStudio for wireless communications) or by selecting an standard algorithm available (e.g. an H.264 video decoder for a multimedia system). A specification is then created based on the the selected algorithm. This specification serves as the basis for determining the different IP blocks for the processing elements and the communication architecture and finally for the implementation of the the MPSoC prototype. This traditional approach is no longer feasible for the design of large heterogeneous systems, because quantitative architectural considerations are not taken into account prior to the implementation phase.
Due to the high level of detail of the implementation model, its creation is a time-consuming task. As the actual feasibility of the chosen design can only be evaluated once the model has been created, it cannot be determined quickly if further design improvements are necessary and what aspects of the design have to be improved. Additionally, the fine-grained implementation details make it hard to consider global system architecture tradeoffs and lead to applying only local local optimizations.
Therefore we propose a new design flow with and additional intermediate phase. First a high-level MPSoC exploration model is developed, which is used to determine the necessary IP blocks of the MPSoC. Later on the prototype is implemented in an gradual refinement of the abstract exploration model.