|
- University of Michigan |
EECS 578 - Correct Operation for Processors and Embedded Systems
Prof. Valeria Bertacco
FALL 2015
|
|
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):
- Architecture topics
- interconnect design
- router architecture and routing protocols
- memory consistence
- heterogeneous multicores
- Processor and SoC functional correctness
- pre-silicon validation
- acceleration
- post-silico validation
- runtime correctness
- Robust design
- robust single and multi-core processor
- robust memory subsystems
- robust uncore and interconnect
- Secure architectures
- secure software for embedded SoCs
- hardware security assurance
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.
Assignments
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.
5-Midterm
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:
- Research paper presentation: 20%
- Class participation -- includes debates,
participation in discussions and extras (e.g.: entry survey): 15%
- In class quizzes: 5%
- Midterm: 20%
- Mini-projects and homeworks (including home quizzes): 10%
- Course project: 30%
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:
- Bringing your name tag to class.
Bringing the name tag to the first lecture earns 3 points.
Bringing the name tag to several subsequent lectures earns 1 point.
(We will stop tracking this after a few class meetings, when the
students have developed the habit of bringing and showing the name tag)
- Completing the entry survey by the second lecture day: 5 points
- Contributing to a debate when you are one of the assigned debate-speakers (but not one of the paper presenters): 10 points.
Throughout the semester, two students from the class will be chosen at random to participate to each debate, alongside the students who presented the paper. We hope to select each student at least twice during the semester.
If a student selected contributes an argument to the debate, they will receive 10 points.
- Contributing to a paper presentation with a question or comment, during the presentation or debate: 2-5 points, depending on the depth of the question/comment
- Contributing to a lecture with a question or comment, or by helping in solving a class problem: 1-3 points.
General Policies
The honor code is in force on all assignments and exams. See the Engineering Honor Council web page at
http://ossa.engin.umich.edu/honor-council/policies-and-interpretations/. 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