BigM - University of Michigan

EECS 578 - Correct Operation for Processors
and Embedded Systems

Prof. Valeria Bertacco
FALL 2015

EECS578 logo

Course Policies

Organization and Topics

Course Description
"Graduate-level introduction to topics of correctness in modern processors, embedded systems and accelerator (e.g.: GPUs) designs. Robust and reliable design techniques. Hardware security assurance. Design verification: simulation, formal techniques and post-silicon validation. Quality of services and energy management for correctness of implementation. Term projects."

Course Prerequisites
Students taking the course must be graduate students in the Computer Science and Engineering program or must have successfully completed EECS470 at the University of Michigan.

Course Organization
The course uses a mix lectures and research papers presentations to introduce the material. Students are required to present a recent research paper on a topic of correctness (verification, reliability or security) targeting microprocessors designs or embedded systems. Students will also work in teams in developing a semester-long research project of their choice. Additional assignments include in-class discussion of research papers, and a handful of individual week-long projects (programming required). In-class discussion is an integral component of the course: students who lack in communication skills are encouraged to improve those before enrolling in the class.

Lecture topics
The course will discuss the following topics through lectures and presentation of recent research paper by the students (in pairs):

Course material
The course has no textbook. Readings will be from notes and research papers. All material will be made available through the course web page.


1- Homeworks and Mini-projects

The course has three assignments in the form of either homeworks or mini-projects to be completed throughout the semester. These assignments must be completed by each student individually. Students may discuss with each other the topic of the assignment, but cannot share the solution, specifically or in general terms.

2- Paper presentations

Students, working in pairs, will present research papers from the research paper list. Each group of two will be assigned one paper based on their preferences. The paper is to be presented and discussed in class during an allocated 35 minute slot. Presenters must meet with the instructors on the lecture day before the one in which they present to go over an almost-final draft of their presentation. The presentation may be prepared using any publicly available resource, as long as it is properly referenced. However, note that if the majority of your slides are developed by third-parties, your grade on visuals preparation/organization will be minimal or null. The presentation must include at least 3 discussion points related to the topic of the paper. On the day of the presentation, the presenting team will have 20 minutes to present the paper. The remaining 15 minutes will be dedicated to the discussion of the paper in a team-debate form, where two other students from the class will team up with the presenting students taking opposite viewpoints on the debate topic.

3-Paper quizzes

At the beginning of each lecture where papers are to be presented, students must complete a 5-minutes quiz on the content of the paper to be presented.

4-Class participation

In-class participation is a required and central component of the coursework. To this end, students are required to attend class and be on time. Moreover, they must active participate to the class discussions, particulatly the discussions on the papers presented by their fellow students. Each student in the course is expected to intervene during a paper discussion with an insightful comment or question at least three times during the semester.


There will be one midterm. This is the only exam for the course.

6-Course Project

Students will develop a final project on a research topic of their choosing, related to the material covered in class. It could involve exploring some new solutions in the reliability, security or verification world, focused on either new architectures, algorithms or methodologies. It could also explore some new applications of the topics discussed in class to a different area of research. Finally it could be an analytical evaluation that compares two or more of the techniques presented in class. The project is to be developed in groups of three or four people. During the development of the project, there will be several checkpoints where each group will meet with the instructors to discuss progress and issues encountered. These meetings will be scheduled on Fridays as much as possible. At the end of the term, teams will present their projects through a public poster presentation and a final written report.

Credits and grading

Grades will be based on all the assignments for the class. The weight of each component is approximately as follows: Class participation is evaluated based on students contributions during a wide range of in-class activities. To earn a 100% grade in class participation, a student shall earn 50 participation points (students earning additional points beyond 50 are strongly appreciated, but those points won't contribute further to the participation grade).

How to earn participation points:

General Policies

The honor code is in force on all assignments and exams. See the Engineering Honor Council web page at Individual assignments (that is, the midterm exam, quizzes and the homeworks and mini-projects) are to be completed on your own. You can discuss the mini-projects with other students but all of the code and other materials you submit must be your own. The in-class paper presentation can be prepared using any resource of your liking, as long as they are properly cited. The final project must be developed only by members of the group. Sources used in developing the project must be referenced and, in any case, the final deliverables must be original in writing. Verbal collaboration between members of different groups is permitted and encouraged for the purpose of helping classmates understanding concepts and providing references helpful in developing the project.

Back to the homepage