# ECE274A

Digital Logic
Fall 2015 and Spring 2016
Designation:
Required
Catalog Data:

ECE 274A -- Digital Logic (4 units)

Description: Number systems and coding, logic design, sequential systems, register transfer language

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

Course Fee: \$34

Prerequisite(s):
ECE 175. Prerequisite or concurrent enrollment in MATH 129.
Textbook(s):

Vahid, Frank. Digital Design. ZyBooks. Online.
Supplemental materials: Lysecky, Roman and Frank Vahid. Verilog for Digital Design. ZyBooks. Online.

Course Learning Outcomes:

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

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
One, 170-minute lab session per week

Relationship to Student Outcomes:

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

• 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 understanding of professional and ethical responsibility (Low)
• an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice (High)
Prepared by:
Dr. Ratchaneekorn Thamvichai
Prepared Date:
3/9/16

University of Arizona College of Engineering