bitGateLab Digital · Aprenda
Português (Brasil)
Abrir o simulador

Aprenda › Tema 3

Tabelas-verdade e formas canônicas: Σm e ΠM

Leitura de 8 min · Equipe bitGateLab

Quase todos os problemas de projeto digital começam com um enunciado em palavras ("o alarme toca se...") que se converte em uma tabela-verdade. O passo seguinte é tirar dessa tabela uma equação que você possa construir com portas. Aqui você vai aprender o método sistemático para fazer isso: os mintermos e maxtermos, as formas canônicas de soma de produtos e produto de somas, e a notação compacta Σm e ΠM usada nos livros, nos simuladores e nos mapas de Karnaugh.

Como se ordena uma tabela-verdade

Com n variáveis há 2n linhas. Elas são escritas em ordem binária crescente, com a primeira variável como bit mais significativo. Assim, cada linha fica identificada por um número decimal: em uma tabela de A, B e C, a linha A = 1, B = 0, C = 1 é a 1012 = 5. Esse número é o que você vai usar como índice de mintermo ou maxtermo, portanto a ordem das variáveis importa: se você muda a ordem, mudam os números.

Mintermos e soma de produtos

Um mintermo é um produto (AND) que contém todas as variáveis, cada uma delas uma única vez, negada ou não. Ele é montado assim: a variável que vale 1 naquela linha vai sem barra e a que vale 0 vai com barra. O mintermo vale 1 unicamente na sua linha e 0 em todas as outras. É chamado de mi, em que i é o número da linha.

LinhaABCMintermoMaxtermo
0000m0 = ABCM0 = A + B + C
1001m1 = ABCM1 = A + B + C
2010m2 = ABCM2 = A + B + C
3011m3 = ABCM3 = A + B + C
4100m4 = ABCM4 = A + B + C
5101m5 = ABCM5 = A + B + C
6110m6 = ABCM6 = A + B + C
7111m7 = ABCM7 = A + B + C

Se você soma (OR) os mintermos de todas as linhas em que a função vale 1, obtém uma equação que vale 1 exatamente nessas linhas. Essa é a soma de produtos canônica (SOP, da sigla em inglês) ou primeira forma canônica. Em notação compacta, escreve-se F = Σm(lista de linhas com 1).

Maxtermos e produto de somas

Um maxtermo é uma soma (OR) que contém todas as variáveis. A regra é a oposta: a variável que vale 0 na linha vai sem barra e a que vale 1 vai com barra. Um maxtermo vale 0 unicamente na sua linha. É chamado de Mi (com M maiúsculo).

Se você multiplica (AND) os maxtermos de todas as linhas em que a função vale 0, obtém uma equação que vale 0 exatamente ali e 1 no restante: o produto de somas canônico (POS) ou segunda forma canônica. Escreve-se F = ΠM(lista de linhas com 0).

O mintermo e o maxtermo da mesma linha são complementos: mi = Mi. Por isso, se você conhece a lista Σm de uma função, a lista ΠM é formada por todos os números que não aparecem nela.

Exemplo 1: da tabela às duas formas. Uma função de três variáveis vale 1 nas linhas 1, 3, 6 e 7.

#ABCF
00000
10011
20100
30111
41000
51010
61101
71111
  1. Notação compacta: F = Σm(1, 3, 6, 7) = ΠM(0, 2, 4, 5).
  2. Soma de produtos canônica: F = ABC + ABC + ABC + ABC.
  3. Produto de somas canônico: F = (A + B + C)(A + B + C)(A + B + C)(A + B + C).
  4. Simplifique a SOP: ABC + ABC = AC e ABC + ABC = AB. Assim, F = AC + AB.

Verificação na linha 5 (A = 1, B = 0, C = 1): AC = 0 e AB = 0, portanto F = 0, como na tabela.

Qual forma é mais conveniente?

