105
José Augusto Baranauskas Departamento de Computação e Matemática – FFCLRP-USP [email protected] http://dcm.fmrp.usp.br/~augusto Funções Lógicas e Portas Lógicas Nesta apresentação será fornecida uma introdução ao sistema matemático de análise de circuitos lógicos, conhecido como Álgebra de Boole Serão vistos os blocos básicos e suas equivalências

Ab funcoes-logicas-portas-logicas

Embed Size (px)

Citation preview

Page 1: Ab funcoes-logicas-portas-logicas

José Augusto BaranauskasDepartamento de Computação e Matemática – FFCLRP-USP

[email protected]

http://dcm.fmrp.usp.br/~augusto

Funções Lógicas e Portas Lógicas

� Nesta apresentação será fornecida uma introdução ao sistema matemático de análise de circuitos lógicos, conhecido como Álgebra de Boole

� Serão vistos os blocos básicos e suas equivalências

Page 2: Ab funcoes-logicas-portas-logicas

2

Histórico

� Em meados do século XIX o matemático inglês George Booledesenvolveu um sistema matemático de análise lógica

� Em meados do século XX, o americano Claude Elwood Shannon sugeriu que a Álgebra Booleana poderia ser usada para análise e projeto de circuitos de comutação

George Boole (1815-1864)

Claude Elwood Shannon (1916-2001)

Page 3: Ab funcoes-logicas-portas-logicas

3

Histórico

� Nos primórdios da eletrônica, todos os problemas eram solucionados por meio de sistemas analógicos

� Com o avanço da tecnologia, os problemas passaram a ser solucionados pela eletrônica digital

� Na eletrônica digital, os sistemas (computadores, processadores de dados, sistemas de controle, codificadores, decodificadores, etc) empregam um pequeno grupo de circuitos lógicos básicos, que são conhecidos como portas e, ou, não e flip-flop

� Com a utilização adequadas dessas portas é possível implementar todas as expressões geradas pela álgebra de Boole

Page 4: Ab funcoes-logicas-portas-logicas

4

Álgebra Booleana

� Na álgebra de Boole, há somente dois estados(valores ou símbolos) permitidos� Estado 0 (zero)

� Estado 1 (um)

� Em geral� O estado zero representa não, falso, aparelho desligado, ausência de tensão, chave elétrica desligada, etc

� O estado um representa sim, verdadeiro, aparelho ligado, presença de tensão, chave ligada, etc

Page 5: Ab funcoes-logicas-portas-logicas

5

Álgebra Booleana

� Assim, na álgebra booleana, se

representarmos por 0 uma situação, a

situação contrária é representada por 1

� Portanto, em qualquer bloco (porta ou

função) lógico somente esses dois estados

(0 ou 1) são permitidos em suas entradas e

saídas

� Uma variável booleana também só assume

um dos dois estados permitidos (0 ou 1)

Page 6: Ab funcoes-logicas-portas-logicas

6

Álgebra Booleana

� Nesta apresentação trataremos dos seguintes blocos lógicos� E (AND)

� OU (OR)

� NÃO (NOT)

� NÃO E (NAND)

� NÃO OU (NOR)

� OU EXCLUSIVO (XOR)

� Após, veremos a correspondência entre expressões, circuitos e tabelas verdade

� Por último, veremos a equivalência entre blocos lógicos

Page 7: Ab funcoes-logicas-portas-logicas

7

Função E (AND)

� Executa a multiplicação (conjunção) booleana de duas ou mais variáveis binárias

� Por exemplo, assuma a convenção no circuito� Chave aberta = 0; Chave fechada = 1

� Lâmpada apagada = 0; Lâmpada acesa = 1

A B

Page 8: Ab funcoes-logicas-portas-logicas

8

Função E (AND)

� Situações possíveis:

A=0 B=0 S=0 A=1 B=0 S=0

A=0 B=1 S=0 A=1 B=1 S=1

Page 9: Ab funcoes-logicas-portas-logicas

9

Função E (AND)

� Se a chave A está aberta (A=0) e a chave B aberta (B=0), não haverá circulação de energia no circuito, logo a lâmpada fica apagada (S=0)

� Se a chave A está fechada (A=1) e a chave B aberta (B=0), não haverá circulação de energia no circuito, logo a lâmpada fica apagada (S=0)

� Se a chave A está aberta (A=0) e a chave B fechada (B=1), não haverá circulação de energia no circuito, logo a lâmpada fica apagada (S=0)

� Se a chave A está fechada (A=1) e a chave B fechada (B=1), haverá circulação de energia no circuito e a lâmpada fica acesa (S=1)

� Observando todas as quatro situações possíveis (interpretações), é possível concluir que a lâmpada fica acesa somente quando as chaves A e B estiverem simultaneamente fechadas (A=1 e B=1)

Page 10: Ab funcoes-logicas-portas-logicas

10

Função E (AND)

� Para representar a expressão

� S = A e B

� Adotaremos a representação

� S = A.B, onde se lê S = A e B

� Porém, existem notações alternativas

� S = A & B

� S = A, B

� S = A ∧ B

Page 11: Ab funcoes-logicas-portas-logicas

11

Tabela Verdade

� A tabela verdade é um mapa onde são

colocadas todas as possíveis

interpretações (situações), com seus

respectivos resultados para uma expressão

booleana qualquer

� Como visto no exemplo anterior, para 2

variáveis booleanas (A e B), há 4

interpretações possíveis

� Em geral, para N variáveis booleanas de

