Reti combinatorie
Differenza fra reti combinatorie e sequenziali, funzioni booleane fondamentali con le relative porte logiche, esercizi e problemi, multiplexer, demultiplexer e comparatori.
Ragionare come una macchina
Da questo momento in poi occorre smettere di pensare al mondo reale come a una distesa di valori continui, descrivibili come grandezze analogiche, e iniziare a pensare in termini discreti, esprimendo le grandezze di interesse sotto forma di bit e sequenze di bit. Si ricorda brevemente la differenza fra analogico e digitale.

Tutti i sistemi che si studieranno da questo momento sono descritti dalle regole dell’elettronica digitale. In particolare si distingue fra reti combinatorie e reti sequenziali.
Reti combinatorie:
Sono sistemi caratterizzati dal non avere memoria, cioè la cui uscita dipende solo dall’ingresso nell’istante presente. Si chiamano combinatori perché l’uscita in qualunque istante di tempo si può scrivere semplicemente come combinazione degli ingressi.
Un classico esempio è la calcolatrice: il risultato dei calcoli si ottiene esclusivamente sulla base dei valori inseriti in quel momento; i calcoli fatti in precedenza non hanno alcuna influenza sul risultato attuale.
Se la calcolatrice ha la funzione memoria (M), il sistema non è più combinatorio, ma appartiene alle reti sequenziali.
Reti sequenziali:
Si vede che cosa succede quando la calcolatrice permette di memorizzare un risultato. Si eseguono le seguenti operazioni:
- istante : ;
- istante : memorizzazione del risultato ();
- istante : .

L’uscita nell’istante dipende da ciò che è avvenuto nell’istante . In particolare, la variabile di memoria rappresenta una variabile di stato del sistema.
Da questo concetto nasce il nome: i sistemi sequenziali sono così detti perché il valore delle uscite non dipende solo dalla combinazione degli ingressi, ma anche dalla loro sequenza temporale, cioè dalla loro storia, dall’ordine in cui avvengono, e questo è possibile solo se il sistema è dotato di memoria.
Le reti combinatorie
Alla base delle reti combinatorie ci sono le funzioni booleane note AND, OR e NOT, alle quali si affiancano i blocchi multiplexer e demultiplexer, amichevolmente detti MUX e DEMUX. Tramite la terna AND, OR e NOT è possibile realizzare qualunque funzione booleana (si dice che costituisce un insieme completo), mentre i MUX/DEMUX permettono di combinare più funzioni fra loro.
Funzione AND
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |

Funzione OR
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |

Funzione NOT
| A | Y |
|---|---|
| 0 | 1 |
| 1 | 0 |

Funzione XOR (OR esclusiva)
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |

Funzione NAND (NOT AND)
| A | B | Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |

Funzione NOR (NOT OR)
| A | B | Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |

Esercizi e problemi
Es. 1 – Realizzare la funzione tramite porte logiche.
Es. 2 – Realizzare la funzione tramite porte logiche.
Es. 3 – Realizzare la funzione tramite porte logiche.
Es. 4 – Realizzare la funzione tramite porte logiche.
Es. 5 – Ricavare la funzione logica corrispondente all’uscita, dato il seguente circuito.

Es. 6 – Ricavare la funzione logica corrispondente all’uscita, dato il seguente circuito.

Problemi
Problema 1. All’interno di un condominio si vuole installare un sistema di apertura remota del portone attraverso due pulsanti, e , collocati rispettivamente nell’androne dell’edificio e nel citofono, all’interno di ciascuna abitazione, che quando premuti inviano un segnale alto (= 1). Tale sistema deve poter funzionare solamente quando il portiere non è in servizio, pertanto si decide di installare un interruttore nella guardiola, così da inviare un segnale alto quando la porta è chiusa. Sia lo stato del portone (aperto = 1, chiuso = 0): scrivere la funzione logica del sistema e la sua realizzazione circuitale.
Problema 2. Un condomino dell’edificio del problema precedente fa notare che, poiché il portiere lavora per 8 ore, cioè 1/3 della giornata, l’interruttore invia il segnale elettrico per 16 ore, cioè 2/3 della giornata, con conseguente dispendio di energia elettrica e aggravio sulla bolletta comune. Egli propone dunque di adottare una soluzione per cui l’interruttore invii il segnale alto per le sole 8 ore di servizio del portiere, mentre per le restanti 16 ore resti aperto, con conseguente risparmio collettivo. Pertanto l’interruttore viene montato in modo da restare chiuso quando la porta della guardiola è aperta, inviando così il segnale alto, mentre rimane nello stato aperto quando la porta è chiusa. Scrivere la nuova funzione logica e il relativo circuito.
Problema 3. In un impianto di produzione si costruiscono pezzi da montare sul cupolino degli aerei. Questi pezzi vengono analizzati nel reparto di controllo e collaudo ed eventualmente scartati o sottoposti a revisione. In particolare, ogni pezzo è trasportato da un nastro e sottoposto alla verifica di tre requisiti essenziali:
- un controllo del peso, attraverso una bilancia: se superiore a 3,2 kg riceve una segnalazione;
- un controllo dell’altezza, attraverso un tastatore: se superiore a 6,5 cm riceve una segnalazione;
- un controllo della trasparenza, attraverso un fascio luminoso: se risulta più opaco del 20% riceve una segnalazione.
I pezzi con almeno due segnalazioni sono scartati, mentre gli altri sono sottoposti a revisione. Al termine del nastro un binario mobile sposta i pezzi da scartare in una vaschetta denominata «A», mentre gli altri in una vaschetta denominata «B». Scrivere la tabella di verità del sistema e ricavarne la funzione logica.
Soluzione dei problemi
Problema 1. Il portone si apre quando sono verificate sia la condizione sia una delle due: oppure . La funzione logica in uscita è
il cui circuito digitale è il seguente:

