sistemas digitais módulo 4 - daniel.prof.ufu.br · sistemas digitais módulo 4 Álgebra booleana e...

38
Sistemas Digitais Módulo 4 Álgebra Booleana e Circuitos Lógicos Graduação em Sistemas de Informação Prof. Dr. Daniel A. Furtado Universidade Federal de Uberlândia Faculdade de Computação

Upload: ledan

Post on 17-Dec-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Sistemas Digitais Módulo 4

Álgebra Booleana e Circuitos Lógicos

Graduação em Sistemas de Informação

Prof. Dr. Daniel A. Furtado

Universidade Federal de Uberlândia Faculdade de Computação

Conteúdo

Introdução

• Álgebra booleana

• Valor lógico e variável booleana

Operações Lógicas

• AND, OR, NOT, NAND, NOR, XOR, XNOR

• Tabela Verdade

• Diagramas de Tempo

Portas Lógicas

Expressões e circuitos lógicos

Introdução ao Logisim

Álgebra Booleana (ou Álgebra de Boole)

Sistema matemático que utiliza símbolos e operadores para representar e manipular expressões lógicas;

Introduzida em 1847 pelo matemático inglês George Boole;

Diferentemente da álgebra elementar, uma variável na álgebra booleana pode assumir um de dois possíveis valores (ou estados): • 0 - Falso

• 1 - Verdadeiro

Em geral, o valor 0 representa falso, não, desligado, ausência de tensão, etc.

Já o valor 1 representa verdadeiro, sim, ligado, presença de tensão, etc.

George Boole

Álgebra Booleana (ou Álgebra de Boole)

Em 1938, o americano Claude E. Shannon mostrou que os conceitos da Álgebra de Boole podiam ser aplicados em circuitos digitais;

Sua tese de mestrado abordando o assunto é tida como uma das mais importante do século!

C. E. Shannon

Álgebra Booleana (ou Álgebra de Boole)

Operações fundamentais da álgebra Booleana:

• AND (E)

• OR (OU)

• NOT (Não, Inversão)

Outras Operações

• NAND

• NOR

• XOR

• XNOR

Operação Lógica AND (E)

Representa o “e” lógico;

O resultado é verdadeiro (1) quando todas as entradas forem verdadeiras;

Representações mais comuns

• 𝑆 = 𝐴 ∙ 𝐵; 𝑆 = 𝐴𝐵

Outras representações • 𝑆 = 𝐴 𝐵

• 𝑆 = 𝐴 & 𝐵

• 𝑆 = 𝐴, 𝐵

Ref.: J. A. Baranauskas, USP

Operação Lógica AND (E)

Representação das situações possíveis para duas variáveis:

Ref.: J. A. Baranauskas, USP

Entradas Saída

A B S = A . B

0 0 0

0 1 0

1 0 0

1 1 1

Tabela Verdade

Operação Lógica AND (E)

Tabela verdade para três variáveis:

Entradas Saída

A B C 𝑆 = 𝐴 ∙ 𝐵 ∙ 𝐶

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

Operação Lógica OR (OU)

Representa o “ou” lógico;

O resultado é verdadeiro (1) quando pelo menos uma das entradas for verdadeira;

Representação:

• 𝑆 = 𝐴 + 𝐵

Representações Alternativas

• 𝑆 = 𝐴 𝐵

• 𝑆 = 𝐴 𝑂𝑅 𝐵

• 𝑆 = 𝐴 | 𝐵

Ref.: J. A. Baranauskas, USP

Operação Lógica OR (OU)

Representação das situações possíveis para duas variáveis:

Ref.: J. A. Baranauskas, USP

Entradas Saída

A B S = A + B

0 0 0

0 1 1

1 0 1

1 1 1

Tabela Verdade

Operação Lógica OR (OU)

Tabela verdade para três variáveis:

Entradas Saída

A B C 𝑆 = 𝐴 + 𝐵 + 𝐶

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

Operação Lógica NOT (Não/Negação/Inversão)

Pode ser aplicada a uma única variável de entrada;

Realiza a inversão do valor lógico da variável:

• Se a variável valer 0, o resultado da operação é 1;

• Se a variável valer 1, o resultado da operação é 0;

Representação:

• 𝑆 = 𝐴 (lê-se S = não A)

Tabela verdade:

Entrada Saída

A 𝑆 = 𝐴

0 1

1 0

Operação Lógica NOR (Not OR)

A operação NOR corresponde a uma operação OR seguida de uma operação NOT;

Representação mais comum: 𝐴 + 𝐵;

Tabela verdade:

Entradas OR NOR

A B 𝑨 + 𝑩 𝑨 + 𝑩

0 0 0 1

0 1 1 0

1 0 1 0

1 1 1 0

Operação Lógica NAND (Not AND)

A operação NAND corresponde a uma operação AND seguida de uma operação NOT;

Representação mais comum: 𝐴 ∙ 𝐵;

Tabela verdade:

Entradas AND NAND

A B 𝐴 ∙ 𝐵 𝐴 ∙ 𝐵

0 0 0 1

0 1 0 1

1 0 0 1

1 1 1 0

Operações Lógicas XOR e XNOR

XOR – Exclusive-OR

