bitGateLab Digital · Impara
Italiano
Apri il simulatore

Impara › Argomento 1

Porte logiche: NOT, AND, OR, NAND, NOR, XOR e XNOR

7 min di lettura · Team bitGateLab

Tutta l'elettronica digitale, da un semaforo a un processore, si costruisce con pochi blocchi che prendono decisioni con zeri e uni: le porte logiche. Qui conoscerai le sette porte fondamentali, come si disegnano, come si scrivono in algebra di Boole e qual è la loro tabella di verità. Alla fine vedrai perché con un solo tipo di porta, NAND o NOR, puoi costruire tutte le altre.

Livelli logici: che cosa significano lo 0 e l'1

In un circuito digitale ogni segnale può trovarsi soltanto in uno di due stati. La tensione bassa (vicina a 0 V) si chiama 0 logico o falso, e la tensione alta (vicina all'alimentazione, per esempio 5 V o 3.3 V) si chiama 1 logico o vero. Una porta riceve uno o più ingressi e fornisce un'uscita che dipende unicamente dal valore attuale dei suoi ingressi: non ricorda nulla. Per questo si dice che le porte formano la logica combinatoria.

Il modo più completo di descrivere una porta è la sua tabella di verità: un elenco di tutte le combinazioni possibili degli ingressi con l'uscita che corrisponde a ciascuna. Con n ingressi ci sono 2n combinazioni, quindi una porta a due ingressi ha 4 righe e una a tre ingressi ne ha 8.

ABY ABY AY ANDORNOT
Simboli caratteristici di AND (lato diritto e fronte arrotondato), OR (ingresso concavo e punta) e NOT (triangolo con pallino).

Le tre porte fondamentali

NOT (invertitore)

Ha un solo ingresso e fornisce il contrario: se entra 0 esce 1 e se entra 1 esce 0. Si scrive Y = A (troverai anche A' o ¬A). Il suo simbolo è un triangolo con un pallino sulla punta; quel pallino è il segno universale di "qui si inverte".

AY = A
01
10

AND (E)

L'uscita vale 1 solo quando tutti gli ingressi valgono 1. Si scrive come un prodotto: Y = A·B o semplicemente Y = AB. Pensa a due interruttori in serie: la lampada si accende soltanto se sono chiusi entrambi.

OR (O)

L'uscita vale 1 quando almeno un ingresso vale 1. Si scrive come una somma: Y = A + B. Equivale a due interruttori in parallelo. Attenzione: in algebra di Boole 1 + 1 = 1, non 2.

Porte derivate: NAND, NOR, XOR e XNOR

NAND è una AND seguita da un invertitore: Y = AB. La sua uscita è 0 solo quando tutti gli ingressi sono 1. NOR è una OR invertita: Y = A + B, e vale 1 solo quando tutti gli ingressi sono 0. Nel simbolo, entrambe hanno il pallino sull'uscita.

XOR (OR esclusivo) vale 1 quando gli ingressi sono diversi: Y = A ⊕ B = AB + AB. Con più di due ingressi, la XOR vale 1 quando c'è un numero dispari di uni, per questo si usa per calcolare i bit di parità. XNOR è il suo complemento, Y = A ⊕ B = AB + A B, e vale 1 quando gli ingressi sono uguali: è un comparatore di uguaglianza a un bit.

Questa è la tabella di verità complessiva delle sei porte a due ingressi:

ABANDORNANDNORXORXNOR
00001101
01011010
10011010
11110001
Trucco per controllare: ogni colonna invertita (NAND, NOR, XNOR) è esattamente la colonna della sua porta di base con zeri e uni scambiati, riga per riga.

Esempio: valutare un piccolo circuito. Calcola Y = (A + B) · C per A = 0, B = 1, C = 1.

  1. OR: A + B = 0 + 1 = 1.
  2. Inversione: 1 = 0.
  3. AND con C: 0 · 1 = 0.

Risultato: Y = 0. Con A = 0, B = 0, C = 1 la OR dà 0, l'invertitore dà 1 e la AND dà 1, quindi Y = 1.

NAND e NOR: porte universali

Una porta è universale se con sole copie di essa puoi costruire NOT, AND e OR, e quindi qualsiasi funzione logica. NAND e NOR hanno questa proprietà. Ne deriva una conseguenza pratica: un produttore può fabbricare un solo tipo di cella e realizzare con essa l'intero progetto, e tu puoi risolvere un circuito completo con un unico chip della famiglia 74HC (per esempio, il 74HC00 contiene quattro NAND a due ingressi).

Tutto con le NAND

Tutto con le NOR

Esempio: XOR con quattro NAND. Siano N1 = AB, N2 = A·N1, N3 = B·N1 e Y = N2·N3. Controlla i quattro casi:

ABN1N2N3Y
001110
011101
101011
110110

La colonna Y coincide con quella della XOR. Quattro porte, un solo chip.

Errori comuni

Provalo nel simulatore

Il modo migliore per memorizzare queste tabelle è generarle da te. Nell'editor di circuiti puoi inserire una porta, cambiare i suoi ingressi e vedere subito l'uscita; poi confronta con la tabella di verità calcolata dallo strumento.

  1. Inserisci due ingressi, una porta NAND e un'uscita, e collegali.
  2. Porta gli ingressi nelle quattro combinazioni e annota l'uscita in ciascun caso.
  3. Genera la tabella di verità del circuito e confrontala con quella di questo articolo.
  4. Costruisci la XOR con quattro NAND dell'esempio e verifica che la sua tabella coincida con quella di una XOR singola.
  5. Se vuoi portarlo sulla breadboard virtuale, inserisci un chip NAND della famiglia 74HC, alimentalo e osserva il LED di uscita.

Esercizi

  1. Scrivi la tabella di verità di Y = A + B.
    Risposta

    Per AB = 00, 01, 10, 11 l'uscita è 1, 0, 1, 1. Vale 0 solo quando A = 0 e B = 1.

  2. Quante righe ha la tabella di verità di una AND a 4 ingressi e in quante l'uscita vale 1?
    Risposta

    24 = 16 righe; l'uscita vale 1 in una sola (1111).

  3. Ricava l'uscita di una XOR a tre ingressi con A = 1, B = 1, C = 1.
    Risposta

    1 ⊕ 1 = 0 e 0 ⊕ 1 = 1. L'uscita è 1, perché ci sono tre uni (numero dispari).

  4. Quante porte NOR ti servono, come minimo con questo metodo, per formare una AND a due ingressi?
    Risposta

    Tre: due NOR usate come invertitori (una per A e una per B) e una terza NOR che riceve A e B, la cui uscita è A + B = AB.

Per trasformare e semplificare le espressioni con queste porte, prosegui con l'algebra di Boole.