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.
- Portas derivadas combinam básicas: NAND = NOT(AND), NOR = NOT(OR), XOR e XNOR.
- Universalidade: apenas NAND ou apenas NOR implementam qualquer circuito.
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 | |||
|---|---|---|---|
| A | B | F | Coment. |
| 0 | 0 | 0 | 1 só se A=B=1 |
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 1 | 1 | 1 | |
| OR — F = A + B | |||
|---|---|---|---|
| A | B | F | Coment. |
| 0 | 0 | 0 | 0 só se A=B=0 |
| 0 | 1 | 1 | |
| 1 | 0 | 1 | |
| 1 | 1 | 1 | |
| NOT — F = A′ | ||
|---|---|---|
| A | F | Coment. |
| 0 | 1 | Inversor |
| 1 | 0 | |
Derivadas
| NAND — F = (A·B)′ | |||
|---|---|---|---|
| A | B | F | Coment. |
| 0 | 0 | 1 | 0 só se A=B=1 |
| 0 | 1 | 1 | |
| 1 | 0 | 1 | |
| 1 | 1 | 0 | |
| NOR — F = (A + B)′ | |||
|---|---|---|---|
| A | B | F | Coment. |
| 0 | 0 | 1 | 1 só se A=B=0 |
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 1 | 1 | 0 | |
| XOR — F = A′·B + A·B′ | |||
|---|---|---|---|
| A | B | F | Coment. |
| 0 | 0 | 0 | 1 se diferentes |
| 0 | 1 | 1 | |
| 1 | 0 | 1 | |
| 1 | 1 | 0 | |
| XNOR — F = A·B + A′·B′ | |||
|---|---|---|---|
| A | B | F | Coment. |
| 0 | 0 | 1 | 1 se iguais |
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 1 | 1 | 1 | |
Playground — experimente as portas
NAND e NOR com AND/OR com NOT
XOR como 2×AND + 2×NOT + OR
A·B + A′·B′.TTL 74xx & Equivalências
7408 (AND) • 7432 (OR) • 7404 (NOT) • 7486 (XOR)
Implementação com CIs (TTL 74xx)
| CI | Função | Notas |
|---|---|---|
| 7408 | AND (4× 2 entradas) | Use com 7404 para formar NAND |
| 7432 | OR (4× 2 entradas) | Use com 7404 para formar NOR |
| 7404 | NOT (6× inversores) | Inversões e equivalências |
| 7486 | XOR (4× 2 entradas) | Útil p/ paridade/somadores |
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).
NOT A = A NAND A
AND = (A NAND B) NAND (A NAND B)
OR = (A NAND A) NAND (B NAND B)
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).
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)
Playground Interativo
Clique nos bits de entrada e veja F atualizar
Experimente
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.
- NAND: conecte AND → NOT (saída da AND passa por um inversor).
- NOR: conecte OR → NOT.
- XOR: use o CI
7486ou monteA′·B + A·B′(2×NOT, 2×AND, 1×OR). - XNOR: XOR → NOT ou
A·B + A′·B′.
Esquemático mini — XOR = A′·B + A·B′
Esquemático mini — XNOR = XOR → NOT
Valores esperados (para verificação rápida)
| A | B | NAND | NOR | XOR | XNOR |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 0 | 1 |
Simulador embutido
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.
- Monte: encadeie dois XORs: primeiro
S1 = A ⊕ B, depoisF = S1 ⊕ C(7486 ajuda muito). - Varrer entradas (A,B,C): teste as 8 combinações
000 → 001 → 010 → 011 → 100 → 101 → 110 → 111. - O que esperar:
F=1quando houver 1, 3 bits iguais a 1 (paridade ímpar).
| A | B | C | F = A⊕B⊕C |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
2) Meio-somador (Half Adder)
Objetivo: gerar soma e carry de um dígito: S = A ⊕ B, Cout = A·B.
- Monte: uma porta XOR para
Se uma AND paraCout(CIs: 7486 e 7408). - Teste: varra
00, 01, 10, 11. - Espere:
Sé a soma sem transporte;Coutsó em11.
| A | B | S = A⊕B | Cout = A·B |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
3) NAND de 3 entradas (usando NAND de 2)
Objetivo: obter F = (A·B·C)′ só com NAND de 2 entradas.
- Passo 1: faça
AB_and = AND(A,B)usando NANDs:N1 = NAND(A,B),AB_and = NAND(N1,N1). - Passo 2: finalize com
F = NAND(AB_and, C)(isso já dá(A·B·C)′). - Teste: varra as 8 combinações. Deve dar 0 apenas quando
A=B=C=1.
| A | B | C | F = (A·B·C)′ |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
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).
- Monte: ligue
LED1 ← XNOR(A,B)eLED2 ← XOR(A,B). - Teste:
00, 01, 10, 11.
| A | B | LED1 (XNOR) | LED2 (XOR) |
|---|---|---|---|
| 0 | 0 | ON | OFF |
| 0 | 1 | OFF | ON |
| 1 | 0 | OFF | ON |
| 1 | 1 | ON | OFF |
Desafios (equivalências)
- De Morgan com 7404 + 7432: implemente
AND(A,B) = (A′ + B′)′.Inverta A e B no 7404; alimente a 7432 (OR); inverta a saída novamente (7404). Pronto: AND com NOT+OR+NOT.
- AND só com NAND:
AND(A,B) = NAND(NAND(A,B), NAND(A,B))— a segunda NAND atua como NOT da primeira.
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”.
- Meio-somador 1: entradas
A,B→ geraS1 = A ⊕ BeC1 = A·B. - Meio-somador 2: entradas
S1, Cin→ geraSeC2 = S1·Cin. - Carry final:
Cout = C1 + C2(OR). - Componentes TTL: 2×XOR (7486), 2×AND (7408), 1×OR (7432).
- Teste rápido:
A=1,B=1,Cin=0 → S=0, Cout=1A=1,B=0,Cin=1 → S=0, Cout=1A=0,B=1,Cin=1 → S=0, Cout=1
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
Correto: Verdadeiro. NAND(A,B) = (A·B)′.
Correto: b) Diferentes.
Correto: Verdadeiro (porta universal).
Correto: b).
Correto: Falso — XNOR=1 se forem iguais.
Recursos
Links úteis
Recursos úteis
- Tinkercad Circuits — simulador online.
- Logisim Evolution — simulador offline.
- All About Circuits: Digital.