Problema 2. La nuova uscita del sistema deve tenere conto che, per aprire il portone, deve ora essere verificata la condizione . L’uscita vale quindi
e il circuito corrispondente è il seguente:

Problema 3. Per ciascuna verifica si può definire una variabile logica, per un totale di 3 variabili , , , imponendo che il valore alto indichi la presenza di una segnalazione. L’uscita logica è alta se il pezzo è da scartare, quindi destinato alla vaschetta «A», ed è bassa se il pezzo prosegue, quindi destinato alla vaschetta «B». Affinché il pezzo sia da scartare occorre che siano alte almeno due variabili, quindi solo in tal caso. La tabella di verità è la seguente:
| S₁ | S₂ | S₃ | Y |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Si ricava la funzione logica osservando la corrispondenza tra i valori dell’uscita e quelli dell’ingresso: l’uscita è alta se sono alte almeno due variabili di ingresso, quindi deve valere oppure oppure . La funzione logica dell’uscita si scrive allora
Il circuito corrispondente è il seguente:

Multiplexer e demultiplexer
Il multiplexer è un componente che realizza una selezione fra i suoi ingressi e la trasferisce all’uscita. Ad esempio, un multiplexer (o mux) 4×1 è dotato di 4 linee di ingresso dati, 2 linee di selezione e 1 uscita, come in figura.

A ogni ingresso è associato un indice, cioè 0, 1, 2 e 3. Gli ingressi di selezione e sono 2 bit che insieme determinano un numero compreso fra 0 e 3, come gli indici ( è il bit più significativo, secondo l’ordine «B A» riportato sul simbolo). In tal modo l’ingresso determinato da e viene inviato in uscita. Ad esempio, se e , allora e quindi il dato selezionato è , per cui .
Più in generale, ingressi di selezione comandano ingressi dati.
Il bit , presente fra gli ingressi, rappresenta il cosiddetto bit di abilitazione (Enable) che, come si vede dal simbolo, è negato, cioè attivo a livello basso: funziona quando vale 0. Esso permette di abilitare o disabilitare completamente il multiplexer; solo quando il multiplexer è abilitato l’uscita presenta il nuovo dato selezionato.
La tabella di verità del multiplexer 4×1 è la seguente:
| B | A | Y |
|---|---|---|
| 0 | 0 | D₀ |
| 0 | 1 | D₁ |
| 1 | 0 | D₂ |
| 1 | 1 | D₃ |
Si può inoltre realizzare un mux 4×1 attraverso la seguente rete logica:

Dalle etichette delle porte AND si legge l’espressione dell’uscita:
È importante notare che i costruttori non utilizzano 0 e 1 per rappresentare i livelli basso e alto, ma le lettere L e H. Inoltre si possono adottare sia le notazioni in logica positiva ( e ) sia quelle in logica negativa ( e ). L’ingresso di abilitazione () del multiplexer visto più su è un classico esempio di logica negativa.
Il demultiplexer svolge la funzione inversa del multiplexer, in quanto invia l’unico ingresso verso una fra uscite , individuata dagli ingressi di selezione e . In figura sono mostrati il blocco e la realizzazione con porte logiche del demultiplexer 1×4.

Infine, la tabella di verità del demux 1×4 è la seguente:
| B | A | Y₀ | Y₁ | Y₂ | Y₃ |
|---|---|---|---|---|---|
| 0 | 0 | I | 0 | 0 | 0 |
| 0 | 1 | 0 | I | 0 | 0 |
| 1 | 0 | 0 | 0 | I | 0 |
| 1 | 1 | 0 | 0 | 0 | I |
I comparatori
Un componente molto utilizzato in elettronica (sia digitale sia analogica) è il comparatore, che effettua un confronto fra due ingressi indicando quale dei due è il maggiore.

La figura rappresenta il simbolo circuitale e la caratteristica di ingresso e uscita. I due ingressi sono e , confrontati l’uno con l’altro. L’uscita è al valore alto se ed è bassa se .
Un comparatore utilizzato spesso è l’integrato 74LS85, mostrato in figura.

I pin sono descritti come segue:
- data input: rappresentano le 4 cifre binarie dei due numeri da confrontare;
- output: i pin 5, 6 e 7 forniscono il risultato del confronto, secondo quanto indicato in figura e nella tabella seguente;
- cascading input: si usano per espandere il numero di ingressi, collegando altri comparatori in serie.
La tabella che mostra le uscite è la seguente:
| Confronto | pin 5 | pin 6 | pin 7 |
|---|---|---|---|
| 1 | 0 | 0 | |
| 0 | 1 | 0 | |
| 0 | 0 | 1 |
In dettaglio, il comparatore 74LS85 effettua un confronto bit a bit, partendo da quelli più significativi e procedendo poi verso i restanti: confronta quindi prima e e, solo se questi due sono uguali, passa a e , e così via.
Esempio. Siano e .

Si confronta nell’ordine seguente:
- ;
- ;
- ;
- .
Quindi .
