The first part of the course covers basic techniques of high-level and
architectural synthesis, including operation scheduling, resource allocation
and binding.
Next, the fundamentals of Boolean algebra, logic function representations,
and basic logic optimization algorithms are introduced.
We shall concentrate on those parts of the theory that allow one to
understand how logic synthesis and verification CAD tools work.
This is useful to those who want to develop such tools and to those
who simply want to use them proficiently.
There will be about 6 homework assignments, one midterm exam
(testing your knowledge of theory), presentation of research paper,
and the final exam (more project oriented)
or a project (subject to early approval by instructor).
The final grade will be determined as follows:
Additional references.
Course Information
The next part will be devoted to logic synthesis, concentrating mostly
on multi-level synthesis and technology mapping.
Application to both ASICs and FPGAs will be discussed.
The last part will cover Verification, including
simulation-based validation, functional test generation, and formal
methods (equivalence checking and model checking).
Grading
Homework assignments may include the use of synthesis tools, such as SIS,
VIS, BDS, TEDify, and commercial tools, available on CSE Unix machines.
The optimal project will involve designing and implementing an algorithm
or a simple VLSI CAD tool.
Possible projects will be discussed in class during the first few weeks of the
course. Students must choose between the final project and the final exam.
NO INCOMPLETE grades will be allowed, so please plan accordingly if you
choose to take the project option.
Textbook
In addition, students will be given a set of handouts and research papers.
Errata
Prerequisites: