Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 6 Mapas de Karnaugh Graduação em Sistemas de Informação Prof. Dr. Daniel A. Furtado
Mapa de Karnaugh Método gráfico para simplificar expressão lógicas; Teoricamente, o método pode ser utilizado para simplificar expressões com qualquer número de variáveis de entrada; Na prática, o método é comumente utilizado para simplificar expressões de até 6 variáveis; Prof. Dr. Daniel A. Furtado 2
Mapa de Karnaugh Assim como uma tabela verdade, o método é uma forma de relacionar todos os possíveis valores que as variáveis de entrada podem assumir e os respectivos resultados da expressão lógica; Cada combinação de valores das variáveis é apresentada como uma célula (ou quadrado) dentro de um mapa de possibilidades, onde todas as linhas e colunas recebem uma subexpressão como rótulo; Considere a expressão lógica x = +, representada pela tabela verdade a seguir: A B X 0 0 0 0 0 0 Tabela verdade A A B B 0 0 Mapa correspondente para duas variáveis Prof. Dr. Daniel A. Furtado 3
Mapa de Karnaugh Cada linha na tabela-verdade corresponde a uma célula no mapa; O valor em uma célula do mapa indica que o produto das variáveis nas respectivas linha e coluna resulta em (x = ); O valor 0 em uma célula indica que a respectiva combinação de variáveis resulta em 0 (x = 0). Tabela verdade A B X 0 0 0 0 0 0 Mapa para duas variáveis B B A 0 A 0 Prof. Dr. Daniel A. Furtado 4
Mapas para 2, 3 e 4 Variáveis Mapa para duas variáveis B B A A Mapa para três variáveis C C Mapa para quatro variáveis Prof. Dr. Daniel A. Furtado 5
Mapa com 3 Variáveis As linhas do mapa são nomeadas de tal forma que os nomes adjacentes diferem em apenas uma variável; a mesma regra se aplica para nomeação das colunas; Consequentemente, duas células adjacentes quaisquer também terão expressões que diferem em apenas uma variável; A B C x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C C C C C 0 0 0 0 0 C C Prof. Dr. Daniel A. Furtado 6
Mapa com 3 Variáveis Duas células conectadas horizontal ou verticalmente são consideradas células adjacentes; Entretanto, cada célula da linha superior também é considerada adjacente à célula correspondente na linha inferior, pois as expressões se diferem em apenas uma variável (pode-se imaginar que a parte superior foi dobrada de modo a tocar a parte inferior); A mesma ideia se aplica para as células da primeira e última coluna; C C 0 Células adjacentes 0 0 0 0 Células adjacentes Prof. Dr. Daniel A. Furtado 7
Mapa com 4 Variáveis A B C D x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CD CD CD CD CD Células adjacentes 0 0 0 0 0 0 0 0 0 0 0 OR dos quadrados que contêm x = CD + CD + CD + CD + CD Prof. Dr. Daniel A. Furtado 8
Agrupamento e Simplificação Pares A expressão de saída pode ser simplificada combinando adequadamente os grupos de s adjacentes; Qualquer par de s adjacentes pode ser agrupado para eliminar a variável que aparece nas formas complementada e não complementada; C C C C C C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x = C + C = BC x = C + C = x = C + C = BC Prof. Dr. Daniel A. Furtado 9
Agrupamento e Simplificação Pares Expressão original x = CD + C + CD + CD 0 0 0 0 0 0 0 0 0 0 0 0 C D Os termos simplificados resultantes de cada agrupamento devem ser conectados por operações OR para formação da expressão simplificada final. x = C + D Expressão simplificada Prof. Dr. Daniel A. Furtado 0
Agrupamento e Simplificação Quartetos Um grupo de quatro s adjacentes é denominado quarteto; Quando um quarteto é agrupado, duas variáveis são eliminadas, pois elas aparecem nas formas complementada e não complementada; Sobrará apenas as variáveis que não alteram a forma considerando todas as células s do quarteto; C C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x = C x = x = BD Prof. Dr. Daniel A. Furtado
Agrupamento e Simplificação Quartetos 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x = AD x = BD Prof. Dr. Daniel A. Furtado 2
Agrupamento e Simplificação Octetos Um grupo de oito s adjacentes é denominado octeto; Quando um octeto é agrupado, três variáveis são eliminadas, pois elas aparecem nas formas complementada e não complementada; Sobrará apenas as variáveis que não alteram a forma considerando todas as células s do octeto; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x = B x = C Prof. Dr. Daniel A. Furtado 3
Agrupamento e Simplificação Octetos 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x = B x = D Prof. Dr. Daniel A. Furtado 4
Procedimento Completo de Simplificação. Construa o mapa a partir da tabela verdade ou da expressão lógica a ser simplificada; 2. Circule os s isolados (aqueles que não são adjacentes a nenhum outro ); 3. Procure os s que são adjacentes a somente um outro ; agrupe todos os pares; 4. Busque os possíveis octetos que incluam s ainda não agrupados (mesmo se uma parte dos s já tiver sido agrupada anteriormente); 5. Busque os possíveis quartetos que incluam s ainda não agrupados (mesmo se uma parte dos s já tiver sido agrupada anteriormente); 6. Agrupe os pares necessários para incluir eventuais s que ainda não tenham sido agrupados; 7. Conecte os termos simplificados de cada grupo por operações OR para formação da expressão simplificada final. OBS: nos passos 5 e 6, certifique-se de buscar o menor número possível de agrupamentos; Prof. Dr. Daniel A. Furtado 5
Procedimento de Simplificação Exemplo Simplificar: x = CD + CD + CD + CD + CD + CD 0 0 0 0 0 0 0 0 0 0 x = CD + ACD + BD Prof. Dr. Daniel A. Furtado 6
Procedimento de Simplificação Exemplo 2 0 0 0 0 0 0 0 0 0 x = + BC + ACD Prof. Dr. Daniel A. Furtado 7
Procedimento de Simplificação Exemplo 3 0 0 0 0 0 0 0 0 x = C + ACD + C + ACD Prof. Dr. Daniel A. Furtado 8
Procedimento de Simplificação Exemplo 4 0 0 0 0 0 0 0 0 x = ACD + C + C + ACD 0 0 0 0 0 0 0 0 x = D + BCD + BCD + D Prof. Dr. Daniel A. Furtado 9
Preenchendo o mapa a partir de uma expressão Um mapa de Karnaugh pode ser preenchido a partir de uma expressão booleana por meio dos passos a seguir:. Converta a expressão para a forma soma-de-produtos (caso ela ainda não esteja nesse formato); 2. Para cada mintermo da expressão, coloque um em cada célula do mapa cuja denominação inclua o mintermo; 3. Coloque 0 s nas células restantes; Prof. Dr. Daniel A. Furtado 20
Preenchendo o mapa a partir de uma expressão Exemplo. Simplificar a expressão y = C D + D + C + D. Passando para a forma soma-de-produtos, obtemos: y = CD + CD + C + D 2. Preenchendo o mapa: 0 0 0 Prof. Dr. Daniel A. Furtado 2
Preenchendo o mapa a partir de uma expressão Exemplo (cont.). Simplificar y = C D + D + C + D 3. Executar os passos de simplificação utilizando o mapa; 0 0 0 y = C + D + Expressão simplificada Prof. Dr. Daniel A. Furtado 22
Exercício Simplificar utilizando mapas de Karnaugh z = (CD) + D + BCD + CD
Exercício Solução Simplificar utilizando mapas de Karnaugh z = (CD) + D + BCD + CD Passo : colocar na forma soma-de-produtos: = C + D + D + BCD + CD [DeMorgan] = C + D + D + BCD + CD [Distribui] Passo 2: preencher o mapa a partir da expressão: 0 0 0 0 0 z = BCD + D + ACD + BC 0 0 0
Exercício 2 Simplificar utilizando mapas de Karnaugh z = AC + D + A + AC(B + C)
Exercício 2 Solução Simplificar utilizando mapas de Karnaugh z = AC + D + A + AC(B + C) Passo : colocar na forma soma-de-produtos: = A + C + D + A + (A + C)BC [DeMorgan] = A + C + D + A + C + BCC [Distribui] Passo 2: preencher o mapa a partir da expressão: z = A + C + B 0 0
Exercício 3 Determine a expressão mínima para o mapa a seguir:
Condição de Irrelevância (Don t Care) Em algumas situações, o valor de saída de um circuito lógico não é definido para algumas combinações dos valores de entrada; Nesses casos, pode-se dizer que o nível lógico da saída é irrelevante, ou seja, não importa se estará em nível alto ou em nível baixo (don t care); Utiliza-se comumente um X em tais saídas para especificar essa condição de irrelevância; O projetista do circuito é livre para fazer a saída ser 0 ou, conforme o que for mais conveniente; Prof. Dr. Daniel A. Furtado 28
Condição de Irrelevância Exemplo A tabela verdade a seguir indica que a saída z é irrelevante para as entradas A, B, C =, 0, 0 e A, B, C = 0,, Essas condições são utilizadas no mapa de Karnaugh para obtenção de uma expressão mais simples. A B C z 0 0 0 0 C C C C 0 0 0 0 0 0 0 0 0 0 0 X 0 0 X 0 0 Irrelevante (don t care) 0 X X 0 0 z = A Prof. Dr. Daniel A. Furtado 29
Condição de Irrelevância Exemplo 2 Projetar um circuito lógico para controlar a porta de um elevador de um prédio de três andares; O circuito deve considerar quatro sinais de entrada: M Indica se o elevador está em movimento () ou não (0); F, F2, F3 Um valor ALTO indica que o elevador está posicionado no respectivo andar; Exemplo: F = 0, F2 = e F3 = 0 indica que o elevador está parado ou passando pelo segundo andar; OBS : F, F2 e F3 todos iguais a 0 indica que o elevador não está adequadamente alinhado com nenhum andar; OBS 2: Duas ou mais entradas F nunca estarão simultaneamente em nível ALTO. A saída do circuito deve ser um sinal z indicando que a porta deve estar aberta (z=) ou fechada (z=0); M F F2 F3 Circuito do Elevador z (abrir) Prof. Dr. Daniel A. Furtado 30
Condição de Irrelevância Exemplo 2 M F F2 F3 z 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 X 0 0 X 0 X 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 X 0 X X MF MF MF MF F2F3 F2F3 F2F3 F2F3 0 X X X X 0 X X X 0 0 X 0 z = MF + MF2 + MF3 = M(F + F2 + F3) Expressão simplificada Prof. Dr. Daniel A. Furtado 3
Representação Alternativa Prof. Dr. Daniel A. Furtado 32
Exercício Encontrar a expressão simplificada a partir dos mapas: 0 0 0 0 0 0 0 X X 0 0 X X x = AC + BC + ACD x = B + C + AD + AD Prof. Daniel A. Furtado
Simplificação no Logisim. Abra o programa e acesse janela Análise Combinacional 2. Definição das entradas. Clique na aba Entrada e adicione as variáveis de entrada do circuito (digite o nome da variável no campo inferior e clique no botão Acrescentar); 3. Definição da saída. Clique na aba Saída e adicione o nome da variável de saída do circuito; 4. Definição da expressão. Clique na aba Expressão, digite a expressão lógica e clique no botão Entrar; Dicas: utilize o carácter ~ antes do nome da variável para indicar negação; utilize um espaço entre os nomes das variáveis; 5. Clique em Construir circuito e forneça um nome; Prof. Dr. Daniel A. Furtado 34
Simplificação no Logisim Prof. Dr. Daniel A. Furtado 35
Simplificação no Logisim Prof. Dr. Daniel A. Furtado 36
Simplificação no Logisim Prof. Dr. Daniel A. Furtado 37
Simplificação no Logisim Prof. Dr. Daniel A. Furtado 38
Referências e Recomendações TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas Digitais: princípios e aplicações..ed. São Paulo: Pearson Prentice Hall, 20. Leitura recomendada: páginas 2-2 Prof. Dr. Daniel A. Furtado 39