Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ELETTRONICA DIGITALE
- Relazione progetto -
Valerio Colamatteo
Matr.: 0040204
Introduzione.
La logica implementativa.
Questultimo, come a breve evidente, offre performance linearmente dipendenti dalla lunghezza degli
operandi, essenzialmente a causa dei ritardi di propagazione conseguiti nel corso della generazione della catena
dei riporti.
2
VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
3
Si riportano sinteticamente le relazioni booleane di afferenza per il full-adder: = 1 ,
= + ( ) 1
1
Una catena di FA, atta a realizzare le varie somme tra le coppie di bit4;
Nel caso di specie, diagrammato schematicamente nella figura in basso (CLA-8 bit), sono necessari 8 FA.
1,
allora
acquisir
valore
1,
altrimenti
il
valore
0.
= 1,
devessere
= 1,
cio
devessere
fornito
La casistica in cui entrambi i valori in questione valgano uno si pu apriori escludere, poich se cos fosse
varrebbe automaticamente 1 anche la Generate, e quindi anche luscita .
In definitiva risulta:
= + +1 = + = 1 + 1 1
La logica LAC, come mostrano le equivalenze appena mostrate, fa s che i vari riporti
possano essere agevolmente ricavati in via iterativa, ovvero, ad es. (ricordando che il carryin del primo FA coincide con il dellintero sommatore):
1 = ;
2 = 0 + 0 0 ;
= 1 + 1 1 ;
La struttura della logica LAC risulterebbe dunque essere di agevole complessit
elaborativa se si sfruttassero le funzioni 1 ai livelli i-esimi. Tuttavia, tali funzioni non
possono essere utilizzate, perch darebbero luogo al seguente problema di fondo:
Sebbene infatti il carry-in del livello i-esimo non dipenda pi dal carry-out del livello
(i-1)-esimo (come accadeva nel Ripple-Carry), esso verrebbe a dipendere dal carry-in del
livello (i-1)-esimo, da calcolare anchesso con conseguente perdita di tempo per lo stadio iesimo. I livelli di logica cos coinvolti nella funzione aumenterebbero di numero
allaumentare del valore dellindice i, con conseguente inevitabile aumento del tempo di
calcolo della funzione stessa. Entrambe le problematiche per possono essere risolte al
prezzo di aumentare la complessit del circuito: sufficiente infatti, a livello i-esimo, non
fare uso delle funzioni 1 fornite dai livelli precedenti, bens, banalmente, ricalcolarle
tutte.
7 = 6 +6 6 =
= 6 + 5 6 + 4 5 6 + 3 4 5 6 + 2 3 4 5 6 + 1 2 3 4 5 6
+ 0 1 2 3 4 5 6 + 0 1 2 3 4 5 6 ;
Le precedenti sono tutte funzioni a due livelli di logica (che diventano tre se
consideriamo anche il livello singolo delle funzioni Generate e Propagate), pertanto sono
estremamente veloci. Inoltre, le velocit di calcolo delle funzioni si equivalgono, ovvero
in prima approssimazione calcolare 1 richiede lo stesso tempo necessario per il computo
di 7 (poich entrambe sono funzioni a tre livelli appunto). Tuttavia, la complessit della
rete che realizza lultima funzione evidentemente molto maggiore di quella che realizza la
prima7. La complessit delle reti coinvolte nel calcolo dei riporti aumenta a dismisura con
laumentare della lunghezza delle parole da sommare, ma la velocit computazionale del
sommatore CLA si mantiene elevata ed indipendente da tale lunghezza. Ovvero, se
vogliamo, il funzionamento esattamente speculare di quello del sommatore Ripple-Carry,
dove allaumentare di N aumentava la lentezza ma rimaneva costante la complessit del
circuito (peraltro estremamente bassa).
infatti, 7 (per poter essere a 3 livelli di logica) richiede ben 7 porte AND ad ingressi via via crescenti (da
2 fino a 8), ed una porta OR da 8 ingressi.
7
La realizzazione in VHDL.
Tutte le simulazioni saranno da intendersi con un tempo di clock di 10ns e un end-time fissato a 200ns.