Sistemas Digitais

Tabela-Verdade, Circuitos Lógicos e Formas Canônicas

Professor: Gabriel Soares Baptista

Introdução à Lógica Booleana

  • Fundamentos: Criada por George Boole em 1854, utiliza símbolos para representar e simplificar decisões lógicas.
  • Sistema Binário: Baseado em apenas duas condições: verdadeiro (1) ou falso (0).
  • Constantes e Variáveis: Diferente da álgebra convencional, as variáveis booleanas representam níveis de tensão (baixo ou alto).
  • Domínio Técnico: Ferramenta essencial para descrever a relação entre as entradas e saídas de qualquer circuito digital.

Tabela-Verdade

  • Definição: Forma organizada de relacionar todas as combinações de entrada com o nível lógico de saída correspondente.
  • Escalabilidade: Uma tabela com $N$ entradas possui $2^N$ combinações possíveis.
  • Organização: As linhas são organizadas como uma contagem binária para garantir que nenhuma combinação seja esquecida.
Exemplos de tabelas-verdade para 2, 3 e 4 entradas

Operação OR (OU) de 2 Entradas

  • Lógica: A saída será nível 1 se qualquer entrada for 1.
  • Regra de Saturação: Na lógica booleana, $1 + 1 = 1$.

$$\begin{array}{cc||c} A & B & x = A + B \\ \hline 0 & 0 & 0 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 1 \\ \end{array}$$

2026-04-06T17:52:22.205405 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x A B

$$x = A + B$$

Operação OR (OU) de 3 Entradas

  • Escalabilidade: A saída permanece 1 se houver ao menos um sinal ativo em qualquer entrada.
  • Expressão: $x = A + B + C$.

$$\begin{array}{ccc||c} A & B & C & x = A + B + C \\ \hline 0 & 0 & 0 & 0 \\ \text{Outras combinações} & \dots & \dots & 1 \\ 1 & 1 & 1 & 1 \end{array}$$

2026-04-06T17:52:22.217879 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x A B C

$$x = A + B + C$$

Operação AND (E) de 2 Entradas

  • Lógica: A saída será nível 1 somente se todas as entradas forem 1 simultaneamente.
  • Seletividade: Funciona exatamente como a multiplicação convencional de 0s e 1s.

$$\begin{array}{cc||c} A & B & x = AB \\ \hline 0 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \\ \end{array}$$

2026-04-06T17:52:22.228724 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x A B

$$x = AB$$

Operação AND (E) de 3 Entradas

  • Regra de Ouro: A saída atinge o nível lógico 1 somente se todas as entradas forem simultaneamente 1.
  • Expressão: $x = ABC$.

$$\begin{array}{ccc||c} A & B & C & x = ABC \\ \hline 0 & 0 & 0 & 0 \\ \text{Até} & \dots & \dots & 0 \\ 1 & 1 & 1 & 1 \end{array}$$

2026-04-06T17:52:22.243163 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x A B C

$$x = ABC$$

Operação NOT (NÃO)

  • Lógica: Operação unária (entrada única) que inverte o nível lógico (Inversor).
  • Inversão: O inversor sempre fornece na saída o oposto do que foi aplicado na entrada.

$$\begin{array}{c||c} A & x = \bar{A} \\ \hline 0 & 1 \\ 1 & 0 \end{array}$$

2026-04-06T17:52:22.254134 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x A

$$x = \bar{A}$$

Questões de fixação - 1 / 3

  1. Considere um componente digital cuja tabela-verdade completa ocupa 64 linhas.
  • a) Calcule o número exato de variáveis de entrada desse sistema.
  • b) Explique por que a tabela-verdade é considerada uma ferramenta inviável para analisar circuitos com grande número de entradas (ex: 32 bits).

  1. Ao aplicar um sinal de clock (pulsos alternados 0 e 1) na entrada de uma porta NOT, o que ocorre com a forma de onda na saída em relação à entrada? Desenhe a forma de onda para 3 ciclos de clock (3 sinais degrau) demonstrando a relação entrada/saída.

  1. Dada a expressão lógica de saída $S = (A + B) \cdot C$:
  • a) Descreva a condição lógica necessária para $S=1$ in linguagem natural.
  • b) O sistema será acionado se tivermos $A=1$ e $B=1$, mas $C=0$? Justifique sua resposta.

Precedência de Operadores

A ordem de execução padrão do hardware para evitar ambiguidades é:

  1. NOT: Complemento de variáveis individuais ou termos.
  2. AND: Produto lógico de variáveis.
  3. OR: Soma lógica de variáveis.
Parênteses e Colchetes

Devem ser usados para forçar operações de menor prioridade (como o OR) a serem executadas antes do produto (AND).

Inversão na Entrada vs. Saída

A posição da "bolinha" de inversão altera completamente a expressão algébrica:

Inversão na Entrada
A entrada $A$ é negada antes de chegar à porta OR.

2026-04-06T17:52:22.268179 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x B A

$$x = \bar{A} + B$$

Inversão na Saída (Porta NOR)
A soma lógica é realizada primeiro, e o resultado é invertido.

2026-04-06T17:52:22.281877 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x A B

$$x = \overline{A + B}$$

Construção por Blocos: Circuito (a)

Circuitos complexos são construídos rastreando os termos da esquerda para a direita:

  • Bloco Superior (AND): Processa $A, B$ e $C$, resultando em $ABC$.
  • Bloco Inferior (OR): Processa a variável compartilhada $A$ e a entrada $D$, resultando em $(A + D)$.
  • Estágio Final (AND): Une os dois blocos.
