Aula 4 — Portas Lógicas

Básicas (AND/OR/NOT) • Derivadas (NAND/NOR/XOR/XNOR)

Conceito central

Além das portas básicas AND OR NOT, usamos portas derivadas: NAND NOR XOR XNOR. Elas permitem implementar funções complexas com eficiência e são onipresentes no hardware real.

Universalidade: qualquer circuito digital pode ser construído apenas com NAND ou apenas com NOR.
  • Portas derivadas combinam básicas: NAND = NOT(AND), NOR = NOT(OR), XOR e XNOR.
  • Universalidade: apenas NAND ou apenas NOR implementam qualquer circuito.
Tabelas essenciais
AND: F = A·B — 1 se A=B=1
OR: F = A + B — 0 se A=B=0
NOT: F = A′ — inverte A

Portas Derivadas

NAND, NOR, XOR, XNOR — com esquemáticos em SVG

Tabelas Verdade

Básicas

AND — F = A·B
ABFComent.
0001 só se A=B=1
010
100
111
OR — F = A + B
ABFComent.
0000 só se A=B=0
011
101
111
NOT — F = A′
AFComent.
01Inversor
10

Derivadas

NAND — F = (A·B)′
ABFComent.
0010 só se A=B=1
011
101
110
NOR — F = (A + B)′
ABFComent.
0011 só se A=B=0
010
100
110
XOR — F = A′·B + A·B′
ABFComent.
0001 se diferentes
011
101
110
XNOR — F = A·B + A′·B′
ABFComent.
0011 se iguais
010
100
111

Playground — experimente as portas

NAND e NOR com AND/OR com NOT

A B AND = NAND(A,B) A B OR = NOR(A,B)

XOR como 2×AND + 2×NOT + OR

XOR(A,B) como duas AND (A′·B e A·B′) somadas em OR A B A′ B′ = XOR(A, B)
Dica: XNOR é XOR seguido de NOT, ou A·B + A′·B′.

TTL 74xx & Equivalências

7408 (AND) • 7432 (OR) • 7404 (NOT) • 7486 (XOR)

Implementação com CIs (TTL 74xx)

CIFunçãoNotas
7408AND (4× 2 entradas)Use com 7404 para formar NAND
7432OR (4× 2 entradas)Use com 7404 para formar NOR
7404NOT (6× inversores)Inversões e equivalências
7486 XOR (4× 2 entradas)Útil p/ paridade/somadores
Alimentação: TTL 74LS/74HC usualmente em 5 V (verifique a família). Use resistores nos LEDs.
Como formar portas derivadas

NAND com 7408 + 7404: saída = NOT(AND(A,B)).

NOR com 7432 + 7404: saída = NOT(OR(A,B)).

XNOR: XOR seguido de NOT, ou A·B + A′·B′ (AND/OR/NOT).

NAND-only
NOT A = A NAND A
AND = (A NAND B) NAND (A NAND B)
OR = (A NAND A) NAND (B NAND B)
NOR-only
NOT A = A NOR A
OR = (A NOR A) NOR (B NOR B)
AND = (A NOR B) NOR (A NOR B)

CIs comuns

  • 7408 — 4× AND de 2 entradas
  • 7432 — 4× OR de 2 entradas
  • 7404 — 6× NOT (inversores)
  • 7486 — 4× XOR (opcional)

NAND: 7408 + 7404 → NOT(AND). NOR: 7432 + 7404 → NOT(OR).

De Morgan e portas universais
De Morgan: A·B = (A′ + B′)′ e A + B = (A′·B′)′. Use para montar AND/OR só com NOR/NAND.

AND com NAND (equivalência)

AND(A,B) = (A NAND B) NAND (A NAND B)

AB NAND NAND = AND(A,B)

Playground Interativo

Clique nos bits de entrada e veja F atualizar

Experimente

A = 0
B = 0
F = 1

Simulação

Logisim Evolution / Tinkercad Circuits

Monte e teste

“Varrer A,B ∈ {0,1}” = testar todas as quatro combinações de entrada 00 → 01 → 10 → 11, observando a saída F e comparando com a tabela esperada.

  1. NAND: conecte AND → NOT (saída da AND passa por um inversor).
  2. NOR: conecte OR → NOT.
  3. XOR: use o CI 7486 ou monte A′·B + A·B′ (2×NOT, 2×AND, 1×OR).
  4. XNOR: XOR → NOT ou A·B + A′·B′.

Esquemático mini — XOR = A′·B + A·B′

A B A′ B′ F = XOR(A,B)

Esquemático mini — XNOR = XOR → NOT

A B XOR F = XNOR(A,B) ≡ A·B + A′·B′

