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

Decodificatore e Codificatore

PLA - Programmable Logic Array

Multiplexer - MUX

ROM - Read Only Memory

Demultiplexer - DEMUX

Transcodificatore

Comparatore

ALU