Esercitazioni pratiche di elettronica/Logica Combinatoria/Sommatore a 4 bit di tipo LOOK AHEAD CARRY
Sintesi del circuito per la Generazione e propagazione del riporto
[modifica | modifica sorgente]Nasce da alcune osservazioni sulla tabella della verità del Full Adder con l'obiettivo di realizzare un sommatore più veloce del RIPPLE-CARRY che è ancora una soluzione provvisoria per un sommatore, in quanto si degna di darci un risultato soltanto quando tutti i circuiti hanno raggiunto una condizione di stabilità dovuta ai ritardi di propagazione interni ai circuiti stessi. Qui si vuole in qualche modo prevedere in anticipo quali saranno i riporti in ingresso ai vari stadi del circuito in modo che in un solo passo tutti i Full-Adder eseguano la propria somma, in un certo senso in parallelo.
Tabella di verità del Sommatore Completo o con riporto
[modifica | modifica sorgente]Ci | B | A | SUM | Co |
---|---|---|---|---|
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 |
Carry-Generate
[modifica | modifica sorgente]- Quando A = 1 e B = 1 indipendentemente da Ci viene generato un riporto Co = 1
Isolo le righe della tabella del Full-Adder che mi interessano nella seguente sotto-tabella:
Ci | B | A | SUM | Co |
---|---|---|---|---|
0 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Chiamo Carry-Generate la funzione CG = AB relativa all'ultima colonna della tabella precedente.
Carry-Propagate
[modifica | modifica sorgente]- Se Ci = 1 allora Co = 1 sse(se e solo se) A = 1 oppure B = 1 oppure sia A = 1 che B = 1
Anche in questo caso, isolo le righe della tabella del Full-Adder che mi interessano e costruisco un'altra funzione di logica combinatoria:
Ci | B | A | SUM | Co |
---|---|---|---|---|
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Chiamo Carry-Propagate la funzione CP = A + B; il riporto vale CP * Ci
Carry-Out
[modifica | modifica sorgente]Tenendo conto di entrambe le conclusioni delle due precedenti osservazioni, otteniamo il riporto in uscita:
Co = CG + CP * Ci
Possiamo ritenere questa conclusione valida? La risposta è Sì! perché abbiamo costruito la logica-combinatoria che realizza la colonna del riporto in uscita al Full-Adder tenndo conto di tutte le righe aventi uscita uguale a '1 e poi le abbiamo sommate anche se abbiamo preso in considerazione qualche riga più di una volta soltanto, e direi che va evidenziato il fatto che non sempre una semplificazione del circuito con Karnaugh si rende necessaria, ma che ogni elaborazione di un circuito va sempre presa in considerazione delle finalità, cioè degli obiettivi che ci si propone di raggiungere, come nel nostro caso in cui stiamo cercando di realizzare un sommatore più veloce del tipo RIPPLE-CARRY visto in precedenza.
Espressione dei riporti per sommatore a 4 BITS
[modifica | modifica sorgente]Sommatore di peso 0
[modifica | modifica sorgente]
Sommatore di peso 1
[modifica | modifica sorgente]Essendo ottengo:
- Es4: Ricavare le funzioni successive e costruire il CIRCUITO GENERATORE DI RIPORTI
Lo schema avrà nome RipGen
- Es5: Realizzare un sommatore Look-Ahead-Carry a 4 bits
Lo schema si chiamerà Sum4BitLAC
Circuito per la Generazione e propagazione del riporto
[modifica | modifica sorgente]
Assemblaggio del sommatore LAC
[modifica | modifica sorgente]A questo punto possiamo aggiungere i sommatori completi o full-adder privi della circuiteria preposta alla generazione del carry-out.