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