• O resultado é verdadeiro sempre que as duas entradas forem opostas;

• Representação: ⊕

• Equivalência: 𝐀⊕𝐁 = 𝐀 𝐁 + 𝐀𝐁

XNOR – Not XOR

• Negação do XOR

• O resultado é verdadeiro sempre que as duas entradas forem iguais;

• Representações: 𝐀⨁𝐁, 𝐀⨀𝐁

• Equivalência: 𝐀⨁𝐁 = 𝐀𝐁 + 𝐀 𝐁

Prof. Daniel A. Furtado

A B 𝐀 ⊕ 𝐁

0 0 0

0 1 1

1 0 1

1 1 0

A B 𝐀 ⊕ 𝐁

0 0 1

0 1 0

1 0 0

1 1 1

Portas Lógicas

Uma porta lógica é um dispositivo capaz de executar uma

operação lógica básica da álgebra Booleana. Cada porta lógica

é representada graficamente por um símbolo próprio;

Possui uma ou mais entradas e produz uma única saída;

As portas lógicas podem ser implementadas fisicamente de

diversas formas. São comumente implementadas em circuitos

integrados, por meio de transistores;

Em circuitos digitais, as entradas das portas são níveis lógicos

de tensão (por ex. 0v ou 5v) representando os valores 0 e 1;

São os blocos fundamentais dos circuitos digitais.

Portas Lógicas Básicas - Representação

Representações gráficas das portas lógicas

Entrada A

Entrada B Saída S

Entrada A

Entrada B Saída S

Saída S Entrada A

Porta AND

Porta OR

Porta NOT

Portas Lógicas - Representação

Porta NAND

Porta NOR

Porta XOR

Porta XNOR

𝐴 + 𝐵

Denota inversão

Denota inversão

A

B

A

B

A⊕ B

A⊕ B

Portas Lógicas - Representação

Portas com mais de duas entradas também são comuns:

Um exemplo de dispositivo físico que implementa a porta

lógica AND é o circuito integrado (CI) 7408:

A B C

𝑆 = 𝐴𝐵𝐶

Diagrama do CI 7408

Porta Lógica AND – Diagrama de Tempo

t

v

t

v

t

v

Entrada A

Entrada B

Saída S

Entrada A

Entrada B Saída S

Porta Lógica OR – Diagrama de Tempo

t

v

t

v

t

v

Entrada A

Entrada B

Saída S

Entrada A

Entrada B Saída S

Porta Lógica NOT – Diagrama de Tempo

t

v

t

v

Entrada

Saída

Saída Entrada

Circuitos Lógicos

Um circuito lógico é uma combinação de portas lógicas com as respectivas conexões;

Exemplos:

Descrevendo Circuitos Lógicos Algebricamente

Circuitos lógicos podem ser descritos algebricamente por equações booleanas (e vice-versa)

Precedência dos Operadores

Considere a expressão:

• 𝐴 ∙ 𝐵 + 𝐶

Qual operação é realizada primeiro?

• 1º AND (maior precedência, como na álgebra convencional)

• 2º OR

Uso de parênteses: 𝐴 ∙ (𝐵 + 𝐶)

• 1º OR

• 2º AND

Descrevendo Circuitos Lógicos Algebricamente

Descrevendo Circuitos Lógicos Algebricamente

Encontre as expressões lógicas nos nós intermediários do circuito a seguir:

Descrevendo Circuitos Lógicos Algebricamente

Solução:

A saída é: 𝑥 = 𝐴 𝐵𝐶 ∙ (𝐴 + 𝐷)

Descrevendo Circuitos Lógicos Algebricamente

Encontre as expressões lógicas nos nós intermediários do circuito a seguir:

Descrevendo Circuitos Lógicos Algebricamente

Solução:

Utilizando o Logisim para Projetar Circuitos Lógicos

Download: http://sourceforge.net/projects/circuit/

Utilizando o Logisim para Projetar Circuitos Lógicos

Utilizando o Logisim para Projetar Circuitos Lógicos

Implementar e testar o circuito lógico a seguir utilizando o Logisim

Qual operação lógica é equivalente ao circuito?

Circuitos a Partir de Expressões Booleanas

Elabore um circuito equivalente a: 𝑦 = 𝐴𝐶 + 𝐵𝐶 + 𝐴 𝐵𝐶

Circuitos a Partir de Expressões Booleanas

Elabore um circuito equivalente a: 𝑦 = 𝐴𝐶 + 𝐵𝐶 + 𝐴 𝐵𝐶

Circuitos a Partir de Expressões Booleanas

Circuito lógico feito no Logisim correspondente à expressão: z = AC + AB + ABC

z

Circuitos a Partir de Expressões Booleanas

Exercício. Crie circuitos lógicos no Logisim correspondentes às expressões booleanas a seguir. Utilize apenas portas lógicas básicas (OR, AND, NOT):

a. ABC + B + D A

b. A + B A + D + CB

c. A + B + C A + CD + ABC + AB

Referências

TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas Digitais: princípios e aplicações. 11.ed. São Paulo: Pearson Prentice Hall, 2011.

• Leitura recomendada: Cap. 3: págs 49-66

http://dcm.ffclrp.usp.br/~augusto/teaching

Prof. Daniel A. Furtado