Università degli Studi di Pavia
Facoltà di Ingegneria
Corso di Laurea in Ingegneria Elettronica e delle Telecomunicazioni
Progetto di un Carry lookahead adder con
approccio misto Domino/Transmission-Gate
Relatrice:
Prof.ssa Carla Vacchi
Relatore:
Dott. Marco Castellano
Elaborato di laurea
di Stefano Zucca
Anno Accademico 2005/06
ARGOMENTI TRATTATI
• Caratteristiche di alcune architetture di sommatori: “Ripple
carry adder” e “Carry lookahead adder”
• Studio della logica dinamica Domino CMOS e problemi relativi
alla sua implementazione
• Progettazione e dimensionamento di un Carry lookahead
adder in logica Domino e Transmission-Gate
• Progettazione e dimensionamento di un Ripple carry adder in
logica fully CMOS
• Analisi e confronto delle prestazioni dei circuiti progettati
RIPPLE CARRY ADDER
• Elemento circuitale che effettua la
somma di due parole A e B formate
ognuna da N bit
• Cascata di blocchi Full Adder
• Struttura modulare
• Per eseguire la somma di parole con
N bit sono necessari N Tcout
• Tr ≈ 4Tcout
• PAROLE LUNGHE = TEMPI LUNGHI!
SOLUZIONE!
Utilizzo una diversa architettura di sommatore
Calcolo i riporti a partire dal riporto in ingresso e dai
bit che costituiscono le parole da sommare
Effettuo la somma dei bit contemporaneamente
Il tipo di sommatore che mi permette di fare
questo è il
Carry lookahead adder
CARRY LOOKAHEAD ADDER
Sommatore che utilizza la tecnica dell’accelerazione
del riporto
Generate
Gi = Ai * Bi
Propagate
Pi = Ai  Bi
Riporti
Couti = Cini+1 = Gi + Pi*Cini
Cout0 = G0 + P0 · Cin0
Cout1 = G1 + P1*(G0 + P0*Cin0)
Cout2 = G2 + P2*(G1 + P1*(G0 +P0*Cin0))
Cout3 = G3 + P3 *(G2 + P2 *(G1 + P1*(G0 + P0*Cin0)))
Somme
Si = Cini-1  Pi
Struttura che in genere si limita alla somma di
parole con non più di 4 bit
CARRY LOOKAHEAD ADDER A 16 BIT
P’’
G’’
Carry Lookahead Logic’’
,
P0
cin
,
G0
,
P1
cout,3
CLA’
cin
4
a03
4
b03
,
P2
cout,7
CLA’
cin
4
s03
,
G1
4
a47
4
b47
,
P3
cout,11
CLA’
cin
4
s47
,
G2
4
a811
4
b811
4
s811
,
G3
cout,16
CLA’
cin
4
4
4
a1216 b1216 s1216
Per sommatori con N > 4 si usano CLA connessi
gerarchicamente in cui i Generate e Propagate dell’intero
circuito (G’’ e P’’) sono generati a partire dai Generate e
Propagate locali (G’ e P’)
VANTAGGI E SVANTAGGI
• Vantaggio
- Tempo di ritardo proporzionale a log(N) nel
caso della struttura gerarchica
.
Svantaggi
- Aumento della complessità
- Maggior numero di porte logiche utilizzate
- Maggiore potenza dissipata
POSSIBILI LOGICHE DI
IMPLEMENTAZIONE
• LOGICA FULLY CMOS
(VISTA A LEZIONE)
Si è deciso di studiare tipi di logica che non fanno parte delle
conoscenze gia acquisite e progettare con esse il circuito:
• LOGICA DOMINO new!
• LOGICA TRANSMISSION-GATE new!
LOGICA DOMINO
Vdd
Vdd
Vdd
CK
Vdd
CK
OUT
Logica
inputs
C5
0
Logica
inputs
N
P
OUT
CK
C6
CK
Gnd
0
Gnd
0
0
In seguito viene illustrato il funzionamento della
logica Domino prendendo in considerazione un
inverter
FASE DI PRECARICA
Vdd
Vdd
0
out
1
CK
Precarica
out
C1
?
A
0
Gnd
0
CK
t
Gnd
0
INVERTER
FASE DI VALUTAZIONE (1)
Vdd
Vdd
1
CK
11
out
out
Precarica
Valutazione
C1
0
A
0
Gnd
1
CK
Gnd
0
t
FASE DI VALUTAZIONE (2)
Vdd
Vdd
11
out
CK
0
Precarica
Valutazione
out
C1
11
A
0
Gnd
11
CK
t
Gnd
0
VANTAGGI E SVANTAGGI RISPETTO
ALLA LOGICA FULLY CMOS
• VANTAGGI
– Diminuzione del numero di transistori utilizzati
per la realizzazione di porte logiche complesse
(quindi risparmio d’area)
– Maggiore velocità
• SVANTAGGI
– Maggiore complessità
– Necessità di un segnale di temporizzazione (CK)
CHARGE SHARING (1)
Supponiamo di trovarci
nella fase di precarica:
Vdd
Vdd
0
CK
1
out
- Supponiamo C2 scarico
C1
0
A
- C1 è carico
0
Gnd
0
0
C2
B
Gnd
0
CK
Gnd
0
- C1 = C2
0
- Transistor A e B interdetti
CHARGE SHARING (2)
Fase di valutazione:
Vdd
Vdd
A=1
1
CK
transistor acceso
out
C1
1
A
C1 SI SCARICA CARICANDO C2!
0
Gnd
0
C2
B
Gnd
0
1
CK
Gnd
0
Parziale
scarica di out
SOLUZIONE!
Vdd
Vdd
Precarico le capacità dei nodi
intermedi al valore corretto
Vdd
Vdd
0
0
CK
1
CK
out
C1
0
A
0
Gnd
1
0
C2
B
Gnd
0
CK
Gnd
0
0
Out non si scarica!
CORRENTI DI LEAKAGE
Correnti inverse che
scorrono attraverso le
giunzioni pn in un
transistor interdetto.
Vdd
Vdd
11
CK
11
out
C1
00
A
0
Gnd
11
CK
Fase di valutazione:
scorre una corrente inversa
nei transistori interdetti
che scarica il nodo out!
Gnd
0
Esistono soluzioni generali
(alta velocità)
PROGETTO DEL CLA A 4 BIT IN
LOGICA DOMINO NP
SCHEMA GENERALE DI UN CLA A 4 BIT
Per realizzare questa
cascata di porte logiche ho
deciso di utilizzare la logica
Domino NP (Zipper Domino)
LOGICA DOMINO NP
FUNZIONAMENTO
Vdd
Vdd
Vdd
Vdd
Vdd
0
Vdd
1
CK
0
- CK
1
1
OUT1
?
CK
0
1
Vdd
0
1
0
OUT3
C3
A
0
1
0
Gnd
0
- CK
1
CK
0
0
1
Gnd
0
Gnd
OUT2
1
CK
1
Gnd
0
Gnd
0
I tre inverter in cascata funzionano correttamente!
Se A = 0 OutN rimangono alla situazione di precarica
SCELTE PROGETTUALI
Bisogna decidere quali porte progettare in logica
P e quali in logica N:
• Porte relative ai segnali Generate e Propagate
progettate in logica P
• Porte relative ai segnali di Carry progettate in
logica N
COME PROGETTARE I BLOCCHI DI
SOMMA?
Si = Pi  Ci – 1
Blocchi di somma progettati
in logica Transmission-Gate
N
P
TG
LOGICA TRANSMISSION-GATE (1)
Vdd
A
1
1
1
Vdd
X
not(A )
A
0
0
A
0
B
1
Vdd
Gnd
X
0
Gnd
0
not(A )
OUT = A  B
B=1
B
1
out
not(A )
A=1
OUT = 1  1 = 0
LOGICA TRANSMISSION-GATE (2)
Vdd
A
A
Vdd
0
0
0
X
not(A )
1
Vdd
B
A
1
0
1
X
out
Gnd
A=0
B
1
OUT = 0  1 = 1
…….
not(A )
1
Gnd
1
not(A )
OUT = A  B
B=1
CONFRONTO CON LA LOGICA FULLY
CMOS
Vdd
Vdd
Vdd
not(A)
Vdd
A
A
B
Vdd
0
Vdd
not(B)
not(A)
out
Vdd
not(A)
A
not(B)
B
Gnd
Gnd
not(B)
B
0
Gnd
Gnd
Gnd
OUT = A  B
SERVE PIU’ AREA!
MULTIPLE OUTPUT DOMINO LOGIC
Vdd
Vdd
-CK
_C3
G3
-CK
_C2
Vdd
Vdd
0
_C1
Gnd
G1
RISPARMIO D’AREA
Gnd
C2
G2
Vdd
P1
Gnd
P2
-CK
-CK
C3
P3
Vdd
Gnd
0
Vdd
Vdd
-CK
P0
G0
Gnd
Gnd
_C0
C1
Gnd
Gnd
CI
0
Vdd
Gnd
-CK
C0
0
0
TEMPI DI RITARDO
SOSTANZIALMENTE
EQUIVALENTI
PRIMO DIMENSIONAMENTO DEL
CIRCUITO
• Lunghezza minima di canale L = 0,35 μm
.
Dimensionamento equal delay:
Consideriamo l’inverter a lato:
poiché μn ≈ 3μp, affinché esso sia
dimensionato equal delay dovrò
porre Wp ≈ 3Wn
Vdd
IN
3
OUT
1
0
0
due transistori posti in serie aventi parametro di transconduttanza k
sono equivalenti a un transistore con tale parametro pari a k/2 (cioé
è in grado di condurre la metà della corrente);
due transistori con le caratteristiche sopraelencate posti in parallelo
sono equivalenti a un transistore avente parametro di
transconduttanza pari a 2k, cioè in grado di condurre una corrente
di intensità doppia;
RAFFINAMENTO
Scarica del nodo
Tempo di scarica a
massa del nodo molto
maggiore del tempo di
precarica
Precarica del nodo
Tempo di scarica a
massa del nodo circa
uguale al tempo di
precarica
CIRCUITO CLA DIMENSIONATO
GE NER ATE _0
GE NER ATE _1
Vdd
Vdd
9
8
CK
0
Vdd
_A0
9 _B0
PR OPA GAT E_3
Vdd
Vdd
Vdd
Vdd
Vdd
Vdd
CK
12
CK
12
Vdd
Vdd
Vdd
Vdd
12
Vdd
Vdd
Vdd
Vdd
_A2
9 _B1
9
0
PR OPA GAT E_2
Vdd
CK
15
2
0
PR OPA GAT E_1
Vdd
G3
CK
2
2
PR OPA GAT E_0
8
G2
CK
0
_B3
8
G1
3
8
Vdd
_B2
8
G0
Vdd
8
Vdd
_B1
12
_A3
Vdd
9
Vdd
12
_A2
Vdd
CK
CK
Vdd
12
_A1
_B0
Vdd
CK
15
_A0
GE NER ATE _3
Vdd
CK
Vdd
CK
GE NER ATE _2
Vdd
CK
_A1
Vdd
9 _B2
9
9 _B3
9
_A3
9
Vdd
9 A0
B0
9 A1
9
B1
P0
9
9
A2
B2
P1
CK
CK
0
0
CA RRY
SU M_0
Vdd
3
_C3
_C1
Vdd
P1
3
1
Gnd
0
8
4
2
Gnd
Gnd
P0
S0
3
Gnd
Vdd
P1
S1
1
1
_C0
Gnd
1
Gnd
P1
Gnd
1
_C0
1
0
SU M_2
Vdd
8
16
P0
Gnd
_CI
Gnd
_C0
3
3
_CI
4
Gnd
G0
C2
G1
M22 7
-CK
Vdd
P0
Vdd
G2
3
-CK
1
3
3
3
0
P2
-CK
Vdd
Gnd
C0
CI
C3
Gnd
2
_C2
Vdd
CI
V3
3.3V dc
G3
-CK
Vdd
3
P3
3
SU M_1
Vdd
C0
Vdd
-CK
Vdd
2
0
Vdd
9
P3
CK
3
3
0
B3
P2
CK
3
9 A3
9
3
Gnd
Vdd
C1
SU M_3
C2Vdd
C1
C1
C2
CI
16
3
1
3
3
3
Gnd
0
-CK
24
Vdd
P2
Vdd
S2
Gnd
1
C0
_C1
Gnd
1
_C1
1
0
Vdd
P3
S3
Gnd
1
0
3
P2
_C2
Gnd
1
_C2
P3
PROGETTO DI UN RIPPLE CARRY
ADDER A 4 BIT IN LOGICA FULLY
CMOS (PER CONFRONTO)
SCHEMA GENERALE
SCHEMA CIRCUITALE DEL FULL ADDER
DI BASE
Vdd
Vdd
3
CI
A0
B0
18
Vdd
Vdd
Vdd
Vdd
3
A0
Vdd
B0
18
Vdd
Vdd
Vdd
A0
B0
CI
12
Vdd
18
3
B0
12
A0
6
1
Gnd
A0
1
B0
Gnd
6
Gnd
6
B0
Gnd
Gnd
B0
CI
3
Gnd
4
Gnd
A0
3
Vdd
1
CI
3
Vdd
Vdd
A0
3
CI
1
Gnd
Gnd
A0
9
3
1
Gnd
Vdd
B0
C0
1
Gnd
6
_C0
3
S0
1
CI
Gnd
Vdd
Gnd
1
Gnd
Gnd
0
SUM = ABC + (A + B + C)not(CARRY)
0
CONFRONTO PRESTAZIONI
Carry lookahead
adder
Domino
Carry lookahead
adder
fully CMOS
Ripple carry adder
fully CMOS
Tempo di ritardo
massimo
1,01 ns
2 ns
1,16 ns
Periodo di clock
minimo
2 ns
2,5 ns
1,7 ns
Numero transistori
a canale p
366
656
420
Numero transistori
a canale n
117
188
148
Area attiva
occupata
795 μm2
1390 μm2
935 μm2
Potenza dissipata
2,26 mW
2,70 mW
1,37 mW
FINE PRESENTAZIONE
Scarica

presentazione - Università degli Studi di Pavia