8

Formas SOP e POS

Introdução8.1

Nos capítulos anteriores, você aprendeu que a tabela-verdade é a "impressão digital" de um circuito, descrevendo exaustivamente seu comportamento para todas as combinações possíveis de entrada. No entanto, para construirmos esse circuito fisicamente ou iniciarmos um processo de simplificação, precisamos traduzir essa tabela de volta para uma linguagem algébrica.

Existem duas formas padronizadas fundamentais para realizar essa tradução: a Soma-de-Produtos (SOP) e o Produto-de-Somas (POS). A escolha entre uma ou outra depende frequentemente da nossa estratégia de análise, se estamos interessados nos cenários onde o circuito ativa (nível 1) ou onde ele desativa (nível 0).

Soma-de-Produtos (SOP)8.2

A forma de Soma-de-Produtos é a estrutura mais comum que utilizaremos ao longo da disciplina. Nela, nosso foco está em descrever matematicamente todos os cenários que fazem a saída do circuito ser verdadeira.

Uma expressão SOP consiste em dois ou mais termos AND (produtos) conectados por uma operação OR (soma). Veja alguns exemplos abaixo:

  1. $ABC + \bar{A}B\bar{C}$
  2. $AB + A\bar{B}C + \bar{C}\bar{D}$

Para extrair a expressão SOP de uma tabela-verdade, você deve focar exclusivamente nas linhas onde a saída é ALTO (1). Cada uma dessas linhas gera o que chamamos de "mintermo", um pequeno produto que representa aquela combinação específica.

A lógica por trás da regra

Em uma porta AND, a saída só é 1 se todas as entradas forem 1. Portanto, se uma variável na tabela for 0 para a linha que estamos analisando, precisamos invertê-la (barrá-la) para que ela se torne 1 e habilite a porta AND.

  • Se a entrada for 1 $\rightarrow$ Mantenha a variável normal ($A$).
  • Se a entrada for 0 $\rightarrow$ Use a variável complementada ($\bar{A}$).

Ao final, somamos (conectamos com uma porta OR) todos os mintermos, pois o circuito deve ligar se a primeira combinação acontecer OU se a segunda acontecer OU se a terceira acontecer, e assim por diante. Note que isso ocorre porque estamos interessados em descrever com expressão booleana as linhas onde a tabela teve uma saída alta.

Observe que cada linha da tabela-verdade representa um número binário, formado pelas entradas do circuito. Esse número binário pode ser convertido para decimal, gerando o índice da linha, que identifica unicamente o mintermo:

  • Exemplos:
    • $\bar{A} \bar{B} C = 0\ 0\ 1 \Rightarrow 001_2 = 1_{10} \Rightarrow m_1$
    • $A \bar{B} C = 1\ 0\ 1 \Rightarrow 101_2 = 5_{10} \Rightarrow m_5$
    • $A B C = 1\ 1\ 1 \Rightarrow 111_2 = 7_{10} \Rightarrow m_7$

É exatamente desses índices decimais que surge a notação compacta em somatório. Ou seja, colocamos um somatório para todos os mintermos da tabela. Vejamos um exemplo para compreendermos melhor como utilizar essa notação.

Dica para lembrar

Para facilitar pense na forma SOP como "Saída é 1 se a Linha X acontecer OU a Linha Y acontecer..."


Problema: Considere a tabela-verdade abaixo para um circuito de 3 entradas. Determine a expressão lógica na forma de Soma-de-Produtos (SOP) e sua notação compacta.

$$ \begin{array}{c|c|c|c|c} \text{Índice} & A & B & C & \text{Saída (X)} \\ \hline 0 & 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 1 & \mathbf{1} \\ 2 & 0 & 1 & 0 & 0 \\ 3 & 0 & 1 & 1 & \mathbf{1} \\ 4 & 1 & 0 & 0 & 0 \\ 5 & 1 & 0 & 1 & 0 \\ 6 & 1 & 1 & 0 & \mathbf{1} \\ 7 & 1 & 1 & 1 & 0 \\ \end{array} $$

Solução:

Primeiro, ignoramos qualquer linha onde a saída é 0, portanto, focaremos apenas nas três linhas onde temos a saída $X=1$:

  1. Analisando a Linha de índice 1 (0, 0, 1):
    • Temos $A=0$ e $B=0$. Para que a porta AND detecte isso como "verdadeiro", precisamos inverter ambos; além disso, temos $C=1$, então mantemos como está. Termo resultante: $\bar{A}\bar{B}C$ (mintermo $m_1$)

  2. Analisando a Linha de índice 3 (0, 1, 1):
    • Apenas $A=0$ enquanto os outros termos são iguais a $1$. Dessa maneira, apenas o $A$ receberá a barra (negação). Termo resultante: $\bar{A}BC$ (mintermo $m_3$)

  3. Analisando a Linha de índice 6 (1, 1, 0):
    • Apenas $C=0$, logo o C será negado. Termo resultante: $AB\bar{C}$ (mintermo $m_6$)

