Academic Journals Database
Disseminating quality controlled scientific knowledge

Model Based Synthesis of Embedded Software

Author(s): Samar Abdi | Daniel Gajski | Ines Viskic

Journal: Journal of Software
ISSN 1796-217X

Volume: 4;
Issue: 7;
Start page: 717;
Date: 2009;
Original page

Keywords: system modeling | communication SW synthesis | MPSoC | model based design | transaction level modeling | pin and cycle accurate implementation

This paper presents software (SW) synthesis using Embedded System Environment (ESE), a tool set for design of multicore embedded systems. We propose a classif8cation of multicore embedded systems based on their platform architecture. We identify key design decisions and models that are required for embedded system synthesis. We present a model based design methodology that starts with an application model consisting of C processes communicating via abstract message passing channels. The application model is mapped to a platform net-list of SW and hardware (HW) cores, buses and buffers. A high speed Transaction Level Model (TLM) is generated to validate abstract communication between processes mapped to different cores. The TLM is further refined into a Pin-Cycle Accurate Model (PCAM) for board implementation. The PCAM includes C code for all the communication layers including routing, packeting, synchronization and bus transfer. The generated embedded SW provides a library of application level services to the C processes on individual SW cores. Therefore, the application developer does not need to write low level SW for board implementation. Synthesis results for multicore MP3 decoder and JPEG encoder designs, using ESE, show that the embedded SW is generated in order of seconds, compared to hours of manual coding. The quality of synthesized code is comparable to manually written code in terms of performance and code size. Over 3X productivity gain in overall multicore design is shown to result from automatic SW synthesis.
Save time & money - Smart Internet Solutions      Why do you need a reservation system?