entrada, há 2N interpretações possíveis

Page 12: Ab funcoes-logicas-portas-logicas

12

Tabela Verdade da Função E (AND)

A B A.B

0 0 0

0 1 0

1 0 0

1 1 1

Page 13: Ab funcoes-logicas-portas-logicas

13

Porta Lógica E (AND)

� A porta E é um circuito que executa a função E

� A porta E executa a tabela verdade da função E� Portanto, a saída será 1 somente se ambas as entradas forem iguais a 1; nos demais casos, a saída será 0

� Representação

Entrada ASaída S

Entrada B

Porta E(AND)

Page 14: Ab funcoes-logicas-portas-logicas

14

Porta Lógica E (AND)A

BS=A.B

A B S=A.B

0 0 0

0 1 0

1 0 0

1 1 1

0

00

A B S=A.B

0 0 0

0 1 0

1 0 0

1 1 1

0

10

A B S=A.B

0 0 0

0 1 0

1 0 0

1 1 1

1

00

A B S=A.B

0 0 0

0 1 0

1 0 0

1 1 1

1

11

Page 15: Ab funcoes-logicas-portas-logicas

15

Porta Lógica E (AND)

� É possível estender o conceito de uma porta Epara um número qualquer de variáveis de entrada

� Nesse caso, temos uma porta E com N entradas e somente uma saída

� A saída será 1 se e somente se as N entradas forem iguais a 1; nos demais casos, a saída será 0

A

B

S=A.B.C…NC

N

Page 16: Ab funcoes-logicas-portas-logicas

16

Porta Lógica E (AND)

� Por exemplo, S=A.B.C.D

A

B

S=A.B.C.DC

D

A B C D S

0 0 0 0 0

0 0 0 1 0

0 0 1 0 0

0 0 1 1 0

0 1 0 0 0

0 1 0 1 0

0 1 1 0 0

0 1 1 1 0

1 0 0 0 0

1 0 0 1 0

1 0 1 0 0

1 0 1 1 0

1 1 0 0 0

1 1 0 1 0

1 1 1 0 0

1 1 1 1 1

Page 17: Ab funcoes-logicas-portas-logicas

17

Função OU (OR)

� Executa a soma (disjunção) booleana de duas ou mais variáveis binárias

� Por exemplo, assuma a convenção no circuito� Chave aberta = 0; Chave fechada = 1

� Lâmpada apagada = 0; Lâmpada acesa = 1

B

A

Page 18: Ab funcoes-logicas-portas-logicas

18

Função OU (OR)

S=0

B=0

A=0

S=1

B=1

A=1

S=1

B=0

A=1

S=1

B=1

A=0

Page 19: Ab funcoes-logicas-portas-logicas

19

Função OU (OR)

� Se a chave A está aberta (A=0) e a chave B aberta (B=0), não haverá circulação de energia no circuito, logo a lâmpada fica apagada (S=0)

� Se a chave A está fechada (A=1) e a chave B aberta (B=0), haverá circulação de energia no circuito e a lâmpada fica acesa (S=1)

� Se a chave A está aberta (A=0) e a chave B fechada (B=1), haverá circulação de energia no circuito e a lâmpada fica acesa (S=1)

� Se a chave A está fechada (A=1) e a chave B fechada (B=1), haverá circulação de energia no circuito e a lâmpada fica acesa (S=1)

� Observando todas as quatro situações possíveis, é possível concluir que a lâmpada fica acesa somente quando a chave A ou a chave B ou ambas estiverem fechadas

Page 20: Ab funcoes-logicas-portas-logicas

20

Função OU (OR)

� Para representar a expressão

� S = A ou B

� Adotaremos a representação

� S = A+B, onde se lê S = A ou B

� Porém, existem notações alternativas

� S = A | B

� S = A; B

� S = A ∨ B

Page 21: Ab funcoes-logicas-portas-logicas

21

Tabela Verdade da Função OU

(OR)

� Observe que, no sistema de numeração binário, a soma 1+1=10

� Na álgebra booleana, 1+1=1, já que somente dois valores são permitidos (0 e 1)

A B A+B

0 0 0

0 1 1

1 0 1

1 1 1

Page 22: Ab funcoes-logicas-portas-logicas

22

Porta Lógica OU (OR)

� A porta OU é um circuito que executa a função OU

� A porta OU executa a tabela verdade da função OU

� Portanto, a saída será 0 somente se ambas as entradas forem iguais a 0; nos demais casos, a saída será 1

� Representação

Entrada A

Saída SEntrada B

Porta OU(OR)

Entrada ASaída S

Entrada B

Page 23: Ab funcoes-logicas-portas-logicas

23

Porta Lógica OU (OR)

A B S=A+B

0 0 0

0 1 1

1 0 1

1 1 1

A B S=A+B

0 0 0

0 1 1

1 0 1

1 1 1

A B S=A+B

0 0 0

0 1 1

1 0 1

1 1 1

A B S=A+B

0 0 0

0 1 1

1 0 1

1 1 1

0

00

0

11

1

01

1

11

A

BS=A+B

Page 24: Ab funcoes-logicas-portas-logicas

24

Porta Lógica OU (OR)

� É possível estender o conceito de uma porta OU

para um número qualquer de variáveis de entrada

� Nesse caso, temos uma porta OU com N entradas e somente uma saída

� A saída será 0 se e somente se as N entradas forem iguais a 0; nos demais casos, a saída será 1

A

B

S=A+B+C+…+NC

N

