Computer-Aided Logic Design
Fall 2015
Catalog Data: 

ECE 474A -- Computer-Aided Logic Design (3 units)

Description: Tabular minimization of single and multiple output Boolean functions, NMOS and CMOS realizations, synthesis of sequential circuits, RTL description, laboratory exercises

Grading:  Regular grades are awarded for this course: A B C D E

Identical to CSC 474A

May be convened with ECE 574A

ECE 274A and ECE 275

No required textbook. The instructor provides class notes and slides sourced from a variety of books.

Course Learning Outcomes: 

By the end of this course, the student will be able to:

  1. Understand the difference between heuristic and exact optimization methods, and be able to classify a variety of algorithms into these categories.
  2. Use the Quine-McCluskey tabular minimization technique for identifying all the prime implicants, and solve the covering problem using Petrick's method to find an optimal two-level implementation for both completely specified and incompletely specified logic functions.
  3. Use Quine-McCluskey with iterative and recursive consensus methods for identifying all the prime implicants (complete sum) and solve the covering problem using row/column dominance to find a minimal gate, two-level implementationfor both completely specified and incompletely specified logic functions.
  4. Understand how generalized optimization algorithms can be adapted to the logic minimization problem.
  5. Use Branch-and-Bound along with MIS to solve the covering problem.
  6. Understand Espresso's representation of Boolean functions and basic operations on compact cubical format.
  7. Use Espresso's Unate Complement, Complement, and Expand subprocedures.
  8. Understand a variety of scheduling algorithms, including ASAP, ALAP, Hu, LIST_L, LIST_R, and Force Directed.
  9. Understand a variety of methods used for resource sharing and binding.
  10. Understand the role of verification in CAD along with the different testing methods.
  11. Design logic minimization tools in C/C++ and output the resulting circuit implementation in Verilog or equivalent textual representation.
Course Topics: 
  • Design and implementation of sequential circuits
  • Register-Transfer Level (RTL) design
  • Optimization and tradeoffs of combinational and sequential circuits
  • Exact and Heuristic minimization of two-level circuits
Class/Laboratory Schedule: 

Three, 50-minute lectures per week

Relationship to Student Outcomes: 

ECE 474A contributes directly to the following specific Electrical and Computer Engineering Student Outcomes of the ECE department:

  • an ability to apply knowledge of mathematics, science and engineering (High)
  • an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability and sustainability (Medium)
  • an ability to identify, formulate and solve engineering problems (Low)
  • an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice (High)
Prepared by: 
Dr. Roman Lysecky
Prepared Date: 

University of Arizona College of Engineering