Per progettare un addizionatore abbiamo bisogno di:
- Half - Adder: Circuito che somma 2 bit
- Full - Adder: Circuito che somma 3 bit
Un Half-Adder prende in ingresso 2 bit e restituisce una somma e il riporto:
HALF - ADDER
Dove S indica l’unita della somma e C il riporto
Un Full-Adder prende in ingresso 3 bit, 2 sono gli addendi mentre il terzo e il riporto generato precedentemente, i Full-Adder infatti vanno utilizzati in sequenza.
FULL - ADDER
Dove i indica la posizione attuale
Possiamo realizzare un FULL ADDER anche con 2 HALF ADDER
Ripple Carry Adder
Questo è la tipologia di addizionatore più semplici ma anche più lenta che possiamo realizzare, l’addizionatore a propagazione di riporto.
L’ultimo riporto non è altro che il **bit di overflow.
Operazioni in CA2
Possiamo anche eseguire operazioni con numeri negativi, l’importante è ricondurre tutto ad una somma, ad esempio:
Possiamo utilizzare un RPA ma sostituiamo il primo HA con un FA e aggiungiamo un linea di selezione SEL che useremo per scegliere se sommare B o B negato.
Questa “tecnica” di utilizzare le porte AND con delle linee di selezione prende il nome di GATING. Questo è l’addizionatore più lento che possiamo costruire dato che deve aspettare la propagazione del riporto