Page 25: Ab funcoes-logicas-portas-logicas

25

Porta Lógica OU (OR)

� Por exemplo, S=A+B+C+D

A B C D S

0 0 0 0 0

0 0 0 1 1

0 0 1 0 1

0 0 1 1 1

0 1 0 0 1

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

1 0 1 0 1

1 0 1 1 1

1 1 0 0 1

1 1 0 1 1

1 1 1 0 1

1 1 1 1 1

A

BS=A+B+C+D

C

D

Page 26: Ab funcoes-logicas-portas-logicas

26

Função NÃO (NOT)

� Executa o complemento (negação) de

uma variável binária

� Se a variável estiver em 0, o resultado da função é 1

� Se a variável estiver em 1, o resultado da função é 0

� Essa função também é chamada de

inversora

Page 27: Ab funcoes-logicas-portas-logicas

27

Função NÃO (NOT)

� Usando as mesmas convenções dos circuitos anteriores, tem-se que:� Quando a chave A está aberta (A=0), passará corrente pela lâmpada e ela acenderá (S=1)

� Quando a chave A está fechada (A=1), a lâmpada estará em curto-circuito e não passará corrente por ela, ficando apagada (S=0)

S=1

A=0

S=0

A=1

Page 28: Ab funcoes-logicas-portas-logicas

28

Função NÃO (NOT)

� Para representar a expressão� S = não A

� Adotaremos a representação� S = Ā, onde se lê S = não A

� Notações alternativas� S = A’

� S = ¬ A

� S = Ã

� Tabela verdade da função NÃO (NOT)

A Ā

0 1

1 0

Page 29: Ab funcoes-logicas-portas-logicas

29

Porta Lógica NÃO (NOT)

� A porta lógica NÃO, ou inversor, é o circuito que executa a função NÃO

� O inversor executa a tabela verdade da função NÃO

� Se a entrada for 0, a saída será 1; se a entrada for 1, a saída será 0

� Representação

Entrada A Saída S

PortaNÃO

(NOT)

Após um

bloco lógico

Antes de um

bloco lógico

Alternativamente,

Page 30: Ab funcoes-logicas-portas-logicas

30

Porta Lógica NÃO (NOT)

0 1

A S=Ā

A S=Ā

0 1

1 0

1 0

A S=Ā

0 1

1 0

Page 31: Ab funcoes-logicas-portas-logicas

31

Função NÃO E (NAND)

� Composição da função E com a função NÃO, ou seja, a saída da função E é invertida

� S = (A.B) = A.B= (A.B)’= ¬(A.B)

� Tabela verdade

A B S=A.B

0 0 1

0 1 1

1 0 1

1 1 0

Page 32: Ab funcoes-logicas-portas-logicas

32

Porta NÃO E (NAND)

� A porta NÃO E (NE) é o bloco lógico que executa a função NÃO E, ou seja, sua tabela verdade

� Representação

A

BS=A.B

A

BS=A.B

Page 33: Ab funcoes-logicas-portas-logicas

33

Porta NÃO E (NAND)

� Como a porta E, a porta NÃO E pode ter duas ou mais entradas

� Nesse caso, temos uma porta NÃO E com N entradas e somente uma saída

� A saída será 0 se e somente se as N entradas forem iguais a 1; nos demais casos, a saída será 1

A

B

S=A.B.C…NC

N

Page 34: Ab funcoes-logicas-portas-logicas

34

Função NÃO OU (NOR)

� Composição da função OU com a função NÃO, ou seja, a saída da função OUé invertida

� S = (A+B) = A+B= (A+B)’= ¬(A+B)

� Tabela verdade

A B S=A+B

0 0 1

0 1 0

1 0 0

1 1 0

Page 35: Ab funcoes-logicas-portas-logicas

35

Porta NÃO OU (NOR)

� A porta NÃO OU (NOU) é o bloco lógico que executa a função NÃO OU, ou seja, sua tabela verdade

� Representação

A

BS=A+B S=A+B

A

B

Page 36: Ab funcoes-logicas-portas-logicas

36

Porta NÃO OU (NOR)

� Como a porta OU, a porta NÃO OU pode ter duas ou mais entradas

� Nesse caso, temos uma porta NÃO OU com N entradas e somente uma saída

� A saída será 1 se e somente se as N entradas forem iguais a 0; nos demais casos, a saída será 0

A

B

S=A+B+C+…+NC

N

Page 37: Ab funcoes-logicas-portas-logicas

37

Função OU Exclusivo (XOR)

� A função OU Exclusivo fornece� 1 na saída quando as entradas forem diferentes entre si e

� 0 caso contrário

� S = A ⊕ B= Ā.B + A.�

� Tabela verdade

A B S=A⊕B

0 0 0

0 1 1

1 0 1

1 1 0

Page 38: Ab funcoes-logicas-portas-logicas

38

Porta OU Exclusivo (XOR) como Bloco Básico

A

BS=A⊕B⊕

A

BS=A⊕B|

Simbologia adotada

Outros símbolos utilizados

A

BS=A⊕B

Page 39: Ab funcoes-logicas-portas-logicas

39

Porta OU Exclusivo (XOR) como Circuito Combinacional

A

B

S=A⊕B

Page 40: Ab funcoes-logicas-portas-logicas

41

Resumo dos Blocos Lógicos Básicos

Nome Símbolo Gráfico Função Algébrica Tabela Verdade

E (AND)S=A.B

S=AB

OU (OR) S=A+B

NÃO (NOT)Inversor

S=Ā

