Aula 6

Transcrição

Aula 6
SISTEMAS DIGITAIS
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com
- Aula 6 1. MAPA DE KARNAUGH
O Mapa de Karnaugh é um diagrama utilizado na minimização de funções booleanas.
Chamamos esse diagrama de mapa, haja vista ser um mapeamento biunívoco a partir de uma
tabela de verdade da função que está a ser analisada. Os diagramas foram originalmente criados
por Edward
Veitch (1952)
e
aperfeiçoados
pelo
engenheiro
de telecomunicações Maurice
Karnaugh. Karnaugh utilizou os diagramas para simplificar circuitos utilizados em telefonia. O
nome completo do método é Veitch-Karnaugh, em homenagem aos seus dois precursores, mas
usualmente utiliza-se apenas o nome de Karnaugh para o método.
O método utiliza a tabela verdade de uma função booleana como base para as
simplificações. Um mapa de Karnaugh é uma ajuda excelente para simplificação de funções de até
6 variáveis. Para funções de mais de 6 variáveis a simplificação é mais complexa pois torna-se
uma tarefa árdua identificar as células adjacentes no mapa. Para funções de mais de 6 variáveis
devem ser utilizadas soluções algorítmicas computacionais.
1.1. Mapa de Karnaugh para 01 variável
Considere a tabela verdade abaixo
Linha
0
1
A
0
1
f(A) = A’
1
0
A construção do mapa de Karnaugh dar-se-á da seguinte forma:
1. Acrescenta-se mais uma coluna à tabela-verdade original. Esta coluna tem por função
enumerar as linhas, a partir de zero (0).
1
SISTEMAS DIGITAIS
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com
2. Constroem-se tantos quadrículos quantas forem as linhas da tabela-verdade, enumerandoos com o número da linha correspondente no canto superior esquerdo de cada quadrículo
(números em preto).
3. Coloca-se os valores das variáveis do lado de fora de cada quadrículo (números em azul).
4. Coloca-se os valores da função no centro de cada quadrículo, respeitando-se o número da
linha correspondente (números em vermelho).
1.2. Mapa de Karnaugh para 02 variáveis
Considere a tabela verdade abaixo implementando a função AND:
Linha
0
1
2
3
AB
00
01
10
11
f(A,B) = AB
0
0
0
1
A construção do mapa de Karnaugh dar-se-á da seguinte forma:
1.3. Mapa de Karnaugh para 03 variáveis
Considere a tabela verdade abaixo implementando a função f(A,B,C) = AB+C:
Linha
0
1
2
3
4
5
6
ABC
000
001
010
011
100
101
110
f(A,B,C) = AB+C
0
1
0
1
0
1
1
2
SISTEMAS DIGITAIS
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com
7
111
1
A construção do mapa de Karnaugh dar-se-á da seguinte forma:
1.4. Mapa de Karnaugh para 04 variáveis
Considere a tabela verdade abaixo implementando a função f(A,B,C,D) = AB+CD:
Linha
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ABCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
AB CD
00
00
00
01
00
00
00
01
00
00
00
01
10
10
10
11
f(A,B,C,D) = AB+CD
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
A construção do Mapa de Karnaugh dar-se-á da seguinte forma:
3
SISTEMAS DIGITAIS
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com
2. USO DOS MAPAS DE KARNAUGH PARA GERAÇÃO DA EXPRESSÃO SIMPLIFICADA
Assim como nas funções canônicas é possível através dos Mapas de Karnaugh chegar à
expressão mínima ou simplificada de uma função booleana.
Após o Mapa de Karnaugh ter sido construído, a próxima tarefa é encontrar os termos
mínimos a usar na expressão final. Estes termos são encontrados agrupando conjuntos de 1´s
adjacentes no mapa. O agrupamento deve ser retangular e deve ter uma área igual a uma
potência de 2 (Ex.: 2, 4, 8, …). Os retângulos devem ser os maiores possíveis, sem conter
nenhum 0. É importante ressaltar que o mapa é tridimensional, os valores da última coluna da
direita, por exemplo, são adjacentes aos valores da primeira coluna da esquerda. O mesmo
acontece com a linha inferior e a linha superior do mapa, ambas são adjacentes.
Considere os seguintes exemplos:
Exemplo 1 (Duas variáveis):
Note que os dois quadrículos contíguos, contendo o valor lógico 1, indicam que:
4
SISTEMAS DIGITAIS
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com
a) A variável A não muda de valor lógico nos dois quadrículos contendo o valor lógico 1 da
função F (1 acima da tabela): mantenha a variável A.
b) A variável B muda de valor lógico nos dois quadrículos contendo o valor lógico 1 da
função F (0 e 1 à esquerda da tabela): elimine a variável B.
Exemplo 2 (Três variáveis):
a) Note que no Mapa de Karnaugh acima, os quatro quadrículos contíguos (linha 0 - coluna
11; linha 0 - coluna 10; linha 1 - coluna 11; linha 1 - coluna 10), contendo o valor lógico 1
cada, indicam que a variável A não muda de valor lógico da função; Esta é a razão de
manter-se a variável A (primeiro termo da simplificação).
b) A variável A muda de valor lógico nos dois quadrículos contendo o valor
lógico 1 da função F: elimina-se a variável A, mantendo B e C complementadas (segundo
termo da simplificação).
Exemplo 3 (Quatro variáveis):
Exemplificando de maneira diferente é data a função F(A, B, C, D) = E(6, 8, 9, 10, 11, 12,
14, 15) para a seguinte tabela verdade já aplicada uma determinada função:
Linha
0
1
2
3
4
5
6
7
ABCD
0000
0001
0010
0011
0100
0101
0110
0111
f(A,B,C,D)
0
0
0
0
0
0
1
0
Linha
8
9
10
11
12
13
14
15
5
ABCD
1000
1001
1010
1011
1100
1101
1110
1111
f(A,B,C,D)
1
1
1
1
1
0
1
1
SISTEMAS DIGITAIS
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com
Considerações:
Os valores dentro de E nos dizem quais linhas possuem saída igual a 1.
As variáveis de entrada podem ser combinadas em 16 diferentes formas, então o Mapa de Karnaugh
terá 16 posições. O arranjo mais conveniente é em uma matriz 4x4.
Depois de construído o Mapa como visto acima, deve-se traçar o agrupamento de 1’s adjacentes.
Para cada um dos grupos encontramos as variáveis que não mudam de valor dentro do
agrupamento.
Note na figura ao lado que as posições (1,4) e (2,4)
(o grupo marrom) da matriz faz parte do grupo verde e faz
parte
do
grupo
vermelho.
Para
o
grupo
vermelho
encontramos que:
- A variável A mantém o mesmo valor 1 em todo
o agrupamento, então ela deve ser incluída no termo
correspondente ao grupo vermelho.
- A variável B não mantém o mesmo estado
(alterna entre 1 e 0), então deve ser excluída.
- A variável C não muda, mas tem o valor 0,
portanto deve ser incluído na forma negada.
- A variável D não mantém o mesmo estado
(alterna entre 1 e 0), então deve ser excluída.
Dessa forma, o primeiro termo da expressão booleana é AC′.
No grupo verde encontramos que:
- As variáveis A e B mantém o mesmo valor 1 em todo o agrupamento, então ela deve ser
incluída no termo correspondente ao grupo verde;
- As variáveis C e D não mantém o mesmo estado (alterna entre 1 e 0), então deve ser
excluída.
- A variável B não muda, mas tem o valor 0, portanto deve ser incluído na forma negada.
Dessa forma, o segundo termo é AB'.
De igual forma, o retângulo azul resulta no termo BCD′ e a expressão final simplificada é: AC′ +
AB′+ BCD′.
6