# Esercitazioni pratiche di elettronica/Logica Combinatoria/Il Sommatore completo o Full-Adder

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

# FULL ADDER
## Cosa succede se dobbiamo sommare parole aventi più di un bit?

Si dice parola un numero binario avente più di una cifra, avremo generalmente a che fare con parole di 4, 8 16, 32 o più bit. Se abbiamo quindi parole con più di un bit, da sommare tra di loro, dobbiamo innanzitutto tenere conto dell'eventuale riporto CY ottenuto dalla somma della parola precedente, come facciamo quando si effettua una somma in base 10, per cui oltre che sommare i bit dello stesso peso, tra di loro, si dovrà sommare al risultato ottenuto, cioè al SUM, il riporto CY ottenuto dalla somma dei bit di peso minore sommati precedentemente?
Come abbiamo visto nel Semisommatore, CY può assumere anche il valore 1 logico, e dobbiamo aggiungerlo alla somma dei bit di peso successivo, altrimenti avremo un risultato errato.
È necessario, quindi, tenere conto nella somma di due bit dello stesso peso, del riporto precedente, e dunque dovremo realizzare un sommatore, detto Sommatore Completo o Full-Adder, apportando dei miglioramenti all' Half-Adder visto prima.
Costruiamo quindi la tabella di verità di un sommatore completo, un blocco di logica combinatoria avente come ingressi tre bits, i bit da sommare e il riporto precedente, che avrà come uscite la somma ed un riporto successivo, da sommare ai bits di peso successivo.
Chiamiamo A, e B i bit da sommare, CYIN il riporto precedente, o CARRY INPUT, e CYOUT o CARRY OUTPUT il riporto successivo, e continuiamo a chiamare SUM il risultato della somma. La nostra tabella della verità sarà dunque, un'estensione della tabella della verità del Semisommatore dove avremo un riporto precedente o CYIN che può assumere i valori 0 o 1 logico.

## Tabella di verità del Semisommatore

| B | A | SUM | CY |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |

## Tabella di verità del Sommatore Completo o con riporto

| CyIn | B | A | SUM | CyOut |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Come vedete, le prime quattro righe della tabella sono identiche a quelle del Semisommatore avente un riporto precedente, sottinteso, uguale a 0. Nelle ultime quattro righe invece si aggiunge alla somma ottenuta, il riporto che qui è uguale ad 1, il che produce dei risultati differenti.

## Blocco generico del Sommatore Completo
# Sintesi dello schema in logica combinatoria

Ora per costruire lo schema relativo a questa tabella possiamo procedere in due maniere differenti:

## Costruendo la funzione booleana

Questo è il metodo analitico.

## Funzione SUM

$SUM={\overline {CyIn}}{\bar {B}}A+{\overline {CyIn}}B{\bar {A}}+CyIn*{\bar {B}}{\bar {A}}+CyIn*BA$
$SUM={\overline {CyIn}}({\bar {B}}A+B{\bar {A}})+CyIn*({\bar {B}}{\bar {A}}+BA)$
$SUM={\overline {CyIn}}(B\oplus A)+CyIn*({\overline {B\oplus A}})$
$SUM=CyIn\oplus (A\oplus B)=CyIn\oplus A\oplus B$

## Funzione CYOUT

$CyOut={\overline {CyIn}}BA+CyIn*{\bar {B}}A+CyIn*B{\bar {A}}+CyIn*BA$
$CyOut={\overline {CyIn}}BA+CyIn*(B\oplus A)+CyIn*BA$
$CyOut=({\overline {CyIn}}+CyIn)BA+CyIn*(B\oplus A)$
$CyOut=(1)BA+CyIn*(B\oplus A)$
$CyOut=BA+CyIn*(B\oplus A)$

## Schema realizzato col procedimento analitico
# Utilizzando due semisommatori in cascata

Questo è il metodo intuitivo. Il primo semisommatore per sommare A e B ottenendo una somma ed un riporto, il secondo per sommare alla somma così ottenuta, il riporto precedente.