elementos de lógica digital 27/08/2009 - ufeslucas/eld2009/elementos_de_logica... · 2009. 8....
TRANSCRIPT
Elementos de Lógica Digital27/08/2009
Prof. Jadir Eduardo Souza [email protected]
Mapas de Karnaugh
Ferramenta de auxílio à minimização de funções booleanas
Mapeamento biunívoco a partir de uma tabela-verdade
Mapas de Karnaugh1 Variável
A ̅ A
1 0
A F
0 1
1 0
Mapas de Karnaugh2 Variáveis
B ̅ B
A ̅ 1 0
A 1 0
A B F
0 0 1
0 1 0
1 0 1
1 1 0
Mapas de Karnaugh3 Variáveis
A ̅
A
B ̅B ̅ BB
1 0 0 1
0 1 1 0
C̅ CC C̅
A B C F
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
Mapas de Karnaugh4 Variáveis
C̅C̅ CC
A ̅A ̅
AA
1 0 0 1 B ̅
0 1 1 0B
1 0 0 0B
0 0 0 0 B ̅
D̅ DD D̅
A B C D F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
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 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
Mapas de KarnaughMais Variáveis
Mapas tridimensionais
Mais de um quadro por mapa
Mais variáveis por linha/coluna, com abordagem apresentada ou abordagem alternativa
Mapas de KarnaughOutra abordagem
A B C D F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
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 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
CDABAB
CD00 01 11 10
00
01
11
10
1 0 0 1
0 1 1 0
1 0 0 0
0 0 0 0
Mapas de KarnaughRegras de Simplificação
Encontrar posições marcadas na tabela (valor 1) que formem blocos máximos com 1, 2, 4, 8 ou 16 posições, marcar e contornar os blocos encontrados
Selecionar blocos adicionais com posições marcadas, de forma a selecionar todas as posições marcadas, e com o menor número de blocos possível
É permitido usar uma mesma posição marcada em mais de um bloco
Mapas de Karnaugh
C̅C̅ CC
A ̅A ̅
AA
B ̅
1BB
B ̅
D̅ DD D̅
A ̅BC ̅D
Mapas de Karnaugh
C̅C̅ CC
A ̅A ̅
AA
B ̅
1 1BB
B ̅
D̅ DD D̅
A ̅BD
Mapas de Karnaugh
C̅C̅ CC
A ̅A ̅
AA
1 1 1 1 B ̅
BB
B ̅
D̅ DD D̅
A ̅B ̅
Mapas de Karnaugh
C̅C̅ CC
A ̅A ̅
AA
1 1 B ̅
1 1BB
B ̅
D̅ DD D̅
A ̅D
Mapas de Karnaugh
C̅C̅ CC
A ̅A ̅
AA
1 1 1 1 B ̅
1 1 1 1BB
B ̅
D̅ DD D̅
A ̅
Mapas de Karnaugh
C̅C̅ CC
A ̅A ̅
AA
B ̅
1 1BB
B ̅
D̅ DD D̅
A ̅BD ̅
Mapas de Karnaugh
C̅C̅ CC
A ̅A ̅
AA
B ̅
1 1B
1B
B ̅
D̅ DD D̅
A ̅BD+BCD
Mapas de Karnaugh
C̅C̅ CC
A ̅A ̅
AA
B ̅
1 1B
1 1B
B ̅
D̅ DD D̅
A ̅BD+ABC
Exemplo
Definir a expressão mínima para um incrementador BCD, na forma de soma de produtos
a) Construir a Tabela Verdade ➦
b) Extrair os mintermos da expressão ➦
c) Construir Mapa de Karnaugh ➦
d) Escrever expressões mínimas ➦
Tabela VerdadeEntradasEntradasEntradasEntradas SaídasSaídasSaídasSaídas
A B C D X Y Z W0 0 0 0 0 0 0 10 0 0 1 0 0 1 00 0 1 0 0 0 1 10 0 1 1 0 1 0 00 1 0 0 0 1 0 10 1 0 1 0 1 1 00 1 1 0 0 1 1 10 1 1 1 1 0 0 01 0 0 0 1 0 0 11 0 0 1 0 0 0 01 0 1 0 d d d d1 0 1 1 d d d d1 1 0 0 d d d d1 1 0 1 d d d d1 1 1 0 d d d d1 1 1 1 d d d d{Casos
“negligenciáveis”
↩
minTermos
X = ∑ m(7,8)
Y = ∑ m(3,4,5,6)
Z = ∑ m(1,2,5,6)
W = ∑ m(0,2,4,6,8)
minTermos
X = A ̅BCD + AB ̅C̅D̅
Y = A ̅B ̅CD + A̅BC̅D̅ + A ̅BC ̅D + A ̅BCD̅
Z = A ̅B ̅C̅D + A ̅B ̅CD̅ + A ̅BC̅D + A ̅BCD̅
W = A ̅B ̅C̅D̅ + A ̅B ̅CD̅ + A ̅BC ̅D̅ + A ̅BCD̅ + AB ̅C̅D̅
↩
Saída X
C̅C̅ CC
A ̅A ̅
AA
B ̅
1B
d d d dB
1 d d B ̅
D̅ DD D̅
AD ̅+BCD
Saída Y
C̅C̅ CC
A ̅A ̅
AA
1 B ̅
1 1 1B
d d d dB
d d B ̅
D̅ DD D̅
BD ̅+BC ̅+B ̅CD
Saída Z
C̅C̅ CC
A ̅A ̅
AA
1 1 B ̅
1 1B
d d d dB
d d B ̅
D̅ DD D̅
A ̅C̅D+CD̅
Saída W
C̅C̅ CC
A ̅A ̅
AA
1 1 B ̅
1 1B
d d d dB
1 d d B ̅
D̅ DD D̅
D̅
↩
minTermos
X = BCD + AD ̅
Y = B ̅CD + BD ̅ + BC ̅
Z = A ̅C̅D + CD̅
W = D̅
↩
Método Quine-McKluskey
Simplificação de expressões
Método tabular
Tabela com termos produtos, de acordo com o número de variáveis negadaEncontrar pares que diferem de apenas uma variável, marcando o par e eliminando a variável que difere recursivamenteConstruir Matriz Quine-McKluskey, colocando X nas interseções, círculos e quadrados
Método Quine-McKluskeyExemploConsiderar a expressão lógica:
F = ABCD + ABC ̅D + ABC ̅D̅ + AB ̅CD + A ̅BCD + A ̅BCD̅ + A ̅BC ̅D + A ̅B ̅C̅D
Construir tabela com os termos produto
Termo Binário Grupo minTermoA ̅B ̅C̅D 0001 1 1A ̅BC ̅D 0101
25
A ̅BCD ̅ 0110 2 6ABC ̅D̅ 1100
212
A ̅BCD 01113
7AB ̅CD 1011 3 11ABC ̅D 1101
313
ABCD 1111 4 15
Passo 1
Passo 2Termo GrupoA ̅B ̅C̅D 1A ̅BC ̅D 2A ̅BCD̅ 2ABC ̅D̅ 2A ̅BCD 3AB ̅CD 3ABC ̅D 3ABCD 4
Termo Grupo
✔
✔ ✔
✔
✔
✔
✔
✔✔
✔
✔
✔
✔
✔✔✔
ABD 3ACD 3BCD 3ABC ̅ 2A ̅BC 2BC ̅D 2A ̅BD 2A ̅C̅D 1
Passo 3Termo GrupoA ̅C̅D 1A ̅BD 2BC ̅D 2A ̅BC 2ABC ̅ 2BCD 3ACD 3ABD 3
Termo Grupo
✔
✔
✔
✔
BD 2BD 2
Passo 4
ABCD ABC ̅D ABC ̅D̅ AB ̅CD A ̅BCD A ̅BCD̅ A ̅BC ̅D A ̅B ̅C̅D
BD
A ̅C̅D
A ̅BC
ABC ̅
ACD ⃞⃞
⃞⃞
◯◯
◯◯
X X X X
X
X X
X X
X X
X
A ̅C̅D + A ̅BC + ABC ̅ + ACD
Método Quine-McKluskeyForma Alternativa
Montagem da tabela com termos produtos, de acordo com o número de variáveis negadas
Encontrar minTermos que diferem de uma potência de 2, marcar-o e construir tabelas de Pares
Encontrar pares com diferenças de potência de 2 em grupos diferente
Construir tabela de Quadras, recursivamente para Octetos etc.
Termo Grupo minTermo Pares QuadrasA ̅B ̅C̅D 1 1A ̅BC ̅D
25
A ̅BCD̅ 2 6ABC ̅D̅
212
A ̅BCD
37
AB ̅CD 3 11ABC ̅D
313
ABCD 4 15
5,13,7,15 (8,2)5,13 (8)6,7 (1)
7,15 (8)12,13 (1)
Passo 1
1,5 (4)5,7 (2)
13,15 (2)11,15 (4)
5,7,13,15 (2,8)
Passo 2
1 5 6 7 11 12 13 15
5,7,13,15 (2,8)
1,5 (4)
6,7 (1)
12,13 (1)
11,15 (2)
X X
X X X X
X X
X X
XX
◯◯
◯◯
⃞⃞
⃞⃞
Passo 3
1,5 (4) 8 4 2 1
1
5
A ̅ B ̅ C̅ D
A ̅ B C̅ D
A ̅C̅D
6,7 (1) 8 4 2 1
6
7
A ̅ B C D̅
A ̅ B C D
A ̅BC
12,13 (1) 8 4 2 1
12
13
A B C̅ D̅
A B C̅ D
ABC ̅
11,15 (4) 8 4 2 1
11
15
A B ̅ C D
A B C D
ACD
C̅C̅ CC
A ̅A ̅
AA
1 B ̅
1 1 1B
1 1 1B
1 B ̅
D̅ DD D̅
Mapa Karnaugh
A ̅C̅D + A ̅BC + ABC ̅ + ACD
Portas Lógicas
Dispositivos, ou circuitos, que operam um ou mais sinais lógicos de entrada para produzir uma e somente uma saída, dependente da função implementada
Implementam fisicamente as funções da Álgebra Booleana, através de sua conexão
Unidade básica construtiva dos sistemas digitais
Portas lógicas básicas: AND, OR, NOT, NAND e NOR
Derivadas: XOR, XNOR
Portas LógicasAND
A B Y0 0 00 1 01 0 01 1 1
Y = f (A, B) = A . B
Portas LógicasOR
A B Y0 0 00 1 11 0 11 1 1
Y = f (A, B) = A + B
Portas LógicasNOT
A Y0 11 0
Y = f (A) = A ̅
Portas LógicasNAND
A B Y0 0 10 1 11 0 11 1 0
Y = f (A, B) = A ̅ ̅.̅ ̅B ̅
Portas LógicasNOR
A B Y0 0 00 1 11 0 11 1 1
Y = f (A, B) = A ̅ ̅+ ̅ ̅̅B ̅̅
Portas LógicasXOR
A B Y0 0 00 1 11 0 11 1 0
Y = f (A, B) = A ̅.B + A.B ̅ = A ⊕ B
Portas LógicasXNOR
A B Y0 0 10 1 01 0 01 1 1
Y = f (A, B) = A ̅.B ̅ + A.B = A ⊙ B
Padrões de Simbologia
IEEE 91 IEC DIN
AND
OR
NOT
Observações
A operação de inversão é denotada por um círculo, mesmo na entrada da porta
Pode-se encontrar portas com mais com três, quatro ou mais entradas, e não apenas duas entradas como apresentado
Na porta ideal, a saida é alterada imediatamente com as entradas, nas portas reais há um retardo de propagação conhecido como atraso da porta lógica
Conjuntos Completos
Os seguintes conjuntos de portas lógicas são funcionalmente completos, ou seja, é capaz de implementar TODO o conjunto de portas:
AND, OR, NOT
AND, NOT
OR, NOT
NAND
NOR
Completude AND, OR, NOT
NAND
Completude AND, OR, NOT
NOR
Completude AND, OR, NOT
XOR
Completude AND, OR, NOT
XNOR
Completude AND, NOT
OR
B
Completude AND, NOT
NAND
Completude AND, NOT
NOR
B
Completude AND, NOT
XOR
Completude AND, NOT
XNOR
Completude OR, NOT
AND
B
Completude OR, NOT
NOR
Completude OR, NOT
NAND
B
Completude OR, NOT
XOR
Completude OR, NOT
XNOR
Completude NAND
NOT
A
Completude NAND
AND
Completude NAND
OR
A
B
Completude NAND
NOR
A
B
Completude NAND
XOR
Completude NAND
XNOR
Completude NOR
NOT
A
Completude NOR
OR
Completude NOR
AND
A
B
Completude NOR
NAND
A
B
Completude NOR
XOR
Completude NOR
XNOR
Dúvidas ?