|Mar 29, 2011|
|Fall 2011: Embedded System Design and Synthesis
|Course No.: 598-3|
Credit Hours: 4
Instructor: Robert P. Dick
Prerequisites: (EECS 370 or EECS 373) and (EECS 280) or equivalent or permission of instructor.
Description: Embedded systems are computers within other devices such as automobiles and medical devices. This course will survey the field of embedded system analysis, design, and synthesis and introduce open research topics in the automatic design of reliable, high-performance,low power consumption, inexpensive embedded systems, e.g., smartphones, distributed sensing systems, and multimedia devices. Commonly, half of those attending are graduate students and half are undergraduate students, who typically do very well if ambitious.
Required Text: None
- Wayne Wolf, "Computers as Components: Principles of Embedded Computing System Design", Morgan Kaufman, 2001.
- Robert Dick, Multiobjective Synthesis of Low-Power Real-Time Distributed Embedded Systems, Dept. of Electrical Engineering,Ph.D. dissertation, Princeton University, 2002.
Readings: Numerous research papers and book chapters will be assigned.Students will write brief summaries of the assigned articles.
Course Goals: Prepare students for research in embedded system synthesis and design. Introduce real-time systems and embedded operating systems basics. Complete original projects that may serve as foundations for further research.
Prerequisites by Topic:
- Computer programming
- Algorithm analysis and design
- Fundamentals of logic design and computer organization
- Introduction to embedded systems
- Embedded system applications
- Overview of heterogeneous multiprocessor system-on-chip design problem
- Models and languages
- Formal methods for designing reliable embedded systems
- Heterogeneous multiprocessor synthesis
- Reliability optimization
- Real-time systems
- Compilation techniques for embedded systems
- Embedded operating systems
- Low-power and power-aware design
- Novel fabrication techniques for compact and low-power embedded systems
- Emerging applications (e.g., sensing and actuation intensive applications and user-aware computing)
- Hardware and software data compression for use in embedded systems
- Review and student presentations on short projects
Projects: Students will complete one small project and one main project. The instructor will propose a number of possible small project topics. Students may select from among these or propose their own ideas. Small project reports and presentations will be required.The main course project is often an extended version of the small project, but this is not required.
Examples of previous projects include commercially used operating system modules for increasing available memory in smartphone-class embedded systems, a distributed air quality sensing and reporting system, and security-enhancing techniques to implicitly determine whether an embedded system is being used by its owner or a thief,hardware to improve operating lifespans of distributed sensing systems, and scheduling and synthesis algorithms to improve FPGA performance.
Exams: There will be a final exam covering the assigned reading.
- Projects 50%
- Presentations 25%
- Literature summaries 10%
- Exams 15%