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
7486
ou 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=1
quando 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
S
e uma AND paraCout
(CIs: 7486 e 7408). - Teste: varra
00, 01, 10, 11
. - Espere:
S
é a soma sem transporte;Cout
só 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 ⊕ B
eC1 = A·B
. - Meio-somador 2: entradas
S1, Cin
→ geraS
eC2 = 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=1
A=1,B=0,Cin=1 → S=0, Cout=1
A=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.