ECE 474A

Computer-Aided Logic Design
Fall
Designation: 
Elective
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

Prerequisite(s): 
ECE 274A and ECE 275
Textbook(s): 

No required textbook: instructor provides class notes and slides sourced from various 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 implementation for 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:

  • Ability to apply knowledge of mathematics, science and engineering (high)
  • 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)
  • Ability to identify, formulate and solve engineering problems (low)
  • Ability to use the techniques, skills and modern engineering tools necessary for engineering practice (high)
Prepared by: 
Roman Lysecky
Prepared Date: 
3/16/16

University of Arizona College of Engineering