University of Southern California
department name USC Viterbi School of Engineering
 
Undergraduate Degree Programs
Master of Science Programs
Doctor of Philosophy Programs
Course Information
Degree Programs
Course Descriptions
Class Anouncements
D-Clearance & Registration
   

  
 EE 581  

EE 581: Mathematical Foundations for Computer Aided Design of VLSI Circuits

This is supplemental course information, designed to give you a fuller picture of the course and an expanded look at the topics covered. This is an unofficial document. The USC Course Catalog is the binding description of all university courses. Information such as books, materials covered, and the order of topics is subject to change. Please consult instructor for this semseter to get more upto date course information. 

Power Point Presentation "Why You Must Take EE-581 if You are Interested in VLSI" by Prof. Mel Breuer

Catalogue 2006-07:
Mathematical techniques employed in computer-aided-design systems, including: graph theory, algorithmic and heuristic techniques for combinatorial problems, data structures and modeling. Prerequisite: CSCI 455, EE 457, EE 477; recommended preparation: CSCI 570.
 
Textbook:
1. Online course reader consisting of published papers and other links
2. Lecture slides
 
Course monitors:
Melvin Breuer
 
Topics:
1. Overview of CAD: VLSI design flow
2. Basic math concepts: Notation, functions, relations, complexity, elementary logic
3. Theorems and Proofs: Theorems, lemmas, corollaries, various techniques
4. Combinatorics: Enumerations, permutations, combinations, generating functions, recurrence relations
5. Graph Theory: Terminology, special graphs, graph algorithms
6. Implicit Representations: Charateristic functions, BDDs
7. Computational Approaches: Greedy, dynamic programming, simulated annealing, genetic algorithms
8. Mathematical programs: Linear/integer/mixed-integer linear/special non-linear programs
9. Modeling: Boolean functions, FSMs, Petri nets, state transition diagrams
 
Course Objectives:
1. Provide mathematical foundations that are the basis of computer-aided-design techniques in academia and industry.
2. Provide experience with a powerful suite tools that solve problems within multiple computer engineering disciplines.
 
Course Outcomes:
The student will be able to
1. Write/read math precisely
2. Prove and disprove a wide range of theorems
3. Count objects from collections and enumerate possibilities thoroughly
4. Interpret and utilize a variety of graphs
5. Design effective and efficient algorithms
6. Solve difficult problems using mathematical programs
7. Model complex systems with expressive constructs

Projects:
1. Possible Lab assignments: Graphs, BDDs, Linear Programming, Simulated Annealing, Genetic Algorithm, etc.
2. Exams: Midterm, Final
 

Prepared by: Roger Su Date: September 27, 2006