A Formal Approach for Optimizing Mapping in System Level Design
Qi Zhu, Abhijit Davare and Alberto L. Sangiovanni-Vincentelli
The separation of concerns between functionality and architecture is a technique used to facilitate design reuse at all design levels. This separation of concerns and the successive refinement of the design by mapping functionality onto architecture are the core concepts in platform-based design. Optimal mapping optimizes a set of objective functions while satisfying constraints on the mapped design.
Formalized design methods gain traction in the designer community when they facilitate automating the design process from specification to implementation, as witnessed by the RTL to layout ASIC flow. While logic synthesis and layout synthesis, which can be seen as special cases of optimized mapping, have been widely researched and many excellent algorithms have been made available, the mapping problem at the system level is typically solved in an ad-hoc and implicit manner based on designer experience.
We propose a formal mapping procedure that enables the development of automatic tools. The mapping procedure is based on a two-stage process: (1) determining a common semantic domain between function and architecture models, and selecting an appropriate set of primitives to decide the abstraction level, and (2) solving an optimal covering problem where the functional model is covered by a minimum cost set of architectural components. This process is general in the sense that it can be applied at all levels of abstraction and for a variety of system level design problems. We demonstrate the use of the formal approach for the optimal mapping problems in two widely different application domains which feature different models of computation for representation as well as different implementation platforms.
Email contact: zhuqi@eecs