CS 8770 - Computer-Aided Design
Instructor: Jeffrey W. Smith
Fall 2003

Prerequisite: CS8750 VLSI System Design

----> NOTE: YOU MUST HAVE CS8750 TO TAKE CS8770 <----

Text(recommended):

Ullman, COMPUTATIONAL ASPECTS OF VLSI, Computer Science Press, 1986.
Sait, VLSI Physical Design Automation, World Scientific, 1999.

Computer-Aided Design (CAD) investigates ways in which the computer can and does assist the design process. In this course, we will use integrated circuits (chips) as the example system to design; this is Electronic CAD (ECAD).

The design process can be (somewhat arbitrarily) divided into these phases:

  1. SPECIFICATION: formal description of what to design.
  2. SYNTHESIS: complete or partial design by computer.
  3. LAYOUT: physical design, further divided into
  4. PLACEMENT: where to put subsystems (e.g., floor planning)
  5. ROUTING: how to interconnect subsystems
  6. VERIFICATION: making sure the design meets the specification, further divided
  7. SIMULATION: make sure the design is correct
  8. TESTING: make sure the system has been fabricated properly
  9. DESIGN MANAGEMENT: database, release control, etc.
  10. MAN/MACHINE INTERFACE: ease the flow of information to/from the designer

This course will survey and discuss the issues of computer-aided design. The text will be supplemented with articles and papers from the literature. A (small) programming project may be included if it appears appropriate, but this will _not_ be the centerpiece of the course.

We possess many cad systems we can use and experiment upon:

Emphasis would likely be on the second system, Magic,since it is very well documented, and the last system, Alliance, since it is the latest thing.

A primary objective in this course is to understand the use of CAD systems; and how they can be better designed to be more useful. CAD systems encounter very hard problems (NP-hard) and must produce a solution. There are many aspects of algorithms, software engineering, and even theory included in an examination of CAD systems.