ECE274A

Digital Logic
Fall 2012, Spring 2013
Designation: 
Required for ECE
Catalog Data: 

Number systems and coding, logic design, sequential systems, register transfer language.

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

Special exam:  course may be taken by special exam for credit (not for grade).

Usually offered:  Fall, Spring.

Prerequisite(s): 
PHYS 241, MATH 129
Textbook(s): 

Digital Design, by Frank Vahid, John Wiley and Sons, 2007.

Verilog for Digital Design, by Frank Vahid and Roman Lysecky, John Wiley and Sons, 2007.

Course Learning Outcomes: 
  1. Give precise definitions of a Boolean algebra, Boolean functions, implicants and prime implicants, and the SOP and POS canonical forms of representation.
  2. Know how to construct basic gates (inverter, AND, OR) using NMOS and PMOS switches.
  3. Know the cause of delays associated with logic gates.
  4. Know number representations in different bases, and methods for converting from one base to another.
  5. Know the different binary representations of signed integers (2s complement, 1s complement, sign magnitude), methods of conversion, and basic arithmetic operations (addition, subtraction, multiplication, division).
  6. Use Karnaugh maps and Quine-McCluskey tabular minimization technique for identifying all the prime implicants, and solve the covering problem to find a minimal gate, two-level implementation, for both completely specified and incompletely specified logic functions.
  7. Understand the principles behind the heuristic methods for two level logic minimization.
  8. Construct logic circuits of basic components such as adders, multipliers, decoders, multiplexors, etc.
  9. Have an understanding of programmable devices such as FPGAs, and know how to use them to implement digital circuits.
  10. Have an understanding of the concept of state in functions that have history dependence.
  11. Understand the structure and operation of basic flip flops and latches.
  12. Know the structure and operation of ROMs and RAMs.
  13. Define a finite state machine and know what functions can and cannot be described as finite state machines.
  14. Be able to precisely define a Mealy and a Moore machine, and transform one to the other.
  15. Know how to construct tabular and graph representations of finite state machines for an informal description, including state diagrams and state machine charts.
  16. Have an understanding of the concept of machine equivalence, and be able to minimize a fully specified state table.
  17. Be able to take an informal word description of a sequential process and synthesize a state machine that performs the function.
  18. Know how to determine the clock period of a state machine.
  19. Understand the principles of register-transfer level (RTL) design and high-level state machines.
  20. Be able to take an informal word description of a digital circuit, design a high-level state machine for that circuit, and synthesize the high-level state machine to a final circuit implementation.
  21. Be able to design circuits using Verilog.
Course Topics: 
  • Basic principles of digital logic.
  • Design, implementation, and optimization of combinational circuits.
  • Classical, exact, and heuristic optimization.
  • Design and implementation of sequential circuits.
  • Design of the basic subsystems of a microprocessor, e.g., registers, counters, memories, adders, multipliers, ALUs, etc.
  • Register-transfer level (RTL) design of digital circuits.
  • Problem solving and design methodologies, including use of specific computer tools and simulations.
  • HDL programming using the Verilog language.

 

Class/Laboratory Schedule: 

Three 50-minute lecture sessions per week and one 170-minute lab session per week.

Ten homework problem sets and ten design challenges during semester.

Five laboratory assignments.


Five in-class examinations plus a final examination.

Computer Usage: Xilinx ISE

Relationship to Student Outcomes: 

(a) an ability to apply knowledge of mathematics, science, and engineering (HIGH)

(c) 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)

(e) an ability to identify, formulate, and solve engineering problems (MEDIUM)

(g) an ability to communicate effectively (LOW)

(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice. (HIGHtemp)

Prepared by: 
Dr. Susan Lysecky
Prepared Date: 
1/10/13

University of Arizona College of Engineering