# Esercitazioni pratiche di elettronica/Logica Combinatoria/Implementazione di una funzione tramite multiplexer

Esercitazioni pratiche di elettronica
Copertina Tutti i moduli · Sviluppo
* IntroduzioneEsercitazioni pratiche di elettronica/Introduzione
* Lezioni:
** Simulazione dei principali circuiti con amplificatore operazionaleEsercitazioni pratiche di elettronica/Simulazione dei principali circuiti con amplificatore operazionale
** Differenza fra segnali analogici e segnali digitaliEsercitazioni pratiche di elettronica/Differenza fra segnali analogici e segnali digitali
** Introduzione alle logiche TTLEsercitazioni pratiche di elettronica/Introduzione alle logiche TTL
** Classi fondamentali dei circuiti digitaliEsercitazioni pratiche di elettronica/Classi fondamentali dei circuiti digitali
** I sistemi di numerazioneEsercitazioni pratiche di elettronica/I sistemi di numerazione
*** Conversione da base 2 in base 10Esercitazioni pratiche di elettronica/I sistemi di numerazione/Conversione da base 2 in base 10
*** Conversione da base 10 in base 2Esercitazioni pratiche di elettronica/I sistemi di numerazione/Conversione da base 10 in base 2
*** Conversione da base 10 in base 16Esercitazioni pratiche di elettronica/I sistemi di numerazione/Conversione da base 10 in base 16
** Il ciclo di progettoEsercitazioni pratiche di elettronica/Il ciclo di progetto
** Software ISE-XILINX Free WebpackEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack:
*** Finestra principaleEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Finestra principale
*** Creazione di un nuovo progettoEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Creazione di un nuovo progetto
*** Creazione di uno schemaEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Creazione di uno schema
*** Creazione di un file VHDLEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Creazione di un file VHDL
*** Creazione di una Macchina a Stati FinitiEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Creazione di una Macchina a Stati Finiti
*** Il file di piedinaturaEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Il file di piedinatura
*** La simulazioneEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/La simulazione
*** L'implementazione su scheda e il testEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/L'implementazione su scheda e il test
* Esercitazioni di laboratorioEsercitazioni pratiche di elettronica/Esercitazioni di laboratorio
** Logica CombinatoriaEsercitazioni pratiche di elettronica/Logica Combinatoria:
*** Implementazione di una funzioneEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Implementazione di una funzione
*** Dalla tabella della verità all'implementazioneEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Dalla tabella della verità all'implementazione
*** Il multiplexerEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il multiplexer
*** Implementazione di una funzione tramite multiplexerEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Implementazione di una funzione tramite multiplexer
*** Il Semisommatore o Half-AdderEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il Semisommatore o Half-Adder
*** Il Sommatore completo o Full-AdderEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il Sommatore completo o Full-Adder
*** Full-Adder realizzato con mux a 3 ingressi di selezioneEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Full-Adder realizzato con mux a 3 ingressi di selezione
*** Full-Adder realizzato con mux a 2 ingressi di selezioneEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Full-Adder realizzato con mux a 2 ingressi di selezione
*** Sommare due parole di 4 bitEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Sommare due parole di 4 bit
*** Sommatore a 4 bit di tipo LOOK AHEAD CARRYEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Sommatore a 4 bit di tipo LOOK AHEAD CARRY
*** Il ComparatoreEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il Comparatore
*** Il Comparatore a più bitEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il Comparatore a più bit
*** Il decodificatore da BCD a sette segmentiEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il decodificatore da BCD a sette segmenti
*** Il decodificatore da BCD a 7 segmenti in VHDLEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il decodificatore da BCD a 7 segmenti in VHDL
*** Multiplexing di più display a 7 segmentiEsercitazioni pratiche di elettronica/Logica Combinatoria/Multiplexing di più display a 7 segmenti
* Logica SequenzialeEsercitazioni pratiche di elettronica/Logica Sequenziale:
** Flip Flop di tipo DEsercitazioni pratiche di elettronica/Logica Sequenziale/Flip Flop di tipo D
** Flip Flop di tipo JK
** Flip Flop di tipo TEsercitazioni pratiche di elettronica/Logica Sequenziale/Flip Flop di tipo T
** Contatore e-o divisore modulo 2Esercitazioni pratiche di elettronica/Logica Sequenziale/Contatore e-o divisore modulo 2
** Contatori in cascataEsercitazioni pratiche di elettronica/Logica Sequenziale/Contatori in cascata
** Macchine a Stati FinitiEsercitazioni pratiche di elettronica/Logica Sequenziale/Macchine a Stati Finiti
* Elaborazione di Progetti ComplessiEsercitazioni pratiche di elettronica/Elaborazione di progetti complessi
* Risorse per il laboratorioEsercitazioni pratiche di elettronica/Risorse per il laboratorio
* Laboratorio di SistemiEsercitazioni pratiche di elettronica/Laboratorio di Sistemi
* AcronimiEsercitazioni pratiche di elettronica/Acronimi
* AutoriEsercitazioni pratiche di elettronica/Autori
Modifica il sommario
Se dovessimo implementare una funzione booleana espressa tramite la seguente tabella della verità, ci troveremmo di fronte ad un notevole lavoro nel costruire lo schema relativo ad essa, in quanto, come precedentemente affermato, l'implementazione richiederebbe una porta AND a 4 ingressi (di cui negati quelli con valore 0 logico), per ogni riga della tabella che presentasse un'uscita $Y=1$, e nel nostro caso si dovrebbero utilizzare ben 10 porte AND a 4 ingressi ad una porta OR a 10 ingressi essendo 10 le righe con uscita 1...
| $S_{3}$ | $S_{2}$ | $S_{1}$ | $S_{0}$ | Y |
| 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 |
Siete d'accordo?
Beh! è vero che si potrebbero adottare delle semplificazioni, applicare alcuni teoremi (che al momento non conosciamo), ma ad ogni modo il tutto richiederebbe un bel lavoro analitico ed una discreta conoscenza dell'algebra booleana, senza poi tenere conto degli eventuali, e sempre possibili, errori che si potrebbero introdurre durante i passaggi analitici.
Ma esiste un metodo molto più semplice per implementare la funzione data che è facilmente applicabile utilizzando un multiplexer, ed è quello che faremo in questo caso per presentare allo studente la potenza dei multiplexer ed una delle possibili utilizzazioni che si possono fare di questo interessante dispositivo.
Non ci dimentichiamo che si sta trattando sempre e solo di logica combinatoria, ed uno de nostri scopi è sfruttare al massimo questo tipo di tecnologia in modo da poter scegliere la soluzione migliore e più veloce per risolvere un problema che ci si potrebbe presentare nello sviluppo di sistemi più complicati, come faremo nelle lezioni successive.
I passi da seguire sono i seguenti:
* Ci vuole un multiplexer con M ingressi pari al numero delle righe della tabella di verità.
* Il nostro multiplexer avrà S ingressi di selezione pari a $S=log_{2}M$
* Si collegano i nostri ingressi, in questo caso $S_{3},S_{2},S_{1},S_{0}$ agli ingressi di selezione del multiplexer.
* Si forzano ad 1 (VCC) o a 0 (GND) gli ingressi del multiplexer secondo le uscite della tabella della verità data.

### Come funziona?

Secondo la combinazione delle variabili di ingresso $S_{3},S_{2},S_{1},S_{0}$ viene selezionato il relativo ingresso del multiplexer che abbiamo provveduto precedentemente a forzare ad 1 (VCC) o a 0 (GND), e viene inviato all'uscita Y, ottenendo così il funzionamento desiderato dalla tabella di verità.

### La simulazione

Mostra che a fronte delle 16 combinazioni dei 4 ingressi $S_{3},S_{2},S_{1},S_{0}$ l'uscita Y è quella desiderata.