Embedded Systems: Theory, Modeling and Verification
August 2006


Instructors:   Matthieu Moy (moy@csa)      Prabhat Mishra (prabhat@csa)      K. Gopinath (gopi@csa)

Lectures:   Tue/Thu      10:00 - 11:30 AM      CSA 252

Overview:   Embedded systems run the computing devices hidden inside a vast array of everyday products and appliances such as cell phones, toys, handheld PDAs, cameras, and microwave ovens. Cars are full of them, as are airplanes, satellites, and advanced military and medical equipments. As applications grow increasingly complex, so do the complexities of the embedded computing devices. The goal of this course is to develop a comprehensive understanding of the technologies behind the embedded systems design. The students develop an appreciation of the existing capabilities and limitations of various steps in overall design methodology - modeling/specification, exploration, partitioning, synthesis(hardware/software/interface), and validation/verification of embedded systems.

Prerequisites:   Good skills in programming and basic knowledge of computer organization/architecture or consent of instructor(s).

Textbook:   None.

Course Outline:   Tentative.
  1. Introduction to Embedded Systems
  2. Design Flow of Systems-on-Chip
  3. Specification, Theory, Execution Models
  4. Transaction-Level Modeling and SystemC:
  5. Modeling and Specification (Petri Nets, UML, ...)
  6. Hardware-Software Partitioning
  7. Components of Embedded Systems
  8. Design Space Exploration of Embedded Systems
  9. Validation of Programmable Embedded Systems
  10. Time in Embedded Systems
  11. Control Systems
  12. Compilation for Embedded Systems
  13. Retargetable Simulation
  14. Code Compression
  15. Time-Triggered Architecture
  16. Comprehensive FINAL: Dec 5   10:00 AM - 1:00 PM.


Course References:
Courses on the Web:
Please feel free to contact me if you have any questions, comments or suggestions.