S=A’

S= ¬ A

NE (NAND)S=A.B

S=(A.B)’

S= ¬(A.B)

NOU (NOR)S=A+B

S=(A+B)’

S= ¬(A+B)

XOR S=A⊕B

A

B

S=A.B

A

BS=A+B

A S=Ā

A

B

S=A.B

A

BS=A+B

A B S=A.B

0 0 0

0 1 0

1 0 0

1 1 1

A B S=A+B

0 0 0

0 1 1

1 0 1

1 1 1

A S=Ā

0 1

1 0

A B S=A⊕B

0 0 0

0 1 1

1 0 1

1 1 0

A B S=A.B

0 0 1

0 1 1

1 0 1

1 1 0

A B S=A+B

0 0 1

0 1 0

1 0 0

1 1 0

A

BS=A⊕B

Page 41: Ab funcoes-logicas-portas-logicas

42

Correspondência entre expressões,

circuitos e tabelas verdade

� Todo circuito lógico executa uma

expressão booleana

� Um circuito, por mais complexo que seja, é

composto pela interligação dos blocos

lógicos básicos

� Veremos, a seguir, como obter as

expressões booleanas geradas por um

circuito lógico

Page 42: Ab funcoes-logicas-portas-logicas

43

Expressões Booleanas Geradas por Circuitos Lógicos

� Seja o circuito:

A

BS

C

Page 43: Ab funcoes-logicas-portas-logicas

44

Expressões Booleanas Geradas por Circuitos Lógicos

� Vamos dividi-lo em duas partes (1) e (2)

� No circuito (1), a saída S1contém o produto

A.B, já que o bloco é uma porta E

� Portanto, S1= A.B

A

BS

C

(1)

(2)

S1

Page 44: Ab funcoes-logicas-portas-logicas

45

Expressões Booleanas Geradas por Circuitos Lógicos� No circuito (2), note que a saída S

1é utilizada

como uma das entradas da porta OU

� A outra entrada da porta OU corresponde à variável C, o que nos leva à:� S = S1 + C

A

BS=S1+C

C

(1)

(2)

S1=A.B

Page 45: Ab funcoes-logicas-portas-logicas

46

Expressões Booleanas Geradas por Circuitos Lógicos� Para obter a expressão final em relação às entradas A, B e C basta substituir a expressão S

1

na expressão de S, ou seja:� (1) S1 = A.B

� (2) S = S1 + C

� Obtém-se S = S1 + C = (A.B) + C

A

BS=S1+C

C

(1)

(2)

S1=A.B

Page 46: Ab funcoes-logicas-portas-logicas

47

Expressões Booleanas Geradas por Circuitos Lógicos� Portanto, a expressão que o circuito executa é:

� S = (A.B) + C = A.B + C

A

BS=A.B+C

C(2)

A.B

Page 47: Ab funcoes-logicas-portas-logicas

48

Exercício

� Escreva a expressão booleana executada

pelo circuito

S

A

B

C

D

Page 48: Ab funcoes-logicas-portas-logicas

49

Solução

S=(A+B).(C+D)

A

B

C

D

(A+B)

(C+D)

Page 49: Ab funcoes-logicas-portas-logicas

50

Exercício

� Determinar a expressão booleana

característica do circuito

A

B

SC

D

Page 50: Ab funcoes-logicas-portas-logicas

51

Solução

A

B

S=(A.B)+C+(C.D)

C

D

(A.B)

C

(C.D)

Page 51: Ab funcoes-logicas-portas-logicas

52

Circuitos Gerados por Expressões Booleanas

� Até o momento, vimos como obter uma

expressão característica a partir de um

circuito

� Também é possível obter um circuito

lógico, dada uma expressão booleana

� Nesse caso, como na aritmética elementar,

parênteses têm maior prioridade, seguidos

pela multiplicação (função E) e, por último,

pela soma (função OU)

Page 52: Ab funcoes-logicas-portas-logicas

53

Circuitos Gerados por Expressões Booleanas� Seja a expressão

� S = (A+B).C.(B+D)

� Vamos separar as subfórmulas da expressão, ou seja:� S = (A+B) . C . (B+D)

Page 53: Ab funcoes-logicas-portas-logicas

54

Circuitos Gerados por Expressões Booleanas� Seja a expressão

� S = (A+B).C.(B+D)

� Vamos separar as subfórmulas da expressão, ou seja:� S = (A+B) . C . (B+D)

� Dentro do primeiro parêntese temos a soma booleana S

1=(A+B), portanto o

circuito que executa esse parêntese será uma porta OU

� Dentro do segundo parêntese temos a soma booleana S

2=(B+D). Novamente, o

circuito que executa esse parêntese será uma porta OU

A

BS1=(A+B)

B

DS2=(B+D)

Page 54: Ab funcoes-logicas-portas-logicas

55

Circuitos Gerados por Expressões Booleanas� Seja a expressão

� S = (A+B).C.(B+D)

� Vamos separar as subfórmulas da expressão, ou seja:� S = (A+B) . C . (B+D)

� Dentro do primeiro parêntese temos a soma booleana S

1=(A+B), portanto o

circuito que executa esse parêntese será uma porta OU

� Dentro do segundo parêntese temos a soma booleana S

2=(B+D). Novamente, o

circuito que executa esse parêntese será uma porta OU

� Portanto, temos:� S = S

1. C . S

2

� Agora temos uma multiplicação booleana e o circuito que a executa é uma porta E

A

BS1=(A+B)

B

DS2=(B+D)

