EECS 527 : Layout Synthesis and Optimization

3 Credits, Winter 2002, M, W: 12:00 - 13:30
Room: 3437 EECS Bldg
Instructor: Pinaki Mazumder
University of Michigan, Ann Arbor

mazum@eecs.umich.edu


IMPORTANT ANNOUNCEMENTS (Check Regularly)

This course envisages studying algorithms and optimization techniques used in the design of high-performance IC layout tools. The course will emphasize on the following topics: Full Custom v. Semi-Custom Design, Partitioning, Floorplanning, Standard and Macro Cell Placement techniques; High-performance wire routing; Layout compaction techniques; Array layout styles: Field-programmable gate arrays (FPGA's), cell synthesis, and layout compilation techniques.

Lecture Schedule: Timetable
Prerequisite: Instructor consent
Text Materials: Selected set of papers and written handouts.
Reference Book: Physical Design of VLSI Systems: Theory and Practice, IEEE Press.

Course Outline

  • Partitioning: Partitioning using simulated annealing, ratio-cut genetic algorithm, spectral (eigenvalue based) technique, and adaptive neural networks; multiway partitioning algorithms.
  • Placement: Linear passive resistive network based placement techniques; evolution-based and distributed genetic-based placement techniques; numerical optimization based placement techniques. Algorithms for both standard-cell and macro-cell layouts will be studied.
  • Routing: Multilayer channel routing; Switch-box and Topological routing; Performance-driven routing - delay and crosstalk issues; Multilayer routing techniques for MCMs; Acceleration Techniques: hardware routing accelerators with emphasis on interactive rip-up and rerouting; coarse-grained parallel routing on message-passing parallel machines; fine-grained parallel rout- ing on content-addressable array parallel processors (CAAPP).
  • Floorplanning: Graph algorithms, min-cut based floorplanning algorithms, simulated annealing based floorplanning algorithm, analytical approach to floorplan design optimization.
  • Compaction: One-dimensional, one-and-half dimensional, two-dimensional algorithms.
  • Array Layouts: FPGA's - different architecture styles, mapping, place and route techniques; Gate matrix: representation, layout optimization techniques; Datapath, memory and other macro compilation and layout generation.
    Evaluation Criteria: Three written/programming Homeworks (30%), Three Quizzes (20%)and Final Project (50%)
    Lecture Organization: See Reading List