Porta logica

tipo di variabile booleana

Una porta logica, in elettronica digitale e informatica, è un circuito digitale in grado di implementare (cioè di realizzare, simulandone la "logica matematica" mediante opportuni controlli su segnali elettrici) una particolare operazione logica di una o più variabili booleane.

Schema circuitale e fotografia di un integrato contenente porte logiche NAND

Descrizione modifica

In base al numero di ingressi, che rappresentano il numero di variabili che una porta logica può ricevere in input, le porte logiche si possono classificare in:

In particolare le porte OR, AND e NOT costituiscono un insieme funzionalmente completo: attraverso gli operatori logici che implementano è possibile generare qualsiasi funzione logica.

Si nota che le operazioni NAND e NOR costituiscono un insieme funzionalmente completo di operatori logici, ovvero consentono di rappresentare qualunque funzione logica possibile[1]. Comunque all'atto pratico, la scelta dei tipi di porta da utilizzare è determinata dalla necessità di minimizzare il numero di package necessari al circuito; ad esempio, se nella stesura finale dello schema elettrico di un progetto mancasse solo una porta NOT e fosse ancora disponibile una delle quattro porte NAND contenute in un package, si realizza la porta NOT mancante, unendo gli ingressi della NAND disponibile, sfruttandola come NOT, risparmiando così un package.

Anche se nella pratica poco usate, esistono porte logiche pneumatiche[2] e porte logiche molecolari che utilizzando DNA come input/output[3].

Porte Open collector modifica

  Lo stesso argomento in dettaglio: Open collector.

Alcune porte logiche hanno la loro uscita configurata elettricamente in modo particolare, sono definite open collector, ovvero a collettore aperto. In questi dispositivi, il collettore del transistor costituente l'uscita della porta non è collegato al positivo dell'alimentazione, ma è volante rispetto al circuito interno. Questa configurazione permette di utilizzare la porta per pilotare direttamente dispositivi vari, quali relè, LED, ecc, sempreché il valore di corrente assorbita dal dispositivo pilotato sia compatibile con quello fornito dal transistor di uscita. Un vantaggio ulteriore è costituito dal valore di tensione accettato dal transistor, normalmente superiore a quella di alimentazione del circuito integrato, pertanto, in un circuito composto da dispositivi TTL alimentato a 5 volt, utilizzando una porta open collector, è possibile per esempio, ottenere un'onda quadra di ampiezza 12 o più volt, prelevandola dal collettore opportunamente collegato tramite una resistenza pull-up ad una tensione positiva del valore desiderato, oppure pilotare un relè, collegando uno dei capi della sua bobina sull'uscita della porta, e l'altro capo all'alimentazione positiva, di valore adeguato al suo funzionamento. Una delle porte più comuni, ampiamente utilizzata, definita HEX INVERTER BUFFER DRIVER (6 NOT in un package) è il 7406. Una regola generale, piuttosto importante ai fini di preservare il circuito realizzato da eventuali momentanei disturbi casuali, è di collegare a massa gli ingressi delle porte rimaste inutilizzate nei vari package (in particolare le porte CMOS).

Tabelle della verità modifica

Le tabelle della verità sono un metodo semplice per analizzare tutte le possibili combinazioni ingresso-uscita.

AND modifica

  Lo stesso argomento in dettaglio: Porta AND.
 
Porta logica AND

AND è una porta logica che riceve in ingresso almeno due valori e restituisce 1 solo se tutti i valori di ingresso hanno valore 1. Viene chiamata in italiano "porta di necessità" perché appunto NECESSITA che i valori in entrata siano uguali affinché il valore d'uscita sia verificato. Il valore uscente si può trovare tramite la formula Y=A*B in cui Y è l'output, con tre input Y=A*B*C e così via.
Segue la tavola di verità:

INPUT OUTPUT
     
0 0 0
0 1 0
1 0 0
1 1 1

NAND modifica

  Lo stesso argomento in dettaglio: Porta NAND e Operatore di Sheffer.
 
Porta NAND

Al contrario la porta NAND restituisce la negazione di una porta AND, quindi restituisce 1 quando negli ingressi è presente lo 0, e 0 solo quando tutti i valori in ingresso sono 1. Il valore uscente si può trovare tramite la formula Y=1-(A*B) in cui Y è l'output, con tre input Y=1- (A*B*C) e così via.
Segue la tavola di verità:

INPUT OUTPUT
     
0 0 1
0 1 1
1 0 1
1 1 0

OR modifica

  Lo stesso argomento in dettaglio: Porta logica OR.
 
Porta OR

OR è una porta logica che riceve in ingresso almeno due valori e restituisce 1 se almeno un valore di ingresso ha valore 1. Viene chiamata in italiano "porta di sufficienza" perché appunto è SUFFICIENTE che almeno uno dei [due o più] valori in entrata sia verificato affinché il valore in uscita sia vero.
Segue la tabella di verità:

