Skip to Main Content
Modern electronic system design makes extensive use of programmable architectures, and requires designers to jointly consider hardware and software in their design. A senior-level course called 'Introduction to Codesign' provides a once-over-lightly approach to these complex system design issues. The course covers basic trade-offs in the design of custom architectures and software. In an associated design project, senior students analyze and accelerate a reference algorithm in C and end up with a processor and a coprocessor mapped on an FPGA board. We review the motivations for this course, the curriculum, the lab materials and tools used, and the results of the first offering of the course in the fall semester of 2006.