S1

C S

S2

Page 55: Ab funcoes-logicas-portas-logicas

56

Circuitos Gerados por Expressões Booleanas

� O circuito completo é:

A

B

S1=(A+B)

DS2=(B+D)

C

S = (A+B).C.(B+D)

Page 56: Ab funcoes-logicas-portas-logicas

57

Exercício

� Desenhe o circuito lógico que executa a

seguinte expressão booleana

� S = (A.B.C) + (A+B).C

Page 57: Ab funcoes-logicas-portas-logicas

58

Solução

� É importante lembrar que as entradas que representam a mesma variável estão interligadas

� Contudo o desenho sem interligações facilita a interpretação do circuito

A

B

A

B

(A+B).C

C

C

A+B

S=(A.B.C)+(A+B).C

A.B.C

Page 58: Ab funcoes-logicas-portas-logicas

59

Exercício

� Desenhe o circuito lógico cuja expressão

característica é

� S = (A.B + C.D)’

Page 59: Ab funcoes-logicas-portas-logicas

60

Solução

A

B

A.B

D

C.D

S=((A.B)+(C.D))’

C

Page 60: Ab funcoes-logicas-portas-logicas

61

Expressões ou Circuitos

representados por Tabelas Verdade

� Uma forma de estudar uma função booleana consiste em utilizar sua tabela verdade

� Como visto anteriormente, há uma equivalência entre o circuito lógico e sua expressão característica� Podemos obter um circuito a partir de sua expressão

� Podemos obter expressões a partir dos circuitos

� Uma tabela verdade representa o comportamento tanto do circuito como de sua expressão característica

Page 61: Ab funcoes-logicas-portas-logicas

62

Como obter a Tabela Verdade a partir de uma Expressão� Colocar todas as possibilidades (interpretações) para as variáveis de entrada� Lembrar que para N variáveis, há 2N possibilidades

� Adicionar colunas para cada subfórmula da expressão� Preencher cada coluna com seus resultados

� Adicionar uma coluna para o resultado final� Preencher essa coluna com o resultado final

Page 62: Ab funcoes-logicas-portas-logicas

63

Exemplo

� Considere a expressão� S = A.B.C + A.D + A.B.D

� Como há 4 variáveis de entrada (A, B, C, D), há 24=16 interpretações� Variação 1 zero, 1 um

A B C D

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Page 63: Ab funcoes-logicas-portas-logicas

64

Exemplo

� Considere a expressão� S = A.B.C + A.D + A.B.D

� Como há 4 variáveis de entrada (A, B, C, D), há 24=16 interpretações� Variação 1 zero, 1 um

� Variação 2 zeros, 2 um

A B C D

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1

Page 64: Ab funcoes-logicas-portas-logicas

65

Exemplo

� Considere a expressão� S = A.B.C + A.D + A.B.D

� Como há 4 variáveis de entrada (A, B, C, D), há 24=16 interpretações� Variação 1 zero, 1 um

� Variação 2 zeros, 2 um

� Variação 4 zeros, 4 um

A B C D

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Page 65: Ab funcoes-logicas-portas-logicas

66

Exemplo

� Considere a expressão� S = A.B.C + A.D + A.B.D

� Como há 4 variáveis de entrada (A, B, C, D), há 24=16 interpretações� Variação 1 zero, 1 um

� Variação 2 zeros, 2 um

� Variação 4 zeros, 4 um

� Variação 8 zeros, 8 um

A B C D

0 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 0 0 0

1 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

Page 66: Ab funcoes-logicas-portas-logicas

67

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

A B C D A.B.C A.D A.B.D S

0 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 0 0 0

1 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

Page 67: Ab funcoes-logicas-portas-logicas

68

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

� Preencher cada coluna com seu respectivo resultado

A B C D A.B.C A.D A.B.D S

0 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 0 0 0

1 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 1

Page 68: Ab funcoes-logicas-portas-logicas

69

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

� Preencher cada coluna com seu respectivo resultado

A B C D A.B.C A.D A.B.D S

0 0 0 0 0

0 0 0 1 0

0 0 1 0 0

0 0 1 1 0

0 1 0 0 0

0 1 0 1 0

0 1 1 0 0

0 1 1 1 0

1 0 0 0 0

1 0 0 1 0

1 0 1 0 0

1 0 1 1 0

1 1 0 0 0

1 1 0 1 0

1 1 1 0 1

1 1 1 1 1

Page 69: Ab funcoes-logicas-portas-logicas

70

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

� Preencher cada coluna com seu respectivo resultado

A B C D A.B.C A.D A.B.D S

0 0 0 0 0

0 0 0 1 0

0 0 1 0 0

0 0 1 1 0

0 1 0 0 0

0 1 0 1 0

0 1 1 0 0

0 1 1 1 0

1 0 0 0 0

1 0 0 1 0 1

1 0 1 0 0

1 0 1 1 0 1

1 1 0 0 0

1 1 0 1 0 1

1 1 1 0 1

1 1 1 1 1 1

Page 70: Ab funcoes-logicas-portas-logicas

71

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

� Preencher cada coluna com seu respectivo resultado

A B C D A.B.C A.D A.B.D S

0 0 0 0 0 0

0 0 0 1 0 0

0 0 1 0 0 0

0 0 1 1 0 0

0 1 0 0 0 0

0 1 0 1 0 0

0 1 1 0 0 0

0 1 1 1 0 0

1 0 0 0 0 0

1 0 0 1 0 1

1 0 1 0 0 0