Para finalizar, montamos a equação completa somando essas três condições:

$$ \boxed{X = \underbrace{\bar{A}\bar{B}C}_{m_1} + \underbrace{\bar{A}BC}_{m_3} + \underbrace{AB\bar{C}}_{m_6}} $$


Escrever todas as letras pode ser trabalhoso em circuitos grandes. Por isso, utilizamos frequentemente a notação de Somatório ($\Sigma$). Note que cada linha da tabela corresponde a um valor binário que pode ser convertido para decimal (ex: $001_2 = 1_{10}$, $110_2 = 6_{10}$). Podemos reescrever a solução do problema anterior listando apenas os índices decimais onde a saída é 1:

$$ X = \sum m(1, 3, 6) $$

Isso significa: "A saída X é a soma dos mintermos das posições 1, 3 e 6". Essa notação se chama forma canônica, nesse caso, forma canônica da soma de produtos.


Produto-de-Somas (POS)8.3

A forma de Produto-de-Somas opera com a lógica inversa (ou dual). Ela é utilizada quando queremos mapear os zeros da função, ou seja, definir o que faz o circuito desligar. Uma expressão POS consiste em termos OR (somas) conectados por uma operação AND (produto). Veja alguns exemplos abaixo:

  1. $(A + B + C)(A + \bar{C})$
  2. $(A + B)(\bar{C} + D)$

Para obter a forma POS, olhamos para as linhas onde a saída é BAIXO (0) e, assim como na forma SOP, chamamos esses termos gerados por cada linha por um nome especial: "maxtermos".

A lógica por trás da regra

Em uma porta OR, a saída só é 0 se todas as entradas forem 0. Portanto, se uma variável na tabela for 1, precisamos invertê-la para que ela se torne 0 e não force a saída da porta OR para nível alto.

  • Se a entrada for 0 $\rightarrow$ Mantenha a variável normal ($A$).
  • Se a entrada for 1 $\rightarrow$ Use a variável complementada ($\bar{A}$).

Problema: Utilize a mesma tabela-verdade do exemplo anterior para determinar a expressão na forma de Produto-de-Somas e sua notação compacta.

$$ \begin{array}{c|c|c|c|c} \text{Índice} & A & B & C & \text{Saída (X)} \\ \hline 0 & 0 & 0 & 0 & \mathbf{0} \\ 1 & 0 & 0 & 1 & 1 \\ 2 & 0 & 1 & 0 & \mathbf{0} \\ 3 & 0 & 1 & 1 & 1 \\ 4 & 1 & 0 & 0 & \mathbf{0} \\ 5 & 1 & 0 & 1 & \mathbf{0} \\ 6 & 1 & 1 & 0 & 1 \\ 7 & 1 & 1 & 1 & \mathbf{0} \\ \end{array} $$

Solução Passo a Passo:

Agora, nosso foco será nas linhas onde a saída é 0, como a forma POS é dual à forma SOP, pegaremos as linhas onde a saída é zero e iremos colocar as variáveis que são 1 como negadas.

  1. Linha 0 (0, 0, 0):
    • Todas as entradas já são 0. Logo, podemos obter o maxtermo apenas somando todas as variáveis.Termo resultante: $(A + B + C)$

  2. Linha 2 (0, 1, 0):
    • O $B$ está em 1. Precisamos invertê-lo para $\bar{B}$ para que ele vire 0 na lógica. Termo soma: $(A + \bar{B} + C)$

  3. Linha 4 (1, 0, 0):
    • O $A$ é 1, então ele recebe a barra. Termo soma: $(\bar{A} + B + C)$

  4. Linha 5 (1, 0, 1):
    • $A$ e $C$ são 1. Termo soma: $(\bar{A} + B + \bar{C})$

  5. Linha 7 (1, 1, 1):
    • Todas são 1. Todas devem ser invertidas. Termo soma: $(\bar{A} + \bar{B} + \bar{C})$

A expressão final é o produto (AND) de todas essas somas:

$$ \boxed{X = (A+B+C)(A+\bar{B}+C)(\bar{A}+B+C)(\bar{A}+B+\bar{C})(\bar{A}+\bar{B}+\bar{C})} $$

Assim como na soma, podemos simplificar essa expressão listando apenas os índices onde a saída é 0. Utilizamos o símbolo de Produtório ($\Pi$) para indicar a multiplicação dos maxtermos ($M$):

$$ X = \prod M(0, 2, 4, 5, 7) $$

Isso significa: "A saída X é o produto dos maxtermos das posições 0, 2, 4, 5 e 7". Note que as posições aqui são obtidas da mesma forma que no SOP, contudo, invertemos o valor que seria o nível alto. Novamente, essa notação se chama forma canônica, nesse caso, forma canônica do produto de somas.


Equivalência Lógica

Você pode notar que a expressão POS ficou muito maior que a SOP neste exemplo. Isso aconteceu porque a tabela tinha mais zeros (5 linhas) do que uns (3 linhas). Embora as expressões pareçam visualmente diferentes, elas representam exatamente a mesma lógica eletrônica. Na prática, escolhemos a forma que gera a menor equação inicial.

