Esercitazioni pratiche di elettronica/Logica Combinatoria/Sommatore a 4 bit di tipo LOOK AHEAD CARRY

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search

Sintesi del circuito per la Generazione e propagazione del riporto[modifica]

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]

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]

  • 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 Generate.JPG

Carry-Propagate[modifica]

  • 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 Propagate.JPG

RipGen.JPG

Carry-Out[modifica]

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.


CarryOut.JPG

Espressione dei riporti per sommatore a 4 BITS[modifica]

Sommatore di peso 0[modifica]

Sommatore di peso 1[modifica]

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]

CarryGenProp4Bit.JPG


Assemblaggio del sommatore LAC[modifica]

A questo punto possiamo aggiungere i sommatori completi o full-adder privi della circuiteria preposta alla generazione del carry-out.


Semi-sommatore privato del carry-out[modifica]

HalfAdderNoCarryOut.JPG

Sommatore completo privato del carry-out[modifica]

FullAdderNoCarryOut.JPG

Sommatore a 4 bit di tipo Look-Ahead-Carry assemblato[modifica]

Sum4BitLAC.JPG

Simulazione del sommatore LAC[modifica]

Simul4BitLAC.JPG