CSEE W4861

Computer-Aided Design of Digital Systems

WEEK #1:
Introduction. Course overview, computer-aided design. Architectural Synthesis: Background. Review of sequential synthesis: counters, state machines, PLDs, controller design flow.

WEEK #2:
Architectural Synthesis: Register-Transfer Level Design. Introduction to FSMDs (FSMs with data) and ASMs (algorithmic state machine charts). Detailed case study.

WEEK #3:
Architectural Synthesis: Register-Transfer Level Design. Detailed case study (concl.) Architectural Synthesis: CAD Optimizations. Resource sharing, scheduling algorithms.

WEEK #4:
Architectural Synthesis: CAD Optimizations. Resource sharing, scheduling algorithms. Controller Synthesis. State minimization, optimal state assignment.

WEEK #5:
Exact 2-Level Logic Minimization. Boolean representations, the Quine-McCluskey method. Modern branch-and-bound techniques.

WEEK #6:
Exact 2-Level Logic Minimization. Modern branch-and-bound techniques, the `mincov'' algorithm. Heuristic 2-Level Logic Minimization. Introduction to the espresso'' algorithm. Basic Boolean representation and terminology; cofactoring.

WEEK #7:
Heuristic 2-Level Logic Minimization. The Unate Recursive Paradigm. Fast algorithms for tautology checking, complementation, prime generation.

WEEK #8:
Heuristic 2-Level Logic Minimization. Essentials. The expand step. Other steps: reduce, irredundant, last-gasp, make-sparse. Binary Decision Diagrams (BDDs). Introduction to advanced Boolean data structures.

WEEK #9:
Binary Decision Diagrams (BDDs). Algorithms and applications: circuit equivalence checking, multi-level logic synthesis.

WEEK #10:
Multi-Level Optimization: Algebraic Techniques. Overview. Factors, kernels, co-kernels. Fast extraction.

WEEK #11:
Multi-Level Optimization: Algebraic Techniques. Brayton/McMullens Fundamental Theorem. Introduction to rectangle covering algorithms. Introduction to the SIS tool.

WEEK #12:
Multi-Level Optimization: Advanced Boolean Techniques. Redundancy addition and removal algorithms (RAR). Controllability and observability dont-cares (CDCs, ODCs).

WEEK #13:
Technology Mapping. Cell libraries, covering algorithms, cost functions.

WEEK #14:
Introduction to Asynchronous Controller Synthesis. The MINIMALIST CAD tool. Critical races, hazards. Applications