INPUT OUTPUT
     
0 0 0
0 1 1
1 0 1
1 1 1

NOR modifica

  Lo stesso argomento in dettaglio: Porta logica NOR.
 
Porta NOR

Al contrario la porta NOR restituisce la negazione di una porta OR e quindi restituisce 1 solo quando tutti i valori in ingresso sono 0.
Segue la tavola di verità:

INPUT OUTPUT
     
0 0 1
0 1 0
1 0 0
1 1 0

EXOR modifica

 
Porta EXOR o XOR
  Lo stesso argomento in dettaglio: Disgiunzione esclusiva.

EXOR (o XOR)-(EXclusive OR) è una porta logica che riceve in ingresso "n" valori e restituisce "1" in uscita se, e solo se, vi è almeno un ingresso che differisce dagli altri.
Segue la tavola di verità di una porta XOR a "n=2" ingressi:

INPUT OUTPUT
A B  
0 0 0
0 1 1
1 0 1
1 1 0

EXNOR modifica

  Lo stesso argomento in dettaglio: Porta logica XNOR.
 
Porta XNOR

EXNOR (EXclusive NOR) è una porta logica che riceve in ingresso "n" valori e restituisce "1" in uscita se, e solo se, tutti gli ingressi hanno il medesimo valore logico. In breve, è equivalente alla negazione della porta EXOR (eXclusive OR).
Segue la tavola di verità di una porta EXNOR a "n=2" ingressi:

INPUT OUTPUT
A B  
0 0 1
0 1 0
1 0 0
1 1 1

NOT modifica

  Lo stesso argomento in dettaglio: Invertitore.
 
Porta logica NOT

Porta logica che inverte il segnale in ingresso.
Questa porta logica ha un solo ingresso ed una uscita che sarà 1 se l'ingresso è 0 o 0 se l'ingresso è 1.
Segue la tavola di verità:

INPUT OUTPUT
A NOT A
0 1
1 0

Tuttavia questa tavola di verità è a volte rappresentata con due elementi superflui rappresentanti gli ingressi identici:

INPUT OUTPUT
A NOT A
0 1
1 0
0 1
1 0

BUFFER modifica

 
Porta logica BUFFER
  Lo stesso argomento in dettaglio: Algebra di Boole § Buffer.

Porta logica che non varia il segnale di entrata.

Questa porta logica ha un solo ingresso e una sola uscita che sarà 1 se l'ingresso è 1 e 0 se l'ingresso è 0.

INPUT OUTPUT
A A
1 1
0 0

Porte universali modifica

Con le porte logiche AND, OR e NOT è possibile realizzare qualsiasi funzione booleana: si dice anche che {AND,OR,NOT} è un insieme funzionalmente completo[4].

Si può verificare facilmente che la porta NAND da sola e la porta NOR da sola, costituiscono due insiemi funzionalmente completi: la NAND è definita come NOT-AND, per questo negando una NAND si può ottenere una AND; utilizzando il teorema di De Morgan abbiamo che:

x NAND y = NOT (x AND y) = (NOT x) OR (NOT y)

e perciò, possiamo ottenere una OR negando gli ingressi della NAND. Ricapitolando, tramite NAND e NOT possiamo ottenere una AND e una OR; ma d'altra parte con una NAND possiamo ottenere una NOT come segue

x NAND 1 = NOT (x AND 1) = NOT x

perciò abbiamo dimostrato che con una NAND si possono ottenere AND, OR e NOT e ne segue che {NAND} è un insieme funzionalmente completo! Similmente si può fare per la NOR.

Lavorare con la sola NAND o la sola NOR può essere utile ai fini pratici perché con un solo tipo di porta è possibile realizzare qualsiasi circuito, ovviamente a discapito di una spesa di porte maggiore di quella che si avrebbe con AND, OR e NOT, o almeno questo avviene nella maggior parte dei casi. Siccome lavorare con le porte universali è molto importante, è bene conoscere le proprietà algebriche degli operatori NAND e NOR: algebricamente indichiamo l'operatore NAND con ↑ e l'operatore NOR con ↓.

Note modifica

  1. ^ Charles Kime, Reti logiche, Pearson, 2002.
  2. ^ Le Funzioni Logiche Archiviato il 5 luglio 2013 in Internet Archive.
  3. ^ Milan N. Stojanovic, Tiffany Elizabeth Mitchell, Darko Stefanovic, Molecular Logic Gates (archiviato dall'url originale il 18 giugno 2010).
  4. ^ Algebra di boole (PDF), su micro.dibe.unige.it (archiviato dall'url originale il 1º marzo 2013).

Bibliografia modifica

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica

Controllo di autoritàGND (DE4135908-2 · NDL (ENJA01088538