Valores esperados (para verificação rápida)

AB NANDNORXORXNOR
001101
011010
101010
110001

Simulador embutido

Como usar: altere A e B no seu circuito (00 → 01 → 10 → 11) e compare a saída F com a tabela acima.

Atividades & Paridade

Passo a passo prático

Atividades guiadas

1) Detector de paridade (3 bits)

Objetivo: montar F = A ⊕ B ⊕ C e acender o LED quando houver número ímpar de 1s.

  1. Monte: encadeie dois XORs: primeiro S1 = A ⊕ B, depois F = S1 ⊕ C (7486 ajuda muito).
  2. Varrer entradas (A,B,C): teste as 8 combinações 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111.
  3. O que esperar: F=1 quando houver 1, 3 bits iguais a 1 (paridade ímpar).
ABCF = A⊕B⊕C
0000
0011
0101
0110
1001
1010
1100
1111
Dica de hardware: LED + resistor em série (p.ex., 220–1kΩ) e ground. No TTL 74LS/HC, alimente com 5 V.
A B C XOR S1 XOR F

2) Meio-somador (Half Adder)

Objetivo: gerar soma e carry de um dígito: S = A ⊕ B, Cout = A·B.

  1. Monte: uma porta XOR para S e uma AND para Cout (CIs: 7486 e 7408).
  2. Teste: varra 00, 01, 10, 11.
  3. Espere: S é a soma sem transporte; Cout só em 11.
ABS = A⊕BCout = A·B
0000
0110
1010
1101
A B XOR S Cout AND

3) NAND de 3 entradas (usando NAND de 2)

Objetivo: obter F = (A·B·C)′ só com NAND de 2 entradas.

  1. Passo 1: faça AB_and = AND(A,B) usando NANDs: N1 = NAND(A,B), AB_and = NAND(N1,N1).
  2. Passo 2: finalize com F = NAND(AB_and, C) (isso já dá (A·B·C)′).
  3. Teste: varra as 8 combinações. Deve dar 0 apenas quando A=B=C=1.

4) LEDs gêmeos — “iguais” e “diferentes”

Objetivo: dois LEDs: LED1 acende se A e B forem iguais (XNOR), LED2 acende se forem diferentes (XOR).

  1. Monte: ligue LED1 ← XNOR(A,B) e LED2 ← XOR(A,B).
  2. Teste: 00, 01, 10, 11.
ABLED1 (XNOR)LED2 (XOR)
00ONOFF
01OFFON
10OFFON
11ONOFF
A B XOR LED2 XOR LED1

Desafios (equivalências)

  • De Morgan com 7404 + 7432: implemente AND(A,B) = (A′ + B′)′.
  • AND só com NAND:

Somador completo (Full Adder)

Equações: S = A ⊕ B ⊕ Cin, Cout = A·B + (A ⊕ B)·Cin. Uma forma de montar é “dois meios-somadores + OR de carries”.

  1. Meio-somador 1: entradas A,B → gera S1 = A ⊕ B e C1 = A·B.
  2. Meio-somador 2: entradas S1, Cin → gera S e C2 = S1·Cin.
  3. Carry final: Cout = C1 + C2 (OR).
  4. Componentes TTL: 2×XOR (7486), 2×AND (7408), 1×OR (7432).
  5. Teste rápido:
    • A=1,B=1,Cin=0 → S=0, Cout=1
    • A=1,B=0,Cin=1 → S=0, Cout=1
    • A=0,B=1,Cin=1 → S=0, Cout=1
A B HA1 S1 C1 Cin HA2 S C2 OR Cout

Paridade (visual)

O gráfico abaixo marca 1 quando a paridade de A,B,C é ímpar. Use-o como referência ao testar seu circuito.

Quiz

Cheque o entendimento

(V/F) A porta NAND é a inversão da AND.
Verdadeiro
Falso

Correto: Verdadeiro. NAND(A,B) = (A·B)′.

A porta XOR retorna 1 quando:
a) Entradas são iguais
b) Entradas são diferentes
c) Sempre
d) Nunca

Correto: b) Diferentes.

(V/F) Qualquer circuito pode ser montado só com NAND.
Verdadeiro
Falso

Correto: Verdadeiro (porta universal).

“Porta universal” significa:
a) Aceita qualquer valor de entrada
b) Constrói qualquer função lógica sozinha
c) Mais usada em computadores analógicos
d) Tem 3+ entradas

Correto: b).

(V/F) XNOR retorna 1 quando as entradas são diferentes.
Verdadeiro
Falso

Correto: Falso — XNOR=1 se forem iguais.

Recursos

Links úteis

Recursos úteis