Il sommatore a 4 bit: sommare numeri interi
Con un sommatore completo per colonna si possono sommare numeri di qualunque grandezza. Quattro sommatori completi in catena formano un sommatore a 4 bit: somma due numeri da 0 a 15 e dà una somma di 4 bit più un riporto in uscita per i risultati oltre 15.
Esempi controllati dalla verifica
I numeri sono scritti in decimale: S è la somma senza il riporto, Cout il riporto.
| A | B | S | Cout |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 2 | 0 |
| 3 | 4 | 7 | 0 |
| 7 | 8 | 15 | 0 |
| 9 | 6 | 15 | 0 |
| 15 | 1 | 0 | 1 |
| 15 | 15 | 14 | 1 |
| 8 | 8 | 0 | 1 |
| 5 | 10 | 15 | 0 |
| 12 | 3 | 15 | 0 |
| 6 | 7 | 13 | 0 |
| 14 | 13 | 11 | 1 |
Come funziona
Funziona esattamente come la somma in colonna sulla carta. Il primo sommatore completo somma i bit più bassi. Il suo riporto entra nel Cin del successivo, e così via fino al bit più alto. L’ultimo riporto in uscita dice se il risultato era troppo grande per 4 bit.
Questo schema si chiama ripple carry (riporto in cascata), perché il riporto si propaga da uno stadio al successivo. È semplice, ma ogni stadio deve aspettare il precedente: per questo i processori veloci usano sommatori più furbi.
In GateLab gli ingressi A e B sono bus a 4 bit. Uno Splitter divide un bus in fili singoli e un altro Splitter riunisce i bit della somma.
Suggerimenti e soluzione
Prova prima da solo. Ogni suggerimento svela un po’ di più.
- Dividi ogni bus a 4 bit in bit singoli con uno Splitter.
- Collega in catena quattro sommatori completi: il riporto di ciascuno entra nel Cin del successivo.
- Costruisci una volta il sommatore completo come circuito a parte (livello “Sommatore completo”), poi usalo quattro volte.
- Riunisci i quattro bit della somma in un bus con un altro Splitter.