As duas formas descrevem a mesma função, mas não têm o mesmo tamanho. Use a que tiver menos termos: se a função tem poucos uns, a Σm é mais curta; se tem poucos zeros, a ΠM é mais curta. Com 8 linhas, uma função com 2 uns tem uma SOP de 2 termos e uma POS de 6.

A implementação também importa. Uma soma de produtos é montada com portas AND que alimentam uma OR, e essa estrutura de dois níveis se converte diretamente em NAND-NAND. Um produto de somas é montado com portas OR que alimentam uma AND, e se converte em NOR-NOR.

Exemplo 2: do enunciado à equação. Um tanque tem três sensores de nível: A (baixo), B (médio) e C (alto). Cada sensor dá 1 quando a água o alcança. Uma lâmpada de "nível inválido" deve acender quando a combinação é fisicamente impossível: um sensor mais alto ativo com um mais baixo inativo.

  1. Combinações válidas (ABC): 000, 100, 110, 111. Ou seja, linhas 0, 4, 6 e 7.
  2. A lâmpada acende nas demais: F = Σm(1, 2, 3, 5).
  3. Equivalente: F = ΠM(0, 4, 6, 7).
  4. Simplifique: m1 + m3 = AC, m1 + m5 = BC, m2 + m3 = AB. Usando m1 e m3 duas vezes (idempotência), F = BC + AB.

Confira: a linha 1 (001) dá BC = 1; a linha 2 (010) dá AB = 1; a linha 3 (011) dá AB = 1; a linha 5 (101) dá BC = 1. Em 000, 100, 110 e 111 os dois termos valem 0. Lê-se "C ativo sem B" ou "B ativo sem A".

O complemento de uma função

Se F = Σm(1, 3, 6, 7), seu complemento vale 1 onde F vale 0: F = Σm(0, 2, 4, 5). Isso é útil quando você quer a POS simplificada: simplifica F como soma de produtos e depois aplica De Morgan. Por exemplo, F = AC + AB (confira com as linhas 0, 2, 4 e 5), e ao complementar fica F = (A + C)(A + B). Se você multiplica: AB + AC + BC, e pelo consenso isso é AB + AC, o mesmo resultado do exemplo 1.

Para se aprofundar nessas manipulações, revise a álgebra de Boole; para simplificar de forma gráfica, continue com os mapas de Karnaugh.

Erros comuns

Experimente no simulador

O módulo de tabela-verdade permite inserir uma função linha por linha e ver de imediato suas formas canônicas e a equação simplificada, de modo que você pode conferir cada passo feito à mão.

  1. Crie uma tabela de três entradas e uma saída.
  2. Marque com 1 as linhas 1, 3, 6 e 7 do exemplo 1 e deixe o restante em 0.
  3. Observe as expressões Σm e ΠM geradas e compare-as com as suas.
  4. Converta a tabela em circuito e mude as entradas para confirmar que a saída segue a tabela.
  5. Repita com o problema do tanque e verifique se a lâmpada acende somente nas combinações impossíveis.

Exercícios

  1. Escreva o mintermo m9 e o maxtermo M9 de uma função de quatro variáveis A, B, C, D.
    Resposta

    9 = 1001. m9 = ABCD e M9 = A + B + C + D.

  2. Se F(A, B, C) = Σm(0, 1, 5), escreva F em notação ΠM.
    Resposta

    F = ΠM(2, 3, 4, 6, 7).

  3. Obtenha a soma de produtos canônica de uma função de duas variáveis que vale 1 somente quando A e B são iguais, e simplifique-a se for possível.
    Resposta

    F = Σm(0, 3) = AB + AB. Não se reduz: é a XNOR.

  4. Escreva o produto de somas canônico de F(A, B, C) = Σm(1, 2, 3, 4, 5, 6, 7).
    Resposta

    Só vale 0 na linha 0, portanto F = ΠM(0) = A + B + C. Uma única OR de três entradas.