A HYBRID APPROACH FOR PERFORMANCE ASSESSMENT IN EMBEDDED SYSTEMS DESIGN C. Talarico Dept. of Electrical Engineering University of Hawai‘i Honolulu, HI 96822, USA claudio@eng.hawaii.edu J.W. Rozenblit Dept. of Electrical and Computer Engineering The University of Arizona Tucson, AZ 85721, USA jr@ece.arizona.edu A. Stritter Design Automation Infineon Technologies AG Balan str. 73, 81541 Munich, GERMANY albert.stritter@infineon.com ABSTRACT In recent years, embedded computing systems have become so complex, and time-to-market requirements so stringent, that a need for new methodologies and computer aided design (CAD) tools has emerged. The key to cope with complexity is to tackle designs at the highest level of abstraction - the system level. Toward that objective, we pursue an implementation independent system level methodology using executable discrete event models. This paper introduces a hybrid approach for performance assessment of hardware/software designs. We propose both analytical and simulation methods for early evaluation of design models. The approach is illustrated through an application example. The originality of this work is to provide a method for deriving system performance from the execution of high level models rather than gate level or transistor level pre-characterizations. 1. INTRODUCTION The design of embedded systems has traditionally been carried out by decomposing and allocating the system to hardware and software, then allowing separate hardware and software design teams to design their respective parts, and finally integrating hardware and software. This separation of design tasks leads to the potential for initial design mistakes to be carried until the integration phase where they are much more difficult and costly to correct. We address this problem using a unified framework for describing both hardware and software. The idea it to keep the hardware and software design activities tightly coupled. An effective paradigm to pursue this strategy is the concept of “platform” (Sangiovanni- Vincentelli 2001). A platform is simply an abstract view, i.e., an executable model, of the system and its components. Thus, designing an embedded system can be regarded as the process of stacking up layers of platforms. Depending on the abstraction layer (i.e., the level of details used to describe the system) different concerns can be addressed and solved. The key is to model the system at each abstraction layer only with the minimum number of details needed. At each layer the goal is to collect quality/performance indexes to assist the design team in making sound engineering decisions. In our approach, we use stepwise refinements of simulatable models and offer the opportunity to abstract system components at multiple levels of representation. Model components are specified at a high level of abstraction to remain implementation independent. We endeavor a satisfying level of confidence in the correctness of models through computer simulation. A simulation test setup is called an experimental frame. Such frames specify conditions under which the model of the system is observed. Simulation is then executed according to the conditions prescribed by the frames. At the end of the simulation process a virtual prototype is obtained. The design can be then partitioned into hardware software and the corresponding interfaces using a process that we call “model mapping” (Schulz 1998; Schulz 2002). A simplistic illustration of the modelbased design process is given in Figure 1. The process begins with the definition of the functional requirements. The output of this step feeds both the design and test process flows. .....