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