EE382C Embedded Software Systems - Codesign Projects

Brian L. Evans

Hardware/Software Codesign Projects

The simultaneous design of the hardware and software components of a system is called codesign. Hardware/software codesign encompasses partitioning, scheduling, synthesis, and cosimulation. Automating codesign is not practical at the current time. Instead, codesign techniques are used to provide guidance to designers for making mapping decisions. Successful approaches for design guidance limit the scope of the problem. For example, the codesign of dataflow graphs that can be statically scheduled on one hardware target (e.g. FPGA) and one software target (e.g. a digital signal processor core) has two advantages: (1) schedules are static, and (2) mapping decisions are binary.

Below, I list information about selected hardware/software codesign approaches to form ideas about a project.

For a project, you should tie your approach formal model or method. If the project were related to FPGAs, then you could limit your scope to statically schedule dataflow graphs in which you periodically change the SDF graph, reschedule, and reconfigure the FPGA.

Last updated 02/21/98.