bitGateLab Digital · Aprenda
Português (Brasil)
Abrir o simulador

Aprenda › Tema 1

Portas lógicas: NOT, AND, OR, NAND, NOR, XOR e XNOR

Leitura de 7 min · Equipe bitGateLab

Toda a eletrônica digital, de um semáforo a um processador, é construída com alguns poucos blocos que tomam decisões com zeros e uns: as portas lógicas. Aqui você vai conhecer as sete portas básicas, como são desenhadas, como são escritas na álgebra de Boole e qual é a tabela-verdade de cada uma. No final, verá por que, com um único tipo de porta, NAND ou NOR, é possível montar todas as outras.

Níveis lógicos: o que significam o 0 e o 1

Em um circuito digital, cada sinal só pode estar em um de dois estados. A tensão baixa (próxima de 0 V) é chamada de 0 lógico ou falso, e a tensão alta (próxima da alimentação, por exemplo 5 V ou 3.3 V) é chamada de 1 lógico ou verdadeiro. Uma porta recebe uma ou mais entradas e entrega uma saída que depende unicamente do valor atual das entradas: ela não se lembra de nada. Por isso se diz que as portas formam a lógica combinacional.

A forma mais completa de descrever uma porta é a sua tabela-verdade: uma lista de todas as combinações possíveis de entradas com a saída correspondente a cada uma. Com n entradas há 2n combinações, de modo que uma porta de duas entradas tem 4 linhas e uma de três entradas tem 8.

ABY ABY AY ANDORNOT
Símbolos característicos da AND (lado reto e frente arredondada), da OR (entrada côncava e ponta) e da NOT (triângulo com bolinha).

As três portas fundamentais

NOT (inversor)

Tem uma única entrada e entrega o contrário: se entra 0, sai 1, e se entra 1, sai 0. Escreve-se Y = A (você também verá A' ou ¬A). Seu símbolo é um triângulo com uma bolinha na ponta; essa bolinha é a marca universal de "aqui há inversão".

AY = A
01
10

AND (E)

A saída vale 1 somente quando todas as entradas valem 1. Escreve-se como um produto: Y = A·B ou simplesmente Y = AB. Pense em duas chaves em série: a lâmpada só acende se as duas estiverem fechadas.

OR (OU)

A saída vale 1 quando pelo menos uma entrada vale 1. Escreve-se como uma soma: Y = A + B. Equivale a duas chaves em paralelo. Atenção: na álgebra de Boole 1 + 1 = 1, e não 2.

Portas derivadas: NAND, NOR, XOR e XNOR

NAND é uma AND seguida de um inversor: Y = AB. Sua saída é 0 somente quando todas as entradas são 1. NOR é uma OR invertida: Y = A + B, e vale 1 somente quando todas as entradas são 0. No símbolo, ambas levam a bolinha na saída.

XOR (OU exclusivo) vale 1 quando as entradas são diferentes: Y = A ⊕ B = AB + AB. Com mais de duas entradas, a XOR vale 1 quando há uma quantidade ímpar de uns; por isso é usada para calcular bits de paridade. XNOR é o seu complemento, Y = A ⊕ B = AB + A B, e vale 1 quando as entradas são iguais: é um comparador de igualdade de um bit.

Esta é a tabela-verdade conjunta das seis portas de duas entradas:

ABANDORNANDNORXORXNOR
00001101
01011010
10011010
11110001
Dica para conferir: cada coluna invertida (NAND, NOR, XNOR) é exatamente a coluna da sua porta base com os zeros e uns trocados, linha por linha.

Exemplo: avaliar um circuito pequeno. Calcule Y = (A + B) · C para A = 0, B = 1, C = 1.

  1. OR: A + B = 0 + 1 = 1.
  2. Inversão: 1 = 0.
  3. AND com C: 0 · 1 = 0.

Resultado: Y = 0. Com A = 0, B = 0, C = 1, a OR dá 0, o inversor dá 1 e a AND dá 1, portanto Y = 1.

NAND e NOR: portas universais

Uma porta é universal se, apenas com cópias dela, você consegue construir NOT, AND e OR e, portanto, qualquer função lógica. NAND e NOR têm essa propriedade. Isso tem uma consequência prática: um fabricante pode produzir um único tipo de célula e montar com ela todo o projeto, e você pode resolver um circuito completo com um único chip da família 74HC (por exemplo, o 74HC00 traz quatro NAND de duas entradas).

Tudo com NAND

Tudo com NOR

Exemplo: XOR com quatro NAND. Seja N1 = AB, N2 = A·N1, N3 = B·N1 e Y = N2·N3. Confira os quatro casos:

ABN1N2N3Y
001110
011101
101011
110110

A coluna Y coincide com a da XOR. Quatro portas, um único chip.

Erros comuns

Experimente no simulador

A melhor forma de memorizar essas tabelas é gerá-las você mesmo. No editor de circuitos você pode colocar uma porta, mudar as entradas e ver a saída na hora; depois, compare com a tabela-verdade que a ferramenta calcula.

  1. Coloque duas entradas, uma porta NAND e uma saída, e conecte-as.
  2. Mude as entradas pelas quatro combinações e anote a saída em cada caso.
  3. Gere a tabela-verdade do circuito e compare-a com a deste artigo.
  4. Monte a XOR com quatro NAND do exemplo e verifique se a tabela dela coincide com a de uma única XOR.
  5. Se quiser levá-la para a protoboard virtual, coloque um chip NAND da família 74HC, alimente-o e observe o LED de saída.

Exercícios

  1. Escreva a tabela-verdade de Y = A + B.
    Resposta

    Para AB = 00, 01, 10, 11 a saída é 1, 0, 1, 1. Só vale 0 quando A = 0 e B = 1.

  2. Quantas linhas tem a tabela-verdade de uma AND de 4 entradas e em quantas delas a saída vale 1?
    Resposta

    24 = 16 linhas; a saída vale 1 em apenas uma (1111).

  3. Obtenha a saída de uma XOR de três entradas com A = 1, B = 1, C = 1.
    Resposta

    1 ⊕ 1 = 0 e 0 ⊕ 1 = 1. A saída é 1, porque há três uns (quantidade ímpar).

  4. De quantas portas NOR você precisa, no mínimo com este método, para formar uma AND de duas entradas?
    Resposta

    Três: duas NOR usadas como inversores (uma para A e outra para B) e uma terceira NOR que recebe A e B, cuja saída é A + B = AB.

Para transformar e simplificar expressões com essas portas, continue com a álgebra de Boole.