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

Sintesi del circuito per la Generazione e propagazione del riportoModifica

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 riportoModifica

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-GenerateModifica

  • 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-PropagateModifica

  • 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-OutModifica

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 BITSModifica

Sommatore di peso 0Modifica

 

Sommatore di peso 1Modifica

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 riportoModifica

 


Assemblaggio del sommatore LACModifica

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-outModifica

 

Sommatore completo privato del carry-outModifica

 

Sommatore a 4 bit di tipo Look-Ahead-Carry assemblatoModifica

 

Simulazione del sommatore LACModifica