COBRA aims at developing techniques and tools for the codesign of hardware and software. Advances in VLSI and synthesis technology have made it feasible to construct powerful programmable components (microprocessors) as well as complex specialised components. Today, electronic products consist of a mixture of hardware and software components. Diversity and complexity of applications, the short time-to-market, and design costs, make it important to have design methods and tools, which integrate the hardware and software needed to construct such products.
APPROACH AND METHODS
Codesign requires models that allow analysis, verification, and experimentation before making a commitment as to what should be realised as software, and what should become hardware. The description of such a model is called a cospecification. In COBRA, cospecification is the starting point for partitioning the design into hardware and software parts. Both automatic and manual partitioning techniques are studied and refined. For the synthesis of the hardware part, state of the art high-level synthesis tools, starting with VHDL descriptions, are utilised. Similarly, the software parts of the specification are synthesised into executable code.
This project concentrates on the following codesign techniques:
- specification of requirements, interfaces, and functionality
- hardware/software partitioning including appropriate target architectures
- analysis and verification of the properties of a design, eg, functionality, timing, and power consumption
- synthesis from high-level descriptions to hardware and software realisations.
The partners in this project bring together the complementary skills and tools needed for an integrated approach to hardware and software design: Partitioning and synthesis (Karlsruhe/Tuebingen), VHDL experience (VTT), profiling (Braunschweig), specification (Madrid), verification (Lyngby). The role of Siemens providing guidance, benchmarks and performing evaluation is important for the future industrial utilisability of the results.
Codesign has applications in a wide variety of specialised electronic products, for example, embedded real-time controllers, image processing, communication including mobile phones, and robotics. The comparison of different methods and evaluation of the results are based on partner-specific applications.