Syllabus

Course Objective

Physical design of VLSI systems is the process of transforming the given structural representation of a VLSI system into layout representation. The objective of physical design automation is to carry out such transformation efficiently using computers so that the resulting layout satisfies topological, geometric, timing and power-consumption constraints of the design. This course focuses on various design automation problems in the physical design process of VLSI circuits, including: logic partitioning, floorplanning, global routing, detailed routing, compaction, and performance-driven layout. We shall also discuss the applications of a number of important optimization techniques, such as network flow, Steiner tree, scheduling, simulated annealing, generic algorithm, and linear/convex programming.

Prerequisites

No official prerequisites, but some experience in VLSI design, algorithm analysis, C++ programming, and/or data structure design would be helpful.

Textbook

Sung Kyu Lim, "Practical Problems in VLSI Physical Design Automation," Springer, July 2008 (ISBN: 978-1-4020-6626-9).

Grading

Homework (40%), 1 take-home midterm (30%), and 1 take-home final (30%). Optional projects (mostly C/C++ programming) are available, and they will replace the final exam.

Topics