Esercitazioni pratiche di elettronica/Logica Combinatoria/Sommatore a 4 bit di tipo LOOK AHEAD CARRY: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 6: | Riga 6: | ||
del '''Full Adder''' |
del '''Full Adder''' |
||
'''Tabella di verità del Sommatore Completo o con riporto''' |
|||
A B Ci Sum Co |
|||
{| BORDER="1" CELLSPACING="0" CELLPADDING="2" |
|||
0 0 0 0 0 |
|||
! Ci !! B !! A !! SUM !! Co |
|||
0 0 1 1 0 |
|||
|- |
|||
0 1 0 1 0 |
|||
| 0|| 0||0|| '''0''' || '''0''' |
|||
0 1 1 0 1 |
|||
|- |
|||
1 0 0 1 0 |
|||
| 0|| 0||1|| '''1''' || '''0''' |
|||
1 0 1 0 1 |
|||
|- |
|||
1 1 0 0 1 |
|||
| 0|| 1||0|| '''1''' || '''0''' |
|||
1 1 1 1 1 |
|||
|- |
|||
| 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''' |
|||
|} |
|||
-Quando A=1 e B=1 indipendentemente da Ci genera un riporto Co=1 |
|||
*'''Prima osservazione''': quando '''A = 1''' e '''B = 1''' indipendentemente da '''Ci''' viene generato un riporto '''Co = 1''' |
|||
A B Ci Sum Co |
|||
Isolo le righe della tabella del Full-Adder che mi interessano nella seguente sotto-tabella: |
|||
1 1 0 0 1 |
|||
1 1 1 1 1 |
|||
Chiamo Carry-Generate la funzione CG=AB |
|||
{| BORDER="1" CELLSPACING="0" CELLPADDING="2" |
|||
! 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. |
|||
*'''Seconda osservazione''': 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: |
|||
-Se Ci=1 allora Co=1 sse A=1 oppure B=1 oppure sia A=1 che B=1 |
|||
Versione delle 12:21, 24 ott 2009
Circuito per la Generazione e propagazione del riporto
Nasce da alcune osservazioni sulla tabella della verità del Full Adder
Tabella di verità del Sommatore Completo o con riporto
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 |
- Prima osservazione: 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.
- Seconda osservazione: 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:
A B Ci Sum Co
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1
Chiamo Carry-Propagate la funzione CP=A+B; il riporto vale CP*Ci
Tenendo conto di entrambi otteniamo il riporto in uscita:
Co= CG + CP*Ci
-Espressione dei riporti per sommatore a 4 BITS
Sommatore di peso 0
〖Co〗_0=〖CG〗_0+〖CP〗_0*〖Ci〗_0
Sommatore di peso 1 Essendo 〖Ci〗_1=〖Co〗_0 ottengo: 〖Co〗_1=〖CG〗_1+〖CP〗_1*〖Ci〗_1=〖CG〗_1+〖CP〗_1*〖(CG〗_0+〖CP〗_0*〖Ci〗_0)= = 〖CG〗_1+〖CP〗_1*〖CG〗_0+〖CP〗_1*〖CP〗_0*〖Ci〗_0
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