Instructor: Patrick Schaumont
Syllabus (Fall 2013)
Catalog Description: Introduction to the design of mixed hardware-software systems, focusing on common underlying modeling concepts, the design of hardware-software interfaces, and the trade-offs between hardware and software components. Students will use simulation tools to conduct experiments with mixed hardware-software systems in the area of embedded systems.
How will you select a microprocessor for your next embedded project? Would you develop software for the whole project or are there some parts that would be much more efficient when implemented in hardware?
Modern embedded systems are not just software or hardware, they're both. A smart designer is one that knows how to partition the system into software and hardware components, using an architecture strategy that will optimize performance, power consumption, development time, and cost.
This course goes to the root of this design problem. We will
look into issues such as how to make software run faster by
adding hardware coprocessors, how to design custom-instruction
set processors, and how to optimize of memory-bandwidth and
bus-bottlenecks in general-purpose architectures.
- Assignments and results from recent codesign challenges
This course heavily relies on hands-on and projects. Every course includes a 'codesign challenge', an open-ended assignment that is graded based on the performance-rank obtained by students (that is, better solutions get more points, and better solutions are those which have a better performance than other solutions).
- Recent experiments on the Terasic/Intel DE2i-150 board.
This board will be used starting Fall 2013 through support from Intel.
- Textbook: A Practical Introduction to Hardware/Software Codesign
by P. Schaumont (Springer 2013)
A paper on the benefits of open-ended design projects (pdf):
P. Schaumont, I. Verbauwhede, "The exponential impact of creativity on computer engineering education," International Conference on Micro-Electronic Systems Education 2013, Austin, TX, June 2013.
- A paper on the organization of this course: (pdf)
P. Schaumont, "Hardware/Software Codesign is a Starting Point in Embedded Systems Architecture Education",ARTIST Workshop on Embedded Systems Education (WESE 2008), October 2008.
- An older paper on the origins of this course: (pdf)
P. Schaumont, "A Senior Level Course in Hardware/Software Codesign," IEEE Transactions on Education, Special Issue on Micro-Electronic Systems Education, 51(3):306-311, August 2008.