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 a03 4 b03 , P2 cout,7 CLA’ cin 4 s03 , G1 4 a47 4 b47 , P3 cout,11 CLA’ cin 4 s47 , G2 4 a811 4 b811 4 s811 , G3 cout,16 CLA’ cin 4 4 4 a1216 b1216 s1216 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