Transcript
Eletrônica Digital Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br
Mapas de Karnaugh Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br
Mapas de Karnaugh • Método gráfico de simplificação de equações booleanas • Simples e estruturado, leva sempre à solução mais simplificada • Usado para até 6 variáveis, mais comumente para 4 • Para mais de 4 variáveis recomenda-se a utilização de outros métodos como o método de Quine-McClusky
Mapas de Karnaugh • O mapa K é uma representação de uma função booleana, assim como a TV • A forma com que ele é construído faz com que os quadrados graficamente adjacentes na vertical e na horizontal sejam também logicamente adjacentes • Com o mapa completo, a expressão representada é uma SP na qual os termos são as “coordenadas” dos agrupamentos
Mapa K de 2 Variáveis BA S 00 01 10 11
0 1 0 1
S A 0 B 0 0 1
0
1
1 1
Agrupamentos em mapas K de 2 variáveis S A 0 B 0 0 1
0
1
1 0
S = B’A
S A 0 B 0 0 1
0
1
1 1
S=A
S A 0 B 0 1 1
0
1
1 0
S = B’
Agrupamentos em mapas K de 2 variáveis S A 0 B 0 1 1
1 S=1
1
1 1
S A 0 B 0 1 1
0
1
0 1
S A 0 B 0 0 1
0
1
0 0
S=0
Mapa K de 3 Variáveis CBA 000 001 010 011 100 101 110 111
S 0 0 0 1 1 0 1 0
S BA 00 C 0 0 1
1
01
11
10
0
1
0
0
0
1
Agrupamentos em mapas K de 3 variáveis S BA 00 C 0 0 1
0
01
11
10
0
1
0
0
0
0
S = C’BA
S BA 00 C 0 0 1
0
01
11
10
1
1
0
0
0
0
S = C’A
Agrupamentos em mapas K de 3 variáveis S BA 00 C 0 0 1
0
01
11
10
0
1
0
0
1
0
S = BA
S BA 00 C 0 1 1
0
01
11
10
0
0
1
0
0
0
S = C’A’
Agrupamentos em mapas K de 3 variáveis S BA 00 C 0 0 1
0
01
11
10
0
1
1
0
1
1
S=B
S BA 00 C 0 1 1
1
01
11
10
0
0
1
0
0
1
S = A’
Agrupamentos em mapas K de 3 variáveis S BA 00 C 0 0 1
1
01
11
10
0
0
0
1
1
1
S=C
S BA 00 C 0 1 1
1
01
11
10
1
1
1
1
1
1
S=1
Agrupamentos em mapas K de 3 variáveis S BA 00 C 0 0 1
0
01
11
10
0
0
0
0
0
0
S=0
S BA 00 C 0 0 1
0
01
11
10
0
0
1
0
1
0
Agrupamentos em mapas K de 3 variáveis S BA 00 C 0 0 1
0
01
11
10
1
1
1
0
0
0
S BA 00 C 0 1 1
0
01
11
10
0
0
0
0
0
1
DCBA
S
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0
Mapa K de 4 Variáveis S BA 00 DC
01
11
10
00
1
1
0
0
01
0
0
0
1
11
0
1
0
1
10
0
0
1
1
Agrupamentos em mapas K de 4 variáveis S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
0
0
0
0
00
0
0
0
0
01
0
1
0
0
01
0
0
1
0
11
0
0
0
0
11
0
0
1
0
10
0
0
0
0
10
0
0
0
0
S = D’CB’A
S = CBA
Agrupamentos em mapas K de 4 variáveis S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
0
0
0
0
00
0
1
0
0
01
1
0
0
1
01
0
0
0
0
11
0
0
0
0
11
0
0
0
0
10
0
0
0
0
10
0
1
0
0
S = D’CA’
S = C’B’A
Agrupamentos em mapas K de 4 variáveis S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
1
1
0
0
00
0
1
1
0
01
1
1
0
0
01
0
0
0
0
11
0
0
0
0
11
0
0
0
0
10
0
0
0
0
10
0
1
1
0
S = D’B’
S = C’A
Agrupamentos em mapas K de 4 variáveis S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
0
0
0
0
00
0
0
0
0
01
0
0
0
0
01
0
0
0
0
11
1
0
0
1
11
0
0
0
0
10
1
0
0
1
10
1
1
1
1
S = DA’
S = DC’
Agrupamentos em mapas K de 4 variáveis S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
1
0
0
1
00
0
0
0
0
01
0
0
0
0
01
0
0
0
0
11
0
0
0
0
11
1
1
1
1
10
1
0
0
1
10
1
1
1
1
S = C’A’
S=D
Agrupamentos em mapas K de 4 variáveis S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
1
0
0
1
00
1
1
1
1
01
1
0
0
1
01
0
0
0
0
11
1
0
0
1
11
0
0
0
0
10
1
0
0
1
10
1
1
1
1
S = A’
S = C’
Agrupamentos em mapas K de 4 variáveis S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
0
1
1
0
00
1
1
1
1
01
0
1
1
0
01
1
1
1
1
11
0
1
1
0
11
1
1
1
1
10
0
1
1
0
10
1
1
1
1
S=A
S=1
Agrupamentos em mapas K de 4 variáveis S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
1
0
0
0
00
0
0
0
0
01
0
0
0
0
01
0
1
1
1
11
0
0
0
0
11
0
1
1
1
10
0
0
0
1
10
0
0
0
0
Mapa K de 5 Variáveis S BA 00 DC
01
11
10
BA DC
00
01
11
10
00
0
0
1
0
00
1
1
1
0
01
1
0
0
1
01
1
0
1
0
11
0
0
1
0
11
0
0
1
0
10
1
0
0
1
10
1
0
1
1
E=0
E=1
Adjacências em mapas K de 5 variáveis S BA 00 DC
01
11
10
BA DC
00
01
11
10
00
0
0
1
0
00
1
1
1
0
01
1
0
0
1
01
1
0
1
0
11
0
0
1
0
11
0
0
1
0
10
1
0
0
1
10
1
0
1
1
E=0
E=1
E=0 S BA 00 DC
E=1
01
11
10
S BA 00 DC
01
11
10
00
1
1
1
0
00
0
0
0
0
01
1
0
0
1
01
1
1
1
1
11
0
0
0
0
11
0
1
1
0
10
1
1
0
0
10
1
0
0
1
S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
F=0
Mapa K de 6 Variáveis F=1
00
0
0
1
0
00
0
1
1
0
01
1
1
0
0
01
1
1
1
0
11
0
1
0
0
11
0
0
1
1
10
1
0
1
0
10
1
0
0
1
Simplificando com Mapas K 1 • Construa o mapa K com todos “1” e “0” nos devidos lugares • Procure por “1” isolados, ou seja, que não possam ser agrupados com outros “1”s • Agrupe em duplas “1”s que só podem ser agrupados com um único “1” • Agrupe em octetos (para 4 variáveis) e em quadras (para 3 variáveis) mesmo que seja necessário usar “1” que já foram utilizados
Simplificando com Mapas K 2 • Agrupe em quadras (para 4 variáveis) qualquer “1” que esteja sobrando. Lembre–se de usar o mínimo de agrupamentos • Agrupe os pares (para 4 variáveis) os “1”s que ainda não tenham sido agrupados Lembre–se de usar o mínimo de agrupamentos • Analise os agrupamentos e determine os termos (do tipo produto) correspondentes a cada um deles • Construa uma SP com os termos
Simplificando com Mapas K 3 • Na determinação dos termos: – Se dentro de um determinado agrupamento, uma variável assume tanto o valor “1” quanto o “0”, então essa variável é eliminada do termo. As variáveis que permanecem em “1” ou “0” dentro de um agrupamento formam o termo.
Simplificação - Exemplo • Construa o mapa K com todos “1” e “0” nos devidos lugares
S BA 00 DC
01
11
10
00
0
0
0
1
01
0
1
0
0
11
1
1
1
1
10
0
1
1
0
Simplificação - Exemplo S BA 00 DC
• Procure por “1” isolados, ou seja, que não possam ser agrupados com outros “1”s
01
11
10
00
0
0
0
1
01
0
1
0
0
11
1
1
1
1
10
0
1
1
0
Simplificação - Exemplo S BA 00 DC
• Agrupe em duplas “1”s que só podem ser agrupados com um único “1”
01
11
10
00
0
0
0
1
01
0
1
0
0
11
1
1
1
1
10
0
1
1
0
Simplificação - Exemplo S BA 00 DC
• Agrupe em octetos (para 4 variáveis) e em quadras (para 3 variáveis) mesmo que seja necessário usar “1” que já foram utilizados
01
11
10
00
0
0
0
1
01
0
1
0
0
11
1
1
1
1
10
0
1
1
0
Simplificação - Exemplo S BA 00 DC
• Agrupe em quadras (para 4 variáveis) qualquer “1” que esteja sobrando. Lembre– se de usar o mínimo de agrupamentos
01
11
10
00
0
0
0
1
01
0
1
0
0
11
1
1
1
1
10
0
1
1
0
Simplificação - Exemplo • Agrupe os pares (para 4 variáveis) os “1”s que ainda não tenham sido agrupados Lembre–se de usar o mínimo de agrupamentos
S BA 00 DC
01
11
10
00
0
0
0
1
01
0
1
0
0
11
1
1
1
1
10
0
1
1
0
Simplificação - Exemplo S BA 00 DC
• Analise os agrupamentos e determine os termos (do tipo produto) correspondentes a cada um deles
D’C’BA’
01
11
10
00
0
0
0
1
01
0
1
0
0
11
1
1
1
1
10
0
1
1
0
CB’A DC
DA
Simplificação - Exemplo S BA 00 DC
• Construa uma SP com os termos
D’C’BA’
01
11
10
00
0
0
0
1
01
0
1
0
0
11
1
1
1
1
10
0
1
1
0
CB’A DC
S = D’C’BA’+CB’A+DC+DA
DA
Múltiplas soluções S BA 00 DC
01
11
10
S BA 00 DC
01
11
10
00
0
1
0
0
00
0
1
0
0
01
0
1
1
1
01
0
1
1
1
11
0
0
0
1
11
0
0
0
1
10
1
1
0
1
10
1
1
0
1
S = D’B’A+D’CB+DBA’+DC’B’ S = C’B’A+D’CA+CBA’+DC’A’
Erro S BA 00 DC
01
11
10
00
0
1
0
0
01
0
1
1
1
11
0
0
0
1
10
1
1
0
1
Termos de Entrada Irrelevantes • Em alguns circuitos podem existir termos de entrada que nunca ocorrerão. Assim as saídas para esses termos podem ser consideradas irrelevantes (don´t care) • Essas saídas podem ser representadas com um “X” e podem ser usadas como “1” ou “0” conforme sua conveniência
DCBA
S
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1 1 0 0 X 0 1 X X 0 1 1 0 1 1 X
Termos Irrelevantes S BA 00 DC
01
11
10
00
1
1
0
0
01
X
0
X
1
11
0
1
X
1
10
X
0
1
1
Exercício • Projetar um conversor BCD para 7 segmentos. Considere os termos de entrada A até F irrelevantes – O código 7 segmentos serve para acionar um display de leds
Exercício MNOP a b c d e f g 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
? ? ? ? ? ? ? ? ? ? X X X X X X
? ? ? ? ? ? ? ? ? ? X X X X X X
? ? ? ? ? ? ? ? ? ? X X X X X X
? ? ? ? ? ? ? ? ? ? X X X X X X
? ? ? ? ? ? ? ? ? ? X X X X X X
? ? ? ? ? ? ? ? ? ? X X X X X X
? ? ? ? ? ? ? ? ? ? X X X X X X
• Primeiro preencha a TV ao lado • Aplique mapas K para cada coluna (a ... g) a f
b g c
e d