Improving SoC Design Flow by means of MDA and UML Profiles ⋆ Elvinia Riccobene 1 Alberto Rosti 2 Patrizia Scandurra 1 1 Dipartimento di Matematica e Informatica, Universit`a di Catania - V.le A. Doria, 6 - 95125 Catania, Italy {riccobene,scandurra}@dmi.unict.it 2 STMicroelectronics, AST Agrate Lab Research and Innovation - Centro Direzionale Colleoni 20041 Agrate Brianza, Italy alberto.rosti@st.com Abstract. We tackle the problem of improving the SoC (System on a Chip) de- sign flow in order to provide a modeling framework which allows exchange, reuse and integration of IP (Intellectual Property) models. In this paper, exploiting the MDA capabilities of defining modeling languages platform independent and reducible to platform dependent languages, we present a UML profile for the Sys- temC language. Furthermore, we discuss the advantages of high-level modeling SoC components in the style of UML using the SystemC design primitives, rather than designing at a lower level by means of coding. 1 Introduction The integration of information from multiple heterogeneous sources and the ability to work at high levels of abstraction with incomplete information are key issues of SoC (System on a Chip) embedded design. Therefore, (i) common design methodologies need to be defined; (ii) modeling guidelines which allow for interoperability of models from multiple vendors and within multiple design flows need to be established; and (iii) library code, which provides commonly-used utilities, need to be developed and standardized. The absence of a standardized and well-accepted system-level design language has inhibited the development, exchange, and reuse of intellectual property (IP) models. A modeling language, candidate to operate at system-level, should have features separated from design methodologies, modeling guidelines, and library code; therefore, such a language should support a wide variety of modeling styles and design methodologies. Currently, all system-level languages proposals can be classified into four main classes: reusing classical hardware description languages (HDLs) such as extending Verilog [6] to SystemVerilog [13]; adapting software programming languages such as C/C++ [11] and Java [1] with hardware design capabilities; creating new specific languages for system- level design (Rosetta [10] for example); extending standard lightweight software model- ing methodologies like UML [16] in order to apply them as higher languages operating synergically with lower level languages (as those cited above). Tackling the problem of defining a modeling language adoptable for the SoC design flow, we take advantage of the Model Driven Architecture [8] approach for language definition based on metamodeling. Through metamodels, the MDA framework provides a mechanism to define modeling languages in an unambiguous way and to make the languages and the models written in these languages understandable to transformation ⋆ This work has been partially supported by the project Tecniche e metodologie di progetto, documentazione, verifica e validazione per i sistemi di IP (Intellectual Property) at STMi- croelectronics.