1 0 1 1 0 1

1 1 0 0 0 0

1 1 0 1 0 1

1 1 1 0 1 0

1 1 1 1 1 1

Page 71: Ab funcoes-logicas-portas-logicas

72

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

� Preencher cada coluna com seu respectivo resultado

A B C D A.B.C A.D A.B.D S

0 0 0 0 0 0

0 0 0 1 0 0

0 0 1 0 0 0

0 0 1 1 0 0

0 1 0 0 0 0

0 1 0 1 0 0

0 1 1 0 0 0

0 1 1 1 0 0

1 0 0 0 0 0

1 0 0 1 0 1

1 0 1 0 0 0

1 0 1 1 0 1

1 1 0 0 0 0

1 1 0 1 0 1 1

1 1 1 0 1 0

1 1 1 1 1 1 1

Page 72: Ab funcoes-logicas-portas-logicas

73

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

� Preencher cada coluna com seu respectivo resultado

A B C D A.B.C A.D A.B.D S

0 0 0 0 0 0 0

0 0 0 1 0 0 0

0 0 1 0 0 0 0

0 0 1 1 0 0 0

0 1 0 0 0 0 0

0 1 0 1 0 0 0

0 1 1 0 0 0 0

0 1 1 1 0 0 0

1 0 0 0 0 0 0

1 0 0 1 0 1 0

1 0 1 0 0 0 0

1 0 1 1 0 1 0

1 1 0 0 0 0 0

1 1 0 1 0 1 1

1 1 1 0 1 0 0

1 1 1 1 1 1 1

Page 73: Ab funcoes-logicas-portas-logicas

74

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

� Preencher cada coluna com seu respectivo resultado

� Por último, preencher a coluna do resultado final

A B C D A.B.C A.D A.B.D S

0 0 0 0 0 0 0

0 0 0 1 0 0 0

0 0 1 0 0 0 0

0 0 1 1 0 0 0

0 1 0 0 0 0 0

0 1 0 1 0 0 0

0 1 1 0 0 0 0

0 1 1 1 0 0 0

1 0 0 0 0 0 0

1 0 0 1 0 1 0 1

1 0 1 0 0 0 0

1 0 1 1 0 1 0 1

1 1 0 0 0 0 0

1 1 0 1 0 1 1 1

1 1 1 0 1 0 0 1

1 1 1 1 1 1 1 1

Page 74: Ab funcoes-logicas-portas-logicas

75

Exemplo

� S = A.B.C + A.D + A.B.D

� A seguir, adicionar uma coluna para cada subfórmula de S, além de uma coluna para o resultado final S� A.B.C

� A.D

� A.B.D

� Preencher cada coluna com seu respectivo resultado

� Por último, preencher a coluna do resultado final

A B C D A.B.C A.D A.B.D S

0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0

0 0 1 0 0 0 0 0

0 0 1 1 0 0 0 0

0 1 0 0 0 0 0 0

0 1 0 1 0 0 0 0

0 1 1 0 0 0 0 0

0 1 1 1 0 0 0 0

1 0 0 0 0 0 0 0

1 0 0 1 0 1 0 1

1 0 1 0 0 0 0 0

1 0 1 1 0 1 0 1

1 1 0 0 0 0 0 0

1 1 0 1 0 1 1 1

1 1 1 0 1 0 0 1

1 1 1 1 1 1 1 1

Page 75: Ab funcoes-logicas-portas-logicas

76

Exercício

� Encontre a tabela verdade da expressão� S = Ā+B+A.B.C’

Page 76: Ab funcoes-logicas-portas-logicas

77

Exercício

� Encontre a tabela verdade da expressão� S = Ā+B+A.B.C’

A B C Ā C’ A.B.C’ S

0 0 0 1 1

0 0 1 1 0

0 1 0 1 1

0 1 1 1 0

1 0 0 0 1

1 0 1 0 0

1 1 0 0 1

1 1 1 0 0

Page 77: Ab funcoes-logicas-portas-logicas

78

Solução

� Encontre a tabela verdade da expressão� S = Ā+B+A.B.C’

A B C Ā C’ A.B.C’ S

0 0 0 1 1 0 1

0 0 1 1 0 0 1

0 1 0 1 1 0 1

0 1 1 1 0 0 1

1 0 0 0 1 0 0

1 0 1 0 0 0 0

1 1 0 0 1 1 1

1 1 1 0 0 0 1

Page 78: Ab funcoes-logicas-portas-logicas

79

Exercício

� Montar a tabela verdade da expressão

� S = A.B.C + A.B’.C + A’.B’.C + A’.B’.C’

Page 79: Ab funcoes-logicas-portas-logicas

80

Exercício

� Montar a tabela verdade da expressão

� S = A.B.C + A.B’.C + A’.B’.C + A’.B’.C’

A B C A’ B’ C’ A.B.C A.B’.C A’.B’.C A’.B’.C’ S

0 0 0 1 1 1

0 0 1 1 1 0

0 1 0 1 0 1

0 1 1 1 0 0

1 0 0 0 1 1

1 0 1 0 1 0

1 1 0 0 0 1

1 1 1 0 0 0

Page 80: Ab funcoes-logicas-portas-logicas

81

Solução

� Montar a tabela verdade da expressão

� S = A.B.C + A.B’.C + A’.B’.C + A’.B’.C’

A B C A’ B’ C’ A.B.C A.B’.C A’.B’.C A’.B’.C’ S

0 0 0 1 1 1 0 0 0 1 1

