CATALOG DESCRIPTION: Introduction to the design and evaluation of embedded systems, with emphasis on the system-level aspects of embedded systems.  Topics include modeling (models of computation and models of communication), survey of embedded system hardware, software and operating system issues specific to embedded system design, mapping specifications to hardware, and testing and evaluation of embedded systems.

  • This course fulfills the Systems breadth and depth requirement.

COURSE COORDINATOR(S): Prof. Lawrence J. Henschen, Dr. Julia C. Lee

COURSE OBJECTIVES: After a student completes this course he or she should be able to:

  • Model the computational and communication requirements of an embedded system and select the model(s) most appropriate for the application.
  • Select relevant hardware for system implementation and at least design the interconnections between hardware elements.
  • Determine schedules or select scheduling algorithms for an application.
  • Select from alternatives based on general computing elements, ASIC circuits, and software components to implement a system.
  • Identify criteria for evaluating a design and select designs from a list that are most likely to satisfy system requirements.

PREREQUISITES: Senior or graduate standing in Computer Science or Computer Engineering.

REQUIRED TEXT:   Tentative text: Embedded System Design:  Embedded Systems Foundations of Cyber-Physical Systems – Second Edition, Peter Marwedel, Springer

RECOMMENED READING MATERIALS:

DETAILED COURSE TOPICS:

1. ES design challenges and characteristics.
2. ES modeling:

  • a. Models of computation – finite-state machines, Petri nets, timing, etc.
  • b. Models of communication – communicating FSMs, Kahn networks, SDL, etc.
  • c. Models of discrete events - VHDL

3. ES hardware:

  • a. Sensors – ADC, DAC, sampling, signal reconstruction.
  • b. Computing elements
  • c. Memories
  • d. Interconnection techniques – parallel, serial, bus arbitration

4. Operating system issues for ES:

  • a. General requirements
  • b. Real-time operating systems
  • c. Scheduling – static/dynamic, periodic event scheduling, ASAP, ALAP, least laxity, etc.

5. System synthesis.
6. Evaluation:

  • a. Objectives used in ES evaluation.
  • b. Techniques for evaluation – Pareto evaluation, etc.

7. System testing.
8. Optimization techniques for ES

LAB/HOMEWORK:

Students will work in teams to design an embedded system.  The steps will include modeling the computation and communication, searching for appropriate hardware and software elements, and evaluation of alternate designs.

 

GRADES:    Grades will be based on:

  • Midterm – 35%
  • Final – 35%
  • Lab/homework – 30%