This course requires CS2271 and CS3212 as a pre-requisite.
Lectures are Thursday 9 AM - 12 noon in Seminar Room 3B (COM1 Level 2).
There will be no class on Thu 6 September. Instead a make-up lecture will be taken on Wed 12 Sep 10:30 AM at SR 3B (the classroom). The lecture on Thu 13 September will proceed as usual.
The midterm will be on Thursday 11 Oct 9 AM. The exam is open-book.
Till recently embedded computing systems were designed by specifying and realizing
hardware and software separately. This often leads to incompatibilities across the
HW/SW boundary making system integration a very difficult task. The goal of co-design
methodologies is to overcome these difficulties by using unified hardware-software
representations and creating the means for exploring various ways of partitioning the
system into hardware and software components. This module will expose the fundamental
issues in HW/SW co-designs by exploring topics such as: High level system descriptions,
formal verification, system co-simulation, design partitioning, hardware synthesis,
software synthesis, HW/SW interfaces and Co-design tools.
Week 1 : Introduction ® See chapter 1 of textbook
Week 2 : System Specification Notations ® See chapter 2.3, 2.7,2.8 and also here
Week 3 : State Charts See chapter 2.3 and also here
Week 4-5: Scheduling Methods
® See Chapter 4.2Week 6: System Partitioning
® See Chapter 5.3 and also hereWeek 7: Midterm (Open Book)
Week 8: Functionality Validation
® See here (Sections 1,2,4 are sufficient)Week 9-10: Timing Analysis and Validation
®Survey article by Mitra/Roychoudhury in Compiler Design Handbook.
Week 11: Processor Platforms ® See 3.1 - 3.4
Week 12: Memory Hierarchies and Compiler support ® See Chapter 5.4 and also here
Week 13: Hardware testing and validation
® See Chapter 6
Readings : Embedded System Design by Peter Marwedel.
Other readings will appear in the course-outline lecture by lecture.
Lectures : Lecture notes will be posted regularly in this webpage.
® Introduction (1 lecture)
® System Modeling (1 lecture)
® Modeling using StateCharts (2 lectures)
® Scheduling (2 lectures)
® Hardware Software Partitioning (1 lecture)
→ Functionality Validation (1 lecture)
® Timing Validation (2 lectures)
® Hardware Platforms (1 lecture)
® Compiler controlled Memories (1 lecture)
Jslice debugging tool (Assignment 2),
Chronos WCET Analyzer (Assignment 3).
Assignment 1: Use Rhapsody for Modeling (
Assignment,
Explanation slides,
Rhapsody notes) - 10 %
Assignment 2: Use JSlice for
Debugging ( Assignment,
Explanation slides )- 10%
Assignment 3: Use Chronos
for Cache-aware Scheduling -- (Assignment
, Benchmarks ) - 10% Midterm : 25 %
Final :
45 %
Assignments
: 30 % Pre-requisites
: CS 2271 and CS 3212
Consultation : Thursday 2:00 - 4:00 PM in my
office COM1 #03-20
Other Course Information
Instructor:
Abhik Roychoudhury
Office : COM1 #03-20
Lectures:
Thursday 9:00 AM - 12:00 noon at Seminar Room 3B (COM1 Level 2)