Prévia do material em texto
Mapa de Karnaugh com condições que não importam 1) O que são condições que não importam (Don't-care conditions)? A soma lógica de mintermos associada com uma função Booleana especifica as condições sob as quais a função é igual a 1. A função será igual a zero para o resto dos mintermos. Isto assume que todas as combinações dos valores para as variáveis da função são válidas. Na prática, existem algumas aplicações onde a função não é especificada para certas combinações de variáveis de entrada. Como um exemplo, vejamos a identificação dos algarismos da base 5 que são pares. Neste caso, só existem 5 possibilidades a verificar, se forem usadas três variáveis, poderemos representar até 8 algarismos binários diferentes. As possibilidades 5, 6, 7, não precisam ser verificadas, porque elas não existem na base 5, serão avaliadas apenas as combinações de 0 a 4, sendo constatados 3 casos iguais a 1 e 2 iguais a zero. Os casos 5, 6, 7, são as condições que não importam, se a considerarmos 0 ou 1, a função será executada adequadamente. Funções que têm saídas não especificadas para algumas combinações de entrada são chamadas funções incompletamente especificadas. Na maioria das aplicações, nós apenas desprezamos, ou não nos importamos com qual valor será assumido pela função para os mintermos não especificados. As condições que não importam podem ser usadas no mapa para fornecer maiores simplificações na expressão Booleana. Pode-se imaginar que as condições que não importam sejam combinações de variáveis cujos valores lógicos não são especificados. Elas não podem ser marcadas com 1 no mapa porque seria necessário que a função fosse sempre 1 para estas combinações. Por outro lado, colocar um 0 no quadrado correspondente requer que a função seja zero. Para distinguir a condição que não importa das condições 1 e 0, um X é usado. Portanto, um X dentro de um quadrado (célula) no mapa de Karnaugh indica que não nos importa se o valor da função será 0 ou 1 para aquela combinação de entradas. Quando formos escolher células adjacentes para simplificar a função no mapa, os mintermos correspondentes às condições que não importam podem ser considerados como 1 ou como 0, dependendo de qual combinação fornece a melhor simplificação. 2) Exemplo Identificar os números pares no conjunto dos algarismos da base 5 Utilizando 3 variáveis de entrada, teremos 8 combinações possíveis que levam às seguintes condições: • Condições que resultam em 1: 0, 2, 4. • Condições que resultam em 0: 1, 3. • Condições que não importam: 5, 6, 7. A tabela verdade do identificador será: A B C S 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 X 1 1 0 X 1 1 1 X O Mapa de Karnaugh correspondente a esta tabela é: B' B A' 1 0 0 1 A 1 X X X C' C C' a) Se considerarmos as condições que não importam todas como 0, teremos a seguinte simplificação: B' B A' 1 0 0 1 A 1 0 0 0 C' C C' S = AB' + A'C' Correspondendo aos conjuntos com números de fundo azul e às células amarelas respectivamente. b) Se considerarmos as condições que não importam todas como 1, teremos a seguinte simplificação: B' B A' 1 0 0 1 A 1 1 1 1 C' C C' S = A + C' Correspondendo aos conjuntos com números de fundo azul e às células amarelas respectivamente. É uma expressão mais simples que a primeira. c) Finalmente se considerarmos tomarmos como 1 ou 0 as condições que não importam em células mais adequadas, teremos a seguinte simplificação: B' B A' 1 0 0 1 A 1 0 0 1 C' C C' S = C' Que é a expressão mais simples das três. 3) Exemplo Identificar os números primos no conjunto dos algarismos decimais Utilizando 4 variáveis de entrada, teremos 16 combinações possíveis que levam às seguintes condições: • Condições que resultam em 1: 2 (0010), 3 (0011), 5 (0101), 7 (0111). • Condições que resultam em 0: 0 (0000), 1 (0001), 4 (0100), 6 (0110), 8 (1000), 9 (1001). • Condições que não importam: 10(1010), 11(1011), 12(1100), 13(1101), 14(1110), 15(1111). A tabela verdade do identificador será: A B C D S 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 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 X 1 0 1 1 X 1 1 0 0 X 1 1 0 1 X 1 1 1 0 X 1 1 1 1 X Veja que, embora existam 16 combinações possíveis para as variáveis de entrada, somente 10 delas nos interessam, visto que são somente 10 os algarismos decimais. Se as outras combinações forem identificadas como primos ou não primos, não nos importa. O Mapa de Karnaugh correspondente a esta tabela é: C' C 0 0 1 1 B' A' 0 1 1 0 B A X X X X 0 0 X X B' D' D D' Embora seja possível se fazer 3 grupos de 4 células, basta tomarmos apenas 2 desses grupos para obtermos a melhor simplificação. C' C 0 0 1 1 B' A' 0 1 1 0 B A X X X X 0 0 X X B' D' D D' A melhor simplificação será: S = B'C + BD. Os dois termos correspondem respectivamente aos grupos amarelo e verde. O outro grupo de quatro células é o CD, correspondendo aos elementos em vermelho, mas este termo é desnecessário uma vez que todos os seus elementos iguais a 1 já estão incluídos nos dois grupos já formados. 4) Decodificadores No início do desenvolvimento da eletrônica digital, vários códigos numéricos foram desenvolvidos com finalidades específicas, principalmente para representar os números decimais. O código mais conhecido por nós é o BCD8421. Além deste, existem outros como o Excesso_3, 2_entre_5, Johnson, Gray. O decodificador é um circuito combinacional que faz a tradução de um código binário para outro. Se quisermos transcrever um número binário escrito em BCD8421 para sua representação em Excesso_3, deveremos construir um decodificador BCD8421/Excesso_3. As tabelas abaixo indicam as formações dos dois códigos. Decimal BCD8421 Decimal Excesso_3 0 0000 0 0011 1 0001 1 0100 2 0010 2 0101 3 0011 3 0110 4 0100 4 0111 5 0101 5 1000 6 0110 6 1001 7 0111 7 1010 8 1000 8 1011 9 1001 9 1100 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 Verifica-se que o código BCD8421 representa os números de 0 a 15, enquanto o Excess0_3 representa apenas de 0 a 9. Para fazermos um conversor de BCD para Excesso_3, devemos inicialmente construir a Tabela Verdade do Decodificador. BCD 8421 Excesso_3 A B C D a b c d 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 X X X X 1 0 1 1 X X X X 1 1 0 0 X X X X 1 1 0 1 X X X X 1 1 1 0 X X X X 1 1 1 1 X X X X Para cada variável componente do código Excesso_3 deverá ser construído um circuito lógico decodificador, portanto, teremos que fazer 4 mapas de Karnaugh para obtermos as expressões simplificadas de a, b, c, d. a C' C 0 0 0 0 B' A' 0 1 1 1 B A X X X X 1 1 X X B' D' D D' a = A + BC + BD b C' C 0 1 1 1 B' A' 1 0 0 0 B A X X X X 0 1 X X B' D' D D' b = B'C + B'D + BC'D' c C' C 1 0 1 0 B' A' 1 0 1 0 B A X X X X 1 0 X X B' D' D D' c = C'D' + CD d C' C 1 0 0 1 B' A' 1 0 0 1 B A X X X X 1 0 X X B' D' D D' d = D' O diagrama esquemático do circuito lógico do decodificador BCD8421/Excesso_3 é representado no desenho abaixo. 5) Desafio: Projetar o circuito decodificador Excesso_3/BCD8421