0 0 1 1 1 0 0 0 1 0 1

0 1 0 1 0 1 0 0 0 0 0

0 1 1 1 0 0 0 0 0 0 0

1 0 0 0 1 1 0 0 0 0 0

1 0 1 0 1 0 0 1 0 0 1

1 1 0 0 0 1 0 0 0 0 0

1 1 1 0 0 0 1 0 0 0 1

Page 81: Ab funcoes-logicas-portas-logicas

82

Equivalência de Expressões Booleanas por Tabela Verdade� Sejam S1 e S2 duas expressões booleanas

� S1 e S2 são equivalentes se e somente se para todas as interpretações possíveis (linhas) na tabela verdade ocorre S1=S2

� Se S1≠S2 em pelo menos uma interpretação, então S1 e S2 não são equivalentes

Page 82: Ab funcoes-logicas-portas-logicas

83

Exercício

� Verifique, usando tabela verdade, se as expressões S1 e S2 são equivalentes� S1 = A

� S2 = A.(A+B)

A B A+B S1 S2

0 0

0 1

1 0

1 1

Page 83: Ab funcoes-logicas-portas-logicas

84

Solução

� Verifique, usando tabela verdade, se as expressões S1 e S2 são equivalentes� S1 = A

� S2 = A.(A+B)

� Como S1=S2 em todas as interpretações possíveis na tabela verdade, as expressões são equivalentes� A.(A+B) = A

� Como veremos mais adiante, esta é uma propriedade, conhecida como absorção

A B A+B S1 S2

0 0 0 0 0

0 1 1 0 0

1 0 1 1 1

1 1 1 1 1

Page 84: Ab funcoes-logicas-portas-logicas

85

Exercício

� Verifique, usando tabela verdade, se as expressões S1, S2, S3 são equivalentes entre si� S1 = A

� S2 = A.(1 + B)

� S3 = A + A.B

A B 1+B A.B S1 S2 S3

0 0

0 1

1 0

1 1

Page 85: Ab funcoes-logicas-portas-logicas

86

Solução

� Verifique, usando tabela verdade, se as expressões S1, S2, S3 são equivalentes entre si� S1 = A

� S2 = A.(1 + B)

� S3 = A + A.B

� Como S1=S2=S3 em todas as interpretações possíveis na tabela verdade, as expressões são equivalentes� A + A.B = A.(1+B) = A

� Como veremos mais adiante, esta é uma propriedade, conhecida como absorção

A B 1+B A.B S1 S2 S3

0 0 1 0 0 0 0

0 1 1 0 0 0 0

1 0 1 0 1 1 1

1 1 1 1 1 1 1

Page 86: Ab funcoes-logicas-portas-logicas

87

Exercício

� Verifique, usando tabela verdade, se as expressões S1 e S2 são equivalentes� S1 = A.(B + C)

� S2 = A.B + A.C

A B C B+C A.B A.C S1 S2

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Page 87: Ab funcoes-logicas-portas-logicas

88

Solução

� Verifique, usando tabela verdade, se as expressões S1 e S2 são equivalentes� S1 = A.(B + C)

� S2 = A.B + A.C

� Como S1=S2 em todas as interpretações possíveis na tabela verdade, as expressões são equivalentes� A.(B + C) = A.B + A.C

� Como veremos mais adiante, esta é a propriedade distributiva da multiplicação booleana

A B C B+C A.B A.C S1 S2

0 0 0 0 0 0 0 0

0 0 1 1 0 0 0 0

0 1 0 1 0 0 0 0

0 1 1 1 0 0 0 0

1 0 0 0 0 0 0 0

1 0 1 1 0 1 1 1

1 1 0 1 1 0 1 1

1 1 1 1 1 1 1 1

Page 88: Ab funcoes-logicas-portas-logicas

89

Exercício

� Verifique, usando tabela verdade, se as expressões S1 e S2 são equivalentes� S1 = A+(B.C)

� S2 = (A+B) . (A+C)

A B C B.C A+B A+C S1 S2

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Page 89: Ab funcoes-logicas-portas-logicas

90

Solução

� Verifique, usando tabela verdade, se as expressões S1 e S2 são equivalentes� S1 = A+(B.C)

� S2 = (A+B) . (A+C)

� Como S1=S2 em todas as interpretações possíveis na tabela verdade, as expressões são equivalentes� A+(B.C) = (A+B) . (A+C)

� Como veremos mais adiante, esta é a propriedade distributiva da adição booleana

A B C B.C A+B A+C S1 S2

0 0 0 0 0 0 0 0

0 0 1 0 0 1 0 0

0 1 0 0 1 0 0 0

0 1 1 1 1 1 1 1

1 0 0 0 1 1 1 1

1 0 1 0 1 1 1 1

1 1 0 0 1 1 1 1

1 1 1 1 1 1 1 1

Page 90: Ab funcoes-logicas-portas-logicas

91

Exercício

� Verifique, usando tabela verdade, se as expressões S1 e S2 são equivalentes� S1 = (Ā.�)

� S2 = (A.B)’

A B A’ B’ A.B S1 S2

0 0

0 1

1 0

1 1

Page 91: Ab funcoes-logicas-portas-logicas

92

Solução

� Verifique, usando tabela verdade, se as expressões S1 e S2 são equivalentes� S1 = (Ā.�)

� S2 = (A.B)’

� Como S1≠S2 em pelo menos uma interpretação (de fato, em 2 das 4 possíveis) na tabela verdade, as expressões não são equivalentes

� Portanto,� (Ā.�) ≠ (A.B)’

A B A’ B’ A.B S1 S2

0 0 1 1 0 1 1

0 1 1 0 0 0 1

1 0 0 1 0 0 1

1 1 0 0 1 0 0

Page 92: Ab funcoes-logicas-portas-logicas

93

Resumo de Algumas Propriedades

provadas por Tabelas Verdade

� Absorção� A + (A.B) = A� A . (A+B) = A

� Distributiva� A.(B+C) = A.B + A.C� A+(B.C) = (A+B) . (A+C)

Page 93: Ab funcoes-logicas-portas-logicas

94

Obtendo a Tabela Verdade a partir de um Circuito

� De forma análoga, é possível estudar o

comportamento de um circuito por meio da

sua tabela verdade

� Dado um circuito, é necessário extrair sua

expressão característica; a partir dela é

possível montar a tabela verdade

correspondente

Page 94: Ab funcoes-logicas-portas-logicas

95

Exemplo

� A partir do circuito:

S

A

B

B

C

Page 95: Ab funcoes-logicas-portas-logicas

96

Exemplo

� A partir do circuito:

� Extraímos sua expressão característica

� S = (A+B) . (B.C)

S=(A+B).(B.C)’

A

B

B

C

(A+B)

(B.C)’

Page 96: Ab funcoes-logicas-portas-logicas

97

Exemplo

� A partir da expressão� S = (A+B) . (B.C)

� Obtém-se a tabela verdade, como anteriormente explicado

A B C A+B B.C (B.C)’ S

0 0 0 0 0 1 0

0 0 1 0 0 1 0

0 1 0 1 0 1 1

0 1 1 1 1 0 0

1 0 0 1 0 1 1

1 0 1 1 0 1 1

1 1 0 1 0 1 1

1 1 1 1 1 0 0

Page 97: Ab funcoes-logicas-portas-logicas

98

Equivalência de Blocos Lógicos

� Qualquer bloco lógico básico pode ser obtido utilizando outro bloco qualquer e inversores

� Inversores podem ser obtidos a partir de portas NAND e NOR

� Veremos a seguir essas equivalências entre determinados blocos

� Tais equivalências podem ser provadas pela tabelas verdades correspondentes da seguinte forma� Seja S1 a expressão característica do primeiro bloco B1

� Seja S2 a expressão característica do segundo bloco B2

� Se para todas as interpretações possíveis de B1 e B2, sempre ocorrer que S1=S2, então B1 é equivalente a B2

Page 98: Ab funcoes-logicas-portas-logicas

99

Inversor a partir de porta NAND

� Inversor � Ao interligar as entradas de uma porta NAND, obtém-se um inversor

A S=Ā

A

BS=Ā

A S

0 1

1 0

A B S

0 0 1

0 1 1

1 0 1

1 1 0

A

BS=A.B

A B S

0 0 1

1 1 0

Note que, para cada

interpretação

possível, os

resultados são

equivalentes

Page 99: Ab funcoes-logicas-portas-logicas

100

Inversor a partir de porta NOR

� Inversor � Ao interligar as entradas de uma porta NOR, obtém-se um inversor

A S=Ā

A S

0 1

1 0

A B S

0 0 1

0 1 0

1 0 0

1 1 0

A B S

0 0 1

1 1 0

A

BS=Ā

A

BS=A+B

Page 100: Ab funcoes-logicas-portas-logicas

101

Porta NOU a partir de porta E einversores

� Porta NOU� Porta E e inversores

A

B

Ā

A

BS

A

BS=A+B

A B Ā � S

0 0 1 1 1

0 1 1 0 0

1 0 0 1 0

1 1 0 0 0

A B S=A+B

0 0 1

0 1 0

1 0 0

1 1 0

Page 101: Ab funcoes-logicas-portas-logicas

102

Equivalência de Blocos Lógicos

� De maneira similar, a equivalência entre os

blocos mostrados a seguir pode ser

verificada

Page 102: Ab funcoes-logicas-portas-logicas

103

Blocos Lógicos Equivalentes

Nome Bloco Lógico Bloco Equivalente

AND

NAND

OR

NOR

A

BS=A.B

A

BS=A+B

A

BS=A.B

A

BS=A+B

A

BS=Ā.�

A

BS=(Ā+�)

A

BS=Ā+�

A

BS=(Ā.�)

Page 103: Ab funcoes-logicas-portas-logicas

104

Exercício

� Prove, usando tabela verdade, que os

seguintes blocos lógicos são equivalentes

A

BS1=A+B

A

BS2=(Ā.�)

Page 104: Ab funcoes-logicas-portas-logicas

105

Solução

A B Ā � Ā.�S1=

A+B

S2=

Ā.�

0 0 1 1 1 0 0

0 1 1 0 0 1 1

1 0 0 1 0 1 1

1 1 0 0 0 1 1

A

BS1=A+B

A

BS2=(Ā.�)

Page 105: Ab funcoes-logicas-portas-logicas

106

Copyright© Apresentação 2012 por

José Augusto Baranauskas

Universidade de São Paulo

Professores são convidados a utilizarem esta apresentação da maneira que lhes for conveniente, desde que esta nota de copyright permaneça intacta.

Slides baseados em:

�Idoeta, I.V. & Capuano, F.G.; Elementos de Eletrônica Digital, 12ª. edição, Érica, 1987.

�E. Mendelson; Álgebra booleana e circuitos de chaveamento, McGraw-Hill, 1977.