2026-04-06T17:52:22.300003 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x A B C A D

$$x = ABC(A + D)$$

Construção por Blocos: Circuito (b)

A estrutura física dita a hierarquia da expressão algébrica:

  1. Núcleo Interno: Porta OR superior entre $A$ e $B$.
  2. Multiplicação Intermediária: Resultado $(A + B)$ multiplicado por $C$.
  3. Soma do Bloco: Esse conjunto é somado a $D$.
  4. Saída Final: Todo o bloco processado com $E$ em uma porta AND final.
2026-04-06T17:52:22.373101 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x E D C A B

$$x = [D + (A + B)C] \cdot E$$

Avaliando Saídas de Circuitos

O valor da saída $x$ é encontrado substituindo as variáveis e respeitando a hierarquia.

Exemplo: $x = \bar{A}BC(\overline{A+D})$ para $A=0, B=1, C=1, D=1$

$$\begin{split} &\text{1. Substituição:} \; x = \bar{0} \cdot 1 \cdot 1 \cdot (\overline{0+1}) \\[6pt] &\text{2. Resolve Inversões e Parênteses:} \; x = 1 \cdot 1 \cdot 1 \cdot (\bar{1}) \\[6pt] &\text{3. Finalização:} \; x = 1 \cdot 1 \cdot 1 \cdot 0 = \boxed{0} \end{split}$$

Análise por Nós Intermediários

Para diagnóstico de falhas, mapeamos pontos de passagem ($u, v, w$) na Tabela-Verdade.

$$\begin{array}{ccc||c|c|c||c} A & B & C & u = \bar{A} & v = u \cdot B & w = B \cdot C & x = v + w \\ \hline 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 1 & 0 & 1 \\ 0 & 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 0 & 1 & 1 \\ \end{array}$$

2026-04-06T17:52:22.417730 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ A u A = B C v A B = w B C = x

Implementação a partir de Expressões

Partindo de $y = AC + B\bar{C} + \bar{A}BC$, montamos primeiro o OR final e depois seus alimentadores.

2026-04-06T17:52:22.445093 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ AC B C A B C y

Identifique primeiro as portas cujas entradas vêm diretamente das variáveis externas (parênteses internos).

Portas Universais: NOR e NAND

São formadas pela combinação das operações fundamentais com uma inversão final.

  • NOR: Saída ALTA apenas quando todas as entradas forem 0.
  • NAND: Saída BAIXA apenas quando todas as entradas forem 1.
São formadas pela combinação das operações fundamentais com uma inversão final. Porta NOR e Tabela Porta NAND e Tabela

Análise de Formas de Onda (NAND)

A saída NAND permanece em nível alto e só cai para zero quando ambas as entradas são ativas simultaneamente.

TempoABNAND
2026-04-06T17:52:22.387211 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ x A B

Questões de fixação - 2 / 3

  1. Com base nas regras de precedência, determine a ordem de execução para as expressões $\overline{A + B}$ e $\bar{A} + \bar{B}$, identificando qual delas corresponde fisicamente a uma porta NOR e qual representa uma porta OR com entradas invertidas.

  1. Para o circuito definido por $x = \bar{A}BC(\overline{A+D})$, calcule os níveis lógicos dos nós intermediários $\bar{A}$ e $(\overline{A+D})$, bem como a saída final $x$, dado o vetor de entrada $A=0, B=1, C=1, D=0$. (Monte a linha da tabela verdade).

Soma-de-Produtos (SOP)

Utilizada para descrever cenários onde a saída do circuito é ALTA (1).

  • Mintermos ($m$): Cada linha onde a saída é 1 gera um produto.

  • Regra:

    • Entrada 0 $\rightarrow$ Variável barrada ($\bar{A}$).
    • Entrada 1 $\rightarrow$ Variável normal ($A$).
  • Notação: $X = \Sigma m(1, 3, 6)$.

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

Produto-de-Somas (POS)

Utilizada para mapear os zeros (0) da função, definindo o que desativa o circuito.

  • Maxtermos ($M$): Cada linha onde a saída é 0 gera uma soma.

  • Regra Dual:

    • Entrada 0 $\rightarrow$ Variável normal ($A$).
    • Entrada 1 $\rightarrow$ Variável barrada ($\bar{A}$).
  • Notação: $X = \Pi M(0, 2, 4, 5, 7)$.

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

Conversão Rápida SOP $\leftrightarrow$ POS

Como o sistema é binário, as linhas são complementares.

  1. Defina o Universo: Para 3 variáveis, índices de 0 a 7.
  2. Identifique Ausentes: Se SOP ocupa os índices 1, 3 e 6, os ausentes (0, 2, 4, 5, 7) formam a POS.
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.

Questões de fixação - 3 / 3

  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$

  1. Dada a tabela-verdade reduzida:

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

Extraia a SOP e sua notação $\Sigma$.

Questões de fixação - 3 / 3

  1. Utilizando a mesma tabela da questão anterior, extraia a POS e sua notação $\Pi$.

  1. 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?

  1. Uma tabela-verdade possui 16 linhas (índices 0 a 15). Se a SOP é $S = \Sigma m(0, 2, 5, 8, 10, 15)$, qual seria a lista de índices para a POS correspondente?

Conclusão e Próximos Passos

  • Próximo Capítulo: Laboratório I - Formas SOP, POS e Tabelas Verdade, onde aplicaremos esses conceitos em implementações reais.