Embedded Systems - ECSE 421
course description
An embedded system is any computer system embedded in a larger product for the purpose of monitoring or controlling some part of the larger system. Embedded systems, unlike general-purpose computer systems, are highly optimized to deliver the best application-specific performance possible under a wide and varying set of constraints. In this course, we will cover the basic elements of embedded system design, including system specification and modeling, the components of embedded hardware and software, and techniques for system validation, evaluation, and optimization. The goal of this course is to familiarize students with each of these aspects of embedded system design and both their relationship with one another and with design and optimization as a whole.
questions
What will I learn?
Is this course for me?
What's the text book?
How is my grade determined?
What are the in-class and homework activities?
What's the policy on late work?
Where's that line about academic integrity?
Further important information about the course is available from the course guide.
calendar
(Deliverables will be added as the term progresses.)
Date Topic and slides Readings/Videos Deliverables
09-Jan-17Course Outline and Overview 
11-Jan-17Introduction to Embedded System Design1.1, 1.2, 1.3, 1.4
16-Jan-17Specifying Requirements / MoCs / MSC2.1-2.3 (or 2.1, 2.3)
18-Jan-17CFSMs2.4.1, 2.4.2.1, 2.4.2.2-2.4.3, 2.4.4Lab 1
23-Jan-17Data Flow Modeling2.5.1-2.5.2, 2.5.3
25-Jan-17Petri Nets2.6.1, 2.6.2 Exercise
30-Jan-17Petri Nets2.6.3, 2.6.4-2.6.5
01-Feb-17Discrete Event Models2.7.1
06-Feb-17DES / Von Neumann Model of Computation2.8, 2.9, 2.10
08-Feb-17Sensors3.1, 3.2.1, 3.2.2, 3.2.3
13-Feb-17Processing Elements3.3.1-3.3.2, 3.3.3-3.3.3.2Lab 2 | AtoD conversion
15-Feb-17More Processing Elements / FPGAs3.3.4
20-Feb-17Memories, Communication, Output3.4, 3.5, 3.6.1, 3.6.2
22-Feb-17Introduction to Neural Networks
27-Feb-17Embedded Operating Systems4.1-4.1.2, 4.1.4
01-Mar-17Performance Evaluation5.1-5.2.2
06-Mar-17Reading BreakLab 3
08-Mar-17Reading Break
13-Mar-17More Evaluation and Validation5.3-5.4, 5.5, 5.6-5.8
15-Mar-17Introduction to Scheduling6.1-6.2.1, 6.2.2
20-Mar-17Scheduling Aperiodic Tasks6.2.3-6.2.4
22-Mar-17Scheduling Periodic Tasks6.2.5-6.2.6Exercise
27-Mar-17HW/SW Partitioning6.3Lab 4
29-Mar-17Mapping Applications to Multiprocessors6.4
03-Apr-17Intro to Compile-time Optimization7.1-7.2
05-Apr-17Quiz
10-Apr-17DemosFinal Project
Last updated on 4 April 2018