Course Information
Course Topics
- Embedded Systems and Their Design
- What is an Embedded System?
- Characteristics of Embedded Applications
- The Traditional Design Flow
- What is Bad with the Traditional Design Flow
- System Level Design of Embedded Systems
- Models of Computation and Specification Languages
- System Specification and Formal Methods
- Models of Computation
- Concurrency, Communication, Synchronization
- Dataflow Models
- Kahn Process Networks
- Synchronous Dataflow: Statically Schedulable Dataflow Models
- Deriving a Static Schedule for Synchronous Dataflow Models
- Petri Nets
- Basic Petri Net Model
- Properties and Analysis of Petri Nets
- Extended Petri Net Models
- Discrete Event Models
- What is a Discrete Event Model?
- Discrete Event Simulation
- Potential Ambiguities in Discrete Event Simulation
- Synchronous Finite State Machines & Synchronous Languages
- FSM and Extended FSM Models
- The State Explosion Problem
- Hierarchical Concurrent FSMs
- Time and Synchrony
- Synchronous/Reactive Languages
- How to Implement a Synchronous System?
- Globally Asynchronous Locally Synchronous Systems
- GALS Models
- Codesign Finite State Machines
- Timed and Hybrid Automata
- What Modeling Approach and Specification Language to Choose?
- Architectures and Platforms for Embedded Systems Design
- General Purpose vs. Application Specific Architectures
- Typical Architectures for Embedded Systems
- Architecture Specialization Techniques
- Reuse Techniques. Component and Platform-based Design
- Reconfigurable Systems
- Real-Time Embedded Systems: Task Scheduling
- Real-Time Systems and Their Typical Features
- Task Scheduling Policies
- Static Cyclic Scheduling
- Priority Based Scheduling
- Schedulability Analysis
- System-Level Power/Energy Optimization
- Sources of Power Dissipation
- System Level Power Optimization
- Dynamic Power Management
- Mapping and Scheduling for Low Energy
- Real-Time Scheduling with Dynamic Voltage Scaling
Page responsible: Soheil Samii
Last updated: 2021-12-30