EECS 478: Logic Circuit Synthesis and Optimization
Winter 2027 · University of Michigan
This page is a placeholder. The full syllabus, schedule, and project materials will be posted before the term begins. Details below may change.
About the course
How a description of hardware becomes an optimized circuit. The course covers representations of Boolean functions (BDDs, CNF, and-inverter graphs) and the engines that reason about them, especially SAT solvers; two-level and multi-level logic minimization, don't cares, technology mapping, sequential synthesis and verification, and high-level synthesis. The algorithms are studied alongside the open-source tools that implement them, such as ABC and Yosys.
Coursework includes three C++ programming projects (a BDD package, a SAT solver, and an AIG optimizer), homework, an in-class midterm, and a cumulative final exam. Students should be comfortable writing C++ at the level of EECS 281.
Logistics
| Lectures | Tuesday and Thursday, 9:00–10:20 am |
|---|---|
| Instructor | Nathaniel Bleier · nbleier@umich.edu · office hours by appointment |
| Announcements | Canvas |
Key dates
| Thu, Jan 14 | First lecture |
|---|---|
| Tue, Mar 2 | Midterm exam, in class |
| Mar 6–14 | Spring break |
| Tue, Apr 27 | Last lecture |
| Fri, Apr 30 | Final exam, 8:00–10:00 am |