Digital Systems

Computer Engineering
6 ECTS; 1º Ano, 1º Semestre, 28,0 T + 42,0 TP + 5,0 OT

Lecturer
- Raul Manuel Domingos Monteiro
- Francisco José Alexandre Nunes
- Ana Carla Vicente Vieira
- Manuel Fernando Martins de Barros

Prerequisites
Not applicable.

Objectives
This course provides an introduction to logic design and the basic building blocks used in digital systems, in particular digital computers. It starts with a discussion of combinational logic: logic gates, minimization techniques, digital integrated circuits, arithmetic circuits, and modern logic devices such as field programmable logic gates. The second part of the course deals with sequential circuits: flip-flops, synthesis of sequential circuits, and case studies, including counters, registers, and random access memories. State machines will then be discussed and illustrated through case studies of more complex systems using logic devices. Different representations including truth table, logic gate, timing diagram, switch representation, and state diagram will be also discussed. The course is supported by a digital logic design laboratory that uses the KL-300 Digital Lab. kit.

Program
1. Introduction.
- Organization of the discipline;
- introductory concepts;
- Digital and analog quantities: bits, logic levels and digital signals;
- Operations and basic logic functions;
- Integrated digital circuits.

2) Logic Functions
- Boolean algebraic functions and expressions;
- Laws, theorems and postulates of Boolean Algebra;
- Normalized forms of boolean expressions and truth tables;
- Representation and minimization of boolean functions;
- Karnaugh maps, logical adjacency and groupings.

3) Simplifications of logical expressions
- Simplification of logical expressions using the Boolean Algebra Postulates;
- Simplification of logical expressions using Karnaugh Maps.

4) Digital representation of information
- Numbering bases and conversion between bases;
- Numbering systems;
- Arithmetic operations in the different bases;
- Codes for the representation of signed numbers (complement to 1 and 2);
- Binary codes to represent decimal numbers;
- BCD, Excess-3, Gray Code and ASCII Code.

5) Digital circuits and logic families
- TTL logical families; CMOS Family;
- Delay of propagation of logic gates and merit factor;
- Fault detection in digital circuit making
- Totem-Pole outputs and three states outputs.

6) Combinatorial circuits of medium Complexity
- Realization of combinatorial logic with logic circuits;
- Multiplexers and demultiplexers;
- logical comparators;
- Arithmetic circuits (adders, subtractors and multipliers);
- encoders and decoders;

7) Basic sequential circuits
- Sequential behavior of circuits;
- Synchronous and Asynchronous Sequential Circuits;
- Basic elements: Latch NOR, NAND and D;
- Flip-flops: JK, D and T;
- Moore and Mealey State machines;
- clock signal

8) Analysis and design of sequential circuits
- Analysis and synthesis of sequential circuits;
- Self correcting circuits;
- Design of low complexity sequential circuits;
- Realization of sequential circuits;

9) Counters, Registers and Memories
- Use of shift records;
- Synchronous / asynchronous counters Increment and Decrement;
- Ripple Counters;
- Counters ICs;
- Structure of semiconductor memories;
- Read only memories, ROMs; Random Access Memories RAMs;
- Implementation with ROMs.

10) Programmable Logic Devices
- Introduction to the study of programmable logic;
- EPROM programmable devices, FPLAs, PLAs, PALs;
- Implementation of programmable combinatorial / sequential circuits;
- PAL Programming. Application examples;

11) Introduction to microcontrollers

LABORATORY PRACTICE:
It is intended that students apply the knowledge acquired in lectures in the following laboratory work:

Q1) Implementation of a logical function in the lab.
P2) Circuit implementation with a seven segment BCD converter and a 4-bit counter.
P3) Implementation of a seven segment BCD converter with multiplexers.
P4) Implementation of a digital analog converter (ADC).
P5) Implementation of a J-K and type D flip-flop counter;
P6) Implementation of a logic controller for a stepper motor using flip-flops JK.
P7) Programming of logic-programmable devices.

Evaluation Methodology
Written exam (50%)
Homeworks and Labs (40%)
Final project (10%).

Bibliography
- Arroz, G. e Monteiro, J. e Oliveira, A. (2009). Arquitectura de Computadores: dos Sistemas Digitais aos Microprocessadores. (Vol. 1). http://www.wook.pt/ficha/arquitectura-de-computadores/a/id/190902: IST - Instituto Superior Técnico
- Tocci, R. e Moss, G. (2009). Digital Systems - Priciples and Applications. (Vol. 1). (pp. 992). http://www.pearsonhighered.com/educator/product/Digital-Systems-Principles-and-Applications-11E/9780135103821.page: Perason - Prentice Hall
- Dias, M. (2013). Sistemas Digitais - Princípio e prática. (Vol. 1). https://www.fca.pt/cgi-bin/fca_main.cgi/?op=2&isbn=978-972-722-700-6: FCA
- Barros, M. (0). Sebenta e Slides de Sistemas Digitais (PT). Acedido em 24 de setembro de 2015 em http://www.e-learning.ipt.pt/course/view.php?id=310

Method of interaction
Lectures, Problem solving classes and Laboratory classes;

Software used in class
Free Tools:
Logisim (http://www.cburch.com/logisim)
Eagle (http://www.cadsoftusa.com)
LTSpice (http://www.linear.com/designtools/software/)

Comerciais:
MultiSim (http://www.ni.com/multisim/pt/)
Proteus (http://www.labcenter.com/)