INTRODUCTION
- Lecture 0. Jan. 18 - Snow Day #1 - way to start the semester !
- Lecture 1. Jan. 20 - Introduction, course organization.
Design process .
HIGH-LEVEL SYNTHESIS
- Lecture 2. Jan. 25 -
High Level Synthesis basics
Reading Material: DeMicheli, Chapter 3 - Hardware Modeling,
Sections 3.1-3.3.
- Lecture 3. Jan. 27 -
Scheduling Algorithms
Reading material:
DeMicheli, Chapter 4 - Architectural Synthesis (overview).
- No Lecture Feb. 01 - Snow Day #2
- Lecture 4. Feb. 03 - Scheduling algorithms:
List Scheduling
Reading Material:
DeMicheli, Chapter 5 - Scheduling Algorithms.
- Lecture 5. Feb. 08 - Analytic approach:
ILP Scheduling
Reading Material: DeMicheli, Chapter 5 - Scheduling Algorithms.
- Lecture 6. Feb. 10 -
Resource allocation
Reading Material:
DeMicheli, Chapter 6, - Resource Sharing and Binding.
LOGIC SYNTHESIS
- Lecture 7. Feb. 15 -
Introduction to Logic Synthesis
Reading Material: DeMicheli, Sections 7.1 - 7.2, Logic Optimization
Procedures.
- Lecture 8. Feb. 17 - Logic Representation,
Boolean functions
Reading Material: DeMicheli, Section 2.5, Boolean Algebra and Applications.
- Lecture 9. Feb. 24 - Exact two-level logic minimization,
Quine McCluskey procedure
Reading material: DeMicheli, Section 7.2.2, and
Hachtel/Somenzi, Logic Synthesis and Verification Algorithms,
Sections 4.4 - 4.10.
- Lecture 10. March 01 - Two-level Boolean functions:
SOP representation
Reading Material: DeMicheli, Section 7.3, The Unate Recursive Paradigm.
- Lecture 11. March 03 -
Two-level logic manipulation:
Recursive unate paradigm
Additional reading: Hachtel/Somenzi, Sections 5.2 - 5.3.
Heuristic two-level optimization:
Espresso basics , and
Espresso illustrated
Reading material: DeMicheli, Sections 7.2.3 and 7.4
and Hachtel/Somenzi, Chapter 5.
- Lecture 12. March 08 - Binary Decision Diagrams,
BDDs.
Reading material: DeMicheli, Section 2.5.2, and selected notes from
the left menu.
- Lecture 13. March 10 - Multi-level synthesis:
Factored forms.
Reading material: DeMicheli, Sections 8.1-8.2.
Spring recess (March 14-18)
- Lecture 14. March 22 - Multi-level synthesis:
Algebraic division.
Reading material: DeMicheli, Sections 8.3.
Midterm Exam : March 23, at 7:00 pm, ELAB 323.
Lecture 15. March 24 - Multi-level synthesis:
Kernel-based optimization.
Reading material: DeMicheli, Sections 8.3; Hachtel/Somenzi, Chapter 10.
Lecture 16. March 29 - Technology mapping (ASIC):
Tree-based mapping.
Reading material: DeMicheli, Section 2.3, Chapter 10;
and Hachtel/Somenzi, Chapter 13.
Lecture 17. March 31 - Technology mapping, cont'd.
STUDENT PRESENTATIONS
April 05, 07, 12, 14, 21 and 23. Consult the following
Presentation schedule
(with copies of the presentation slides).
NOTE: there is a regular class on April 19th, see below.
Lecture 21. April 19 - Sequential logic optimization:
Retiming.
Reading material: DeMicheli, 9.3
Review of Dijkstra and Bellman-Ford
Shortest Path algorithms.
VERIFICATION
Lecture 24. April 26 - Formal verification:
Verification basics;
Combinational Equivalence Checking.
Lecture 25. April 28 Formal verification:
Scalable Sequential Verification with ABC, presented by Alan Mishchenko.
Lecture 26. May 03 Formal verification, cont'd.
Sequential Equivalence Checking.
Course conclusion.
Final exam - Thursday, May 5th, at 8:00 am in Marston 211.
Come prepared!