Porte Logiche Digitali
- Le porte logiche digitali sono i mattoni fondamentali dei circuiti digitali.
- Le porte logiche eseguono operazioni logiche su uno o più segnali di input per produrre un singolo segnale di output.
- Le porte logiche di base includono AND, OR e NOT, ma ci sono anche porte più complesse come NAND, NOR, XOR e XNOR.
- Estendere le porte logiche a più di due input è possibile e comune nella progettazione di circuiti.
- Affinché una porta logica possa essere estesa a più di due input, la funzione corrispondente deve essere commutativa e associativa.
- In caso contrario, la porta logica non può essere estesa a più di due input senza modificare il suo comportamento.
Porte Logiche Digitali
Poiché le funzioni booleane sono espresse in termini di operazioni AND, OR e NOT, è più facile implementare una funzione booleana con questi tipi di porte.
Tuttavia, la possibilità di costruire porte per le altre operazioni logiche riveste un interesse pratico. I fattori da considerare nel considerare la costruzione di altri tipi di porte logiche sono (1) la fattibilità e l'economia di produrre la porta con componenti fisici, (2) la possibilità di estendere la porta a più di due input, (3) le proprietà di base dell'operatore binario, come la commutatività e l'associatività, e (4) la capacità della porta di implementare funzioni booleane da sola o in congiunzione con altre porte.
Riprendiamo un attimo la tabella delle 16 possibili funzioni logiche a due input:
Funzioni Booleane | Espressione | Simbolo Operatore |
Nome | Commenti |
---|---|---|---|---|
Funzione Nulla | Restituisce sempre la Costante binaria 0 | |||
AND | x e y | |||
Inibizione | x, ma non y | |||
Trasferimento | x | |||
Inibizione | y, ma non x | |||
Trasferimento | y | |||
XOR (Exclusive-OR) | x o y, ma non entrambi | |||
OR | x o y | |||
NOR | Not-OR: OR Negato | |||
Equivalenza (EQU o XNOR) | x uguale a y | |||
Complemento | Non y | |||
Implicazione | Se y, allora x | |||
Complemento | Non x | |||
Implicazione | Se x, allora y | |||
NAND | Not-AND: AND negato | |||
Identità | Restituisce sempre la Costante binaria 1 |
Di queste 16 funzioni abbiamo che:
-
due funzioni sono uguali a una costante:
-
Funzione Nulla
-
Funzione Identità
-
-
quattro sono funzioni ripetute:
-
Le due funzioni di complemento:
-
Le due funzioni di trasferimento:
-
Rimangono solo 10 funzioni da considerare come candidate per porte logiche.
Di queste, le due funzioni di inibizione e le due di implicazione non sono commutative o associative e quindi sono poco pratiche da usare come porte logiche standard.
Le altre otto, ossia complemento, trasferimento, AND, OR, NAND, NOR, exclusive-OR ed equivalenza, sono usate come porte standard nella progettazione digitale.
I simboli grafici e le tavole di verità delle otto porte sono mostrati di seguito:
-
Porta Logica AND:
Figura 1: Porta logica AND 0 0 0 0 1 0 1 0 0 1 1 1 Tabella 2: Tabella di verità della porta logica AND -
Porta Logica OR:
Figura 2: Porta logica OR 0 0 0 0 1 1 1 0 1 1 1 1 Tabella 3: Tabella di verità della porta logica OR -
Porta Logica NOT o Invertitore:
Figura 3: Porta logica NOT o Invertitore 0 1 1 0 Tabella 4: Tabella di verità della porta logica NOT -
Buffer:
Figura 4: Buffer 0 0 1 1 Tabella 5: Tabella di verità della porta logica Buffer -
Porta Logica NAND:
Figura 5: Porta logica NAND 0 0 1 0 1 1 1 0 1 1 1 0 Tabella 6: Tabella di verità della porta logica NAND -
Porta Logica NOR:
Figura 6: Porta logica NOR 0 0 1 0 1 0 1 0 0 1 1 0 Tabella 7: Tabella di verità della porta logica NOR -
Porta Logica XOR:
Figura 7: Porta logica XOR 0 0 0 0 1 1 1 0 1 1 1 0 Tabella 8: Tabella di verità della porta logica XOR -
Porta Logica XNOR o EQU o Equivalenza:
Figura 8: Porta logica XNOR o EQU 0 0 1 0 1 0 1 0 0 1 1 1 Tabella 9: Tabella di verità della porta logica XNOR o EQU (Equivalenza)
Ogni porta ha una o due variabili di input binarie, designate da
Il circuito invertitore inverte il senso logico di una variabile binaria, producendo la funzione NOT, o complemento. Il piccolo cerchio nell'output del simbolo grafico di un invertitore (chiamato bolla o bubble) designa il complemento logico. Il simbolo triangolare da solo designa un circuito buffer. Un buffer produce la funzione di trasferimento, ma non produce un'operazione logica, poiché il valore binario dell'output è uguale al valore binario dell'input. Questo circuito è usato per l'amplificazione di potenza del segnale ed è equivalente a due invertitori collegati in cascata.
La funzione NAND è il complemento della funzione AND, come indicato da un simbolo grafico che consiste di un simbolo grafico AND seguito da un piccolo cerchio. La funzione NOR è il complemento della funzione OR e usa un simbolo grafico OR seguito da un piccolo cerchio. Le porte NAND e NOR sono usate estensivamente come porte logiche standard e sono infatti molto più popolari delle porte AND e OR. Questo perché le porte NAND e NOR possono essere facilmente costruite con circuiti a transistori (BJT o MOSFET) e perché i circuiti digitali possono essere facilmente implementati con esse.
La porta exclusive-OR (XOR) ha un simbolo grafico simile a quello della porta OR, eccetto per la linea curva aggiuntiva sul lato dell'input. La porta equivalenza, o exclusive-NOR, è il complemento dell'exclusive-OR, come indicato dal piccolo cerchio sul lato dell'output del simbolo grafico.
Porte Logiche a più di due Input
Le porte viste nella sezione precedente, eccetto per l'invertitore e il buffer, possono essere estese per avere più di due input.
Una porta può essere estesa per avere input multipli se l'operazione binaria che rappresenta è commutativa e associativa. Le operazioni AND e OR, definite nell'algebra booleana, possiedono queste due proprietà. Per la funzione OR, abbiamo:
-
Proprietà commutativa:
-
Proprietà associativa:
Ciò significa che gli input della porta possono essere scambiati e che la funzione OR può essere estesa a tre o più variabili.
Le funzioni NAND e NOR sono commutative, e le loro porte possono essere estese per avere più di due input, purché la definizione dell'operazione sia modificata leggermente. La difficoltà è che gli operatori NAND e NOR non sono associativi, infatti:
Per dimostrarlo basta osservare le equazioni seguenti
Come si può osservare, i risultati delle due equazioni sono diversi. Per questo motivo, non possiamo estendere la porta NOR (così come la porta NAND) a più di due input in questo modo:
Come dimostra questa figura, non possiamo estendere la porta NOR banalmente mettendo in cascata delle porte NOR a due input come avremmo potuto fare per la porta AND e OR.
Per superare questa difficoltà, definiamo la porta NOR (o NAND) multipla come una porta OR (o AND) complementata. Quindi, per definizione, abbiamo
I simboli grafici per le porte a tre input sono mostrati nelle figure che seguono:
Nello scrivere operazioni NOR e NAND a cascata, si devono usare le parentesi in maniera corretta per indicare la sequenza propria delle porte.
Per dimostrare questo principio, si consideri il circuito della figura che segue:
La funzione booleana per il circuito deve essere scritta come
La seconda espressione è ottenuta da uno dei teoremi di DeMorgan. Mostra anche che un'espressione in forma somma-di-prodotti può essere implementata con porte NAND. Torneremo su questo punto più avanti ma per il momento possiamo anticipare che la funzione NAND da sola (così come la porta NOR) permette di implementare tutte le funzioni NOT, OR e AND. Pertanto si dice che l'insieme composto dalla funzione NAND è un insieme funzionalmente completo.
Le porte exclusive-OR ed equivalenza sono entrambe commutative e associative e possono essere estese a più di due input così come facciamo per le porte AND e OR. Tuttavia, le porte exclusive-OR a input multipli sono non comuni dal punto di vista hardware. Infatti, anche una funzione a due input è solitamente costruita con altri tipi di porte. Inoltre, la definizione della funzione deve essere modificata quando estesa a più di due variabili. L'exclusive-OR è una funzione dispari (cioè, è uguale a 1 se le variabili di input hanno un numero dispari di 1). La costruzione di una funzione exclusive-OR a tre input è mostrata nella figura che segue:
Questa funzione è normalmente implementata collegando in cascata porte a due input, come mostrato nella parte inferiore della figura di sopra. Graficamente, può essere rappresentata con una singola porta a tre input, come mostrato nella parte superiore della figura. La tabella di verità della funzione XOR a tre input è riportata di seguito:
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 |
La tabella indica chiaramente che l'output