Convertendo entre SOP e POS8.4

Uma dúvida comum que pode surgir agora é: "Se eu já tenho uma expressão em Soma-de-Produtos (SOP), preciso montar a tabela-verdade inteira novamente para encontrar o Produto-de-Somas (POS)?". A resposta é não. Existe uma relação direta e complementar entre as duas formas que permite a conversão rápida através da notação compacta que acabamos de aprender.

Para entender isso, lembre-se do conceito fundamental:

  • SOP ($\Sigma$) representa os locais (índices) onde a saída é 1.
  • POS ($\Pi$) representa os locais (índices) onde a saída é 0.

Como o sistema é binário, uma linha da tabela ou é 0 ou é 1. Elas nunca se sobrepõem e, juntas, completam a tabela inteira.

A Regra de Ouro:

O conjunto de índices da forma POS é exatamente composto pelos números que não aparecem na forma SOP, e vice-versa.


Vamos retomar o exemplo que usamos anteriormente. Imagine que nos foi dado apenas a expressão SOP para um sistema de 3 variáveis.

$$ X = \Sigma(1, 3, 6) $$

  1. Defina o Universo: Como são 3 variáveis ($A, B, C$), temos $2^3 = 8$ combinações possíveis. Os índices vão de 0 a 7.
  2. Identifique Ausentes: A SOP ocupa os índices 1, 3 e 6, portanto, sobraram: 0, 2, 4, 5, 7 que são os índices da forma POS.

Logo, a expressão POS equivalente é automaticamente: $$ X = \prod M(0, 2, 4, 5, 7) $$

Simples assim. Se você tiver os números, basta escrever os maxtermos correspondentes a esses números (respeitando a regra de inversão do POS) e você terá a equação completa sem precisar desenhar nenhuma tabela.

Questões8.5

  1. Analise as expressões abaixo e classifique-as rigorosamente como SOP, POS ou Nenhuma das Duas:
    • a) $X = AB + \bar{C}D$
    • b) $Y = (A + B)(\bar{C} + D)$
    • c) $Z = A(B + C) + D$
    • d) $W = \overline{AB} + C$

  2. Dada a tabela-verdade reduzida abaixo, extraia a expressão lógica na forma Soma-de-Produtos (SOP) e escreva sua notação de somatório $\Sigma$.

$$ \begin{array}{c|c|c} A & B & Y \\ \hline 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\ \end{array} $$

  1. Utilizando a mesma tabela da questão 2, extraia a expressão na forma Produto-de-Somas (POS) e escreva sua notação de produtório $\Pi$.

  2. Explique o raciocínio lógico de por que, na forma POS, invertemos uma variável de entrada quando seu valor é 1? Qual é o objetivo desse termo "soma" em relação à porta OR?

  3. Uma tabela-verdade possui 16 linhas (4 variáveis, índices 0 a 15). Se a expressão SOP é dada por $S = \Sigma(0, 2, 5, 8, 10, 15)$, qual seria a lista de índices para a expressão POS correspondente?

  4. Converta a seguinte expressão POS para SOP: $Y = \Pi(1, 4, 7)$ em um sistema de 3 variáveis. Escreva a equação algébrica final da forma SOP.

  5. Converta a seguinte descrição de um sistema de segurança para uma expressão SOP: "O alarme (S) dispara (=1) quando o sensor da porta (A) está ativado (1) E o sensor da janela (B) está desativado (0), OU quando o botão de pânico (C) é pressionado (1)".

  6. Escreva o mintermo simbólico ($m_x$) correspondente à linha de uma tabela-verdade onde as entradas são $A=1, B=0, C=1$. (Dica: Converta o binário para decimal).

  7. Escreva o maxtermo simbólico ($M_x$) correspondente à linha de uma tabela-verdade onde as entradas são $A=0, B=0, C=0$.

  8. Se você tem um circuito descrito pela expressão SOP $X = \bar{A}B + A\bar{B}$ (função Exclusive-OR), construa a tabela-verdade dele e determine se a quantidade de mintermos é igual à quantidade de maxtermos.

  9. Dada a equação $X = \Sigma m(0, 1, 2, 3, 4, 5, 6, 7)$ para um sistema de 3 variáveis, qual é o valor constante da saída X? (Dica: se todos os cenários ligam o circuito...).

  10. A expressão $X = (A+B)(C+D) + E$ é uma forma válida de POS puro? Justifique sua resposta analisando a estrutura de somas e produtos.

Próximos passos8.6

No próximo capítulo, Laboratório I - Formas SOP, POS e Tabelas Verdades, você participará de um laboratório prático dedicado ao desenho e à implementação de circuitos digitais a partir das formas canônicas SOP e POS, utilizando também tabelas-verdade como ponto de partida. Esse laboratório servirá como uma etapa fundamental para consolidar os conceitos estudados, conectar teoria e prática e esclarecer dúvidas sobre a conversão entre representações lógicas e sua implementação em circuitos reais.