ESE 566:
Hardware/Software Co-Design
of Embedded Systems
(Graduate course)
 

Instructor: Alex Doboli, PhD
Time and Place: Monday, Wednesday 3:50PM-5:10PM, Psychology A 144
Office hours:
Monday, Wednesday 1:00PM-3:00PM , Light Engineering 261


Credits: 3 credits

Description:

This course presents state-of-the-art concepts and techniques for design of embedded systems consisting of hardware  and software components. Discussed topics include system specification, architectures for embedded systems, performance  modeling and evaluation, and system synthesis and optimization. The course work includes three reports on  various co-design methods.

Goal:

Upon completion of this course, students will possess knowledge about state-of-the-art methodologies and techniques for hardware/software co-design of embedded systems. They will know to (1) develop system-level specifications, (2) implement algorithms for co-design tasks, and (3) integrate the developed algorithms into an overall co-design framework.

Prerequisites:


Topics:
   

Introduction to Co-Design Problem description, goals of co-design, co-design steps, co-design approaches and accomplishments, challenges. Lecture slides: set 2, set 3, set 4.
Architectures for Embedded Systems Single processor-coprocessor architecture, multiprocessor architectures, IP core based design, reconfigurable systems, and platform-based design. Lecture slides: set 5 set 6 set 7 set 8.  
System Modeling and Specification  a) Models of Computation (Finite State Machines, Extended Finite State Machines, Control/Data Flow Nets, Petri nets, Task graphs, hierarchical models). 
b) System Specification Languages. System C page
Performance Modeling Modeling of execution speed (system latency) and energy consumption for hardware and software. Estimation of memory requirements. 
System-Level Synthesis a) Architecture selection.
b) Hardware/software partitioning.Task scheduling (scheduling under data and control dependencies, static and dynamic scheduling, heuristic and exact scheduling algorithms). set 9 set 10. set 11.
Communication synthesis a) Hardware and software interface synthesis.
b) Bus encoding for low power consumption.

Reports:

Three reports will be developed by the students based on the material and topics discussed in class. The goal of the reports is to familiarize students with system architectures, specification, and system design using co-design methods. Reports will discuss an overview on a specific co-design task.

Report 1. Overview on embedded architectures. Due: Oct 17 2005. Report guidelines.

Report 2. Overview on hardware-software codesign methods. Due: Nov 16 2005. Report guidelines.

Report 3. Case study on applying hardware-software codesign to embedded design. Due: Dec 16 2005. Report guidelines.

Course Schedule


Text Books and other Materials

1. G. De Micheli, R. Ernst, W. Wolf, “Readings in Hardware/Software Co-Design”, Morgan Kaufman, 2002.
2. G. De Micheli, “Synthesis and Optimization of Digital Circuits”, McGraw-Hill, 1994.
3. Other material will be provided in class. List of papers to be discussed in class.


Grading

        Final grade =  0.3 report1 + 0.3 report2 + 0.3 report 3 + 0.1 activity during class