A Survey of Co-Design Ideas and Methodologies
Gerhard Bosman, Andre Bos, P. G. C. Eussen · 2003
Designing embedded systems becomes more and more complex due to the increasing size of integrated circuits, increasing software complexity and decreasing time-to-market requirements and product costs. A possible way to deal with this complexity is the use of high-level system design languages. Such approaches combine modelling of software and hardware, and are called Co-Design approaches. A fundamental difference between hardware components and software components is in the way commands are executed: parallel vs. sequential. A modelling approach needs to combine these, to allow efficient synthesis and to prevent a (very expensive) paradigm shift. The differences in execution between software- and hardware components can be analysed using computational models, which are mathematical descriptions of the behavior of a component. Most Co-Design approaches use a modelling language which is based on one or more computational models.