A maior rede de estudos do Brasil

Grátis
231 pág.
02_Algebra_booleana_portas_logicas

Pré-visualização | Página 8 de 9

+ 
!A3.A2.A1.!A0 + A3.!A2.!A1.A0 + A3.!A2.A1.!A0 + A3.A2.!A1.!A0 
+ A3.A2.A1.A0 
† Par0 = 00002 + 00112 + 01012 + 01102 + 10012 + 10102 + 11002
+ 11112
† F(A3,A2,A1,A0) = ∑(0,3,5,6,9,10,12,15)
188
Álgebra booleana
† Formas canônicas
„ Soma de mintermos
† F(a,b,c,d) = ∑(15,3,1,7)
† F(a,b,c,d) = 11112 + 00112 + 00012 + 01112
† F(a,b,c,d) = a.b.c.d + !a.!b.c.d + !a.!b.!c.d + !a.b.c.d
„ Produto de maxtermos
† F(a,b,c,d,e) = ∏(21,14,13)
† F(a,b,c,d,e) = 101012 + 011102 + 011012
† F(a,b,c,d) = (!a+b+!c.+d+!e).(a+!b+!c+!d+e).(a+!b+!c+d+!e)
189
Álgebra booleana
† Portas lógicas além das básicas OR, AND e 
inversor
„ NOR (Not OR)
„ NAND (Not AND)
„ XOR (Exclusive OR)
„ XNOR (Exclusive NOR)
190
Álgebra booleana
† Porta lógica NOR (“NOT OR”)
„ Combinação da porta lógica OR e um inversor
A B S
0 0 0
0 1 1
1 0 1
1 1 1
Tabela verdade OR
A B S
0 0 1
0 1 0
1 0 0
1 1 0
Tabela verdade NOR
Indica inversão
≡ S = !(A + B)
Se alguma 
entrada é igual 
a 1, a saída é 0
191
Álgebra booleana
† Porta lógica NOR (“NOT OR”)
„ Forma de onda
S
Se alguma 
entrada é igual 
a 1, a saída é 0
192
Álgebra booleana
† Porta lógica NOR (“NOT OR”)
„ Qualquer circuito lógico pode ser implementado utilizando as 
portas lógicas OR, AND e inversor
„ A partir de portas NOR pode-se obter portas OR, AND e inversor
„ Universal
193
Álgebra booleana
† Porta lógica NAND (“NOT AND”)
„ Combinação da porta lógica AND e um inversor
A B S
0 0 0
0 1 0
1 0 0
1 1 1
Tabela verdade AND
A B S
0 0 1
0 1 1
1 0 1
1 1 0
Tabela verdade NAND
Indica inversão
≡ S = !(A.B)
Se alguma 
entrada é igual 
a 0, a saída é 1
194
Álgebra booleana
† Porta lógica NAND (“NOT AND”)
„ Forma de onda
Se alguma 
entrada é igual 
a 0, a saída é 1
S
195
Álgebra booleana
† Porta lógica NAND (“NOT AND”)
„ Qualquer circuito lógico pode ser implementado utilizando as 
portas lógicas OR, AND e inversor
„ A partir de portas NAND pode-se obter portas OR, AND e inversor
„ Universal
196
Álgebra booleana
† Desenhar o circuito lógico usando apenas NOR e 
NAND
„ F = !(A.B.!(C + D))
197
Álgebra booleana
† Portas lógicas além das básicas OR, AND e 
inversor
„ NOR (Not OR)
„ NAND (Not AND)
„ XOR (Exclusive OR)
„ XNOR (Exclusive NOR)
198
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ ou lógico exclusivo
† Símbolos: 
„ A B, A B C
„ Linguagens de programação (e.g. C, Java): ^
† Definição
„ A operação XOR sobre duas variáveis resulta 1 se elas 
tem valores diferentes. Caso contrário (iguais) resulta 0.
199
A B S
0 0 0
0 1 1
1 0 1
1 1 0
Tabela verdadePorta lógica
S = A B
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ ou lógico exclusivo
† Símbolos: 
„ A B, A B C
„ Linguagens de programação (e.g. C, Java): ^
† Definição
„ A operação XOR resulta 1 se o número de entradas em 1 é 
ímpar. Caso contrário resulta 0.
200
Porta lógica
S = A B C
A B C S
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
XOR com mais de 
2 entradas tem bug 
no logisim
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ A B ≡ !A.B + A.!B
= A B
201
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ A B ≡ !A.B + A.!B
if ( (digito != 0 && tempo > 100) || (digito == 0 && tempo <= 100) )
printf(“fim”);
if ( digito == 0 ^ tempo > 100 )
printf(“fim”);
Equivalentes
!A AB !B
printf() só é executado se a expressão de um lado do XOR (^) é verdadeira e a do 
outro lado é falsa
202
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ Forma de onda
Se as duas entradas são 
diferentes, a saída é 1
S
203
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ Gerador de paridade
a b c P
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
a
b
c
P
Circuito 
B
Ex. PC Ex. Impressora
P = a b c
204
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ Verificador de paridade
† Detecta erro na transmissão
a
b
c
P
Circuito 
B
Ex. PC Ex. Impressora
a b c P Erro
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
205
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ Verificador de paridade
† Detecta erro na transmissão
a
b
c
P
Circuito 
B
Ex. PC Ex. Impressora
a b c P Erro
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
Erro = a b c P
206
Álgebra booleana
† Porta lógica XOR (Exclusive OR)
„ Detector de número de 1s impar em um número de 8 bits
† A: A7 A6 A5 A4 A3 A2 A1 A0
† Impar1 ← 1 quando A tiver um número impar de 1s, senão 0
† Tabela verdade: 28 = 256 linhas
#1s 
impar
Impar1
A
8
A
207
Álgebra booleana
† Porta lógica XNOR (Exclusive NOR)
„ Combinação da porta lógica XOR e um inversor
„ Função coincidência
A B S
0 0 0
0 1 1
1 0 1
1 1 0
Tabela verdade XOR
A B S
0 0 1
0 1 0
1 0 0
1 1 1
Tabela verdade XNOR
Se as entradas 
são iguais, a 
saída é 1
S = !(A B)
208
Álgebra booleana
† Porta lógica XNOR (Exclusive NOR)
„ !(A B) ≡ !(!A.B + A.!B)
„ XNOR = !(!A.B + A.!B)
„ XNOR = !(!A.B).!(A.!B) (DeMorgan)
„ XNOR = (!!A + !B).(!A + !!B) (DeMorgan)
„ XNOR = (A + !B).(!A + B) (Complementação)
„ XNOR = (A + !B).!A + (A + !B).B (Distributividade)
„ XNOR = !A.(A + !B) + B.(A + !B) (Comutatividade)
„ XNOR = !A.A + !A.!B + B.A + B.!B (Distributividade)
„ XNOR = 0 + !A.!B + B.A + 0 (AND: X.!X = 0)
„ XNOR = !A.!B + B.A (OR: X + 0 = X)
„ XNOR = !A.!B + A.B (Comutatividade)
209
Álgebra booleana
† Porta lógica XNOR (Exclusive NOR)
„ !(A B) ≡ !(!A.B + A.!B) ≡ !A.!B + A.B
210
Álgebra booleana
† Porta lógica XNOR (Exclusive NOR)
„ Igualdade de 2 números de 2 bits
† A: A1 A0
† B: B1 B0
† Igual ← 1 quando A = B, senão 0
=
IguaisA
B
2
2
211
Álgebra booleana
† Porta lógica XNOR (Exclusive NOR)
„ Igualdade de 2 números de 2 bits
A1 A0 B1 B0 Iguais
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
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
212
Álgebra booleana
† Porta lógica XNOR (Exclusive NOR)
„ Igualdade de 2 números de 8 bits
„ Tabela verdade de 216 = 65536 linhas
1 XNOR de duas entradas por bit
213
Álgebra booleana
† Circuitos com mais de uma saída
„ Tratar separadamente cada saída
† Um circuito para cada saída compartilhando as mesmas entradas
„ Exemplo: circuito com duas saídas: F e G
† F = a.b + !c
† G = a.b + b.c
a.b
Otimização
a.b
214
Álgebra booleana
† Circuitos com mais de uma saída
„ Detecção de maioria de votos a favor e empate
† O sistema tem 4 entradas de votos (v1, v2, v3, v4)
† Cada uma é ativada por um votante
„ voto = 0: voto contra
„ voto = 1: voto a favor
† M ← 1 quando a maioria das entradas de votos está ativa
† e ← 1 quando o número de votos contra e a favor é igual
Mv1
v2
v3
v4
e
215
Álgebra booleana
† Circuitos com mais de uma saída
„ Detecção de maioria de votos a favor e empate
v1 v2 v3 v4 M
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 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
216
Álgebra booleana
† Circuitos com mais de uma saída
„ Detecção de maioria de votos a favor e empate
v1 v2 v3 v4 M e
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 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
217
Álgebra booleana
† Circuitos com mais de uma saída
„ Detecção de maioria de votos a favor e empate
v1 v2 v3 v4 M e
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 0 1
0 1 0 0 0 0
0 1 0 1 0 1
0 1 1 0 0 1
0 1 1 1 1 0
1 0 0 0 0 0
1 0 0 1 0 1
1 0 1 0 0 1
1 0 1 1 1 0
1 1 0 0 0 1
1 1 0 1 1 0
1 1 1 0 1 0
1 1 1 1 1 0
e = !v1.!v2.v3.v4 + !v1.v2.!v3.v4 + 
!v1.v2.v3.!v4 + v1.!v2.!v3.v4