Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica Corso di Elettronica Digitale Anno Accademico 2005/2006 Esercitazione 2 – Porte logiche CMOS Dato il layout nella figura della pagina successiva e sapendo che il processo è un processo CMOS 0.6 µm con le seguenti caratteristiche (considerare Keq=0.7): VTH µCOX COX COV CJ CJSW DIFF P+ Processo CMOS 0.6µm – VDD=3.3V NMOS PMOS 0.609 (V) 0.609 (V) 25e-6 (A/V2) 75e-6 (A/V2) 2 3.5 (fF/µm ) 3.5 (fF/µm2) 0.138 (fF/µm) 0.138 (fF/µm) 0.776 (fF/µm2) 0.816 (fF/µm2) 0.345 (fF/µm) 0.355 (fF/µm) a) Disegnare il circuito implementato e ricavare tutti i parametri geometrici di interesse dei MOS b) Calcolare i tempi di propagazione HL e LH di caso peggiore supponendo che il carico sia un inverter a dimensioni minime (Lp=Ln=0.6um, Wp=3.6um, Wn=1.2um) c) Scrivere la netlist per la verifica dei tempi di simulazione calcolati POLY 3µm DIFF N+ Figura 1: Layout della porta 20 Ottobre 2005 ED - Massimo Barbaro 2 1 a1) Funzionalità Per individuare la funzione implementata si può partire dalla PDN o dalla PUN. Ovviamente la PDN sarà costituita da tutti gli NMOS (quelli in basso) e la PUN dai PMOS (quelli in alto, dentro la NWELL). Per trovare gli NMOS cerchiamo tutte le intersezioni fra POLY (polisilicio) e DIFF N+ (diffusione n+). Ce ne sono solo 2 che danno luogo a 2 transistor in serie fra uscita e massa. Nella PUN invece ci sono (cerco le intersezioni fra POLY e DIFF P+) 2 PMOS ma sono in parallelo fra l’uscita e la VDD. b) Tempi di propagazione I transistor sono già dimensionati quindi possiamo identificare immediatamente il caso peggiore nel caso della commutazione HL: il caso in cui il transistor M4 (quello più in basso) commuta per ultimo (quando M3 già conduce) essendo così costretto a pilotare tutte le capacità parassite intermedie. Nel caso della commutazione LH il caso peggiore è sempre quello in cui conduce uno solo dei 2 rami, però nella situazione in cui va pilotata la capacità più grande, anche in questo caso il caso peggiore è quello in cui commuta M1 con M2 spento perché in tal caso M3 è acceso e cortocircuita il nodo intermedio 1 con l’uscita (quindi bisogna pilotare anche quella capacità parassita). Transizione HL La commutazione peggiore è quella in cui il segnale A commuta e B=1. In tal caso si richiede di pilotare sia il nodo di uscita Z che il nodo parassita 1. In tale condizione, si può inizialmente considerare il nodo 1 come cortocircuitato all’uscita (non è rigorosamente così ma approssimiamo). Calcolo di CL Per trovare la capacità di carico complessiva bisogna innanzitutto calcolare le varie capacità parassite che danno contributo al calcolo del tempo di propagazione. Bisogna andare a vedere uno per uno tutti i nodi del circuito che devono essere scaricati (siamo in una commutazione HL) e tenere conto della capacità parassite che vi sono connesse. Poiché alcuni segnali sono già a 1 ed altri a 0 ci possono essere dei nodi interni (nel nostro caso c’è un solo nodo interno, il nodo 1) che sono connessi inizialmente all’uscita e devono perciò essere scaricati insieme ad essa. Figura 2: Schematico della porta La porta logica implementa evidentemente una porta NAND a2) Dimensioni Le dimensioni dei vari MOS sono indicate in tabella, ma i drain dei 2 pmos sono COINCIDENTI (quindi possiamo considerare che metà dell’area e del perimetro della diffusione appartengano al drain di M1 e metà a quello di M2). Analogamente source di M3 e drain di M4 sono COINCIDENTI (sono la stessa diffusione) quindi metà del perimetro dell’area saranno attribuiti al source di M3 e metà al drain di M4. PMOS NOME W L AD PD AS PS M1 3.6E-06 0.6E-06 4.32E-12 2.4E-06 7.56E-12 7.8E-06 M2 3.6E-06 0.6E-06 4.32E-12 2.4E-06 7.56E-12 7.8E-06 NMOS 20 Ottobre 2005 NOME W L AD PD AS PS M3 1.2E-06 0.6E-06 3.6E-12 6.6E-06 0.72E-12 1.2E-06 M4 1.2E-06 0.6E-06 0.72E-12 1.2E-06 3.6E-12 6.6E-06 ED - Massimo Barbaro 3 1 Nodo Z (vedi Figura 4 in fondo al documento): Essendo il nodo Z l’uscita deve sicuramente essere scaricato in una transizione HL. Vi sono collegate le seguenti capacità parassite: Capacità di diffusione: Cdb1=Keq(CJ AD1 + CJSW PD1)= 3 fF Cdb2=Keq(CJ AD2 + CJSW PD2)= 3 fF Cdb3= Keq(CJ AD3 + CJSW PD3)= 3.5 fF Capacità di gate: Cgd1=COV W1=0.5fF (andrà poi pesata 2 per tenere conto dell’effetto Miller perché connessa fra ingresso ed uscita) Cgd2=COV W2=0.5fF (non va moltiplicata per 2 perché non è connessa fra ingresso ed uscita ma fra uscita ed una tensione costante) Cgd3=COV W3=0.167fF (non è pesata 2 per effetto Miller perché non è connessa fra ingresso ed uscita ma solo fra uscita ed una tensione costante) Cpz=(3+3+3.5+2*0.5+0.5+0.167)fF=11.2fF Nodo 1 (vedi Figura 5 in fondo al documento): Il nodo 1 deve essere scaricato perché è inizialmente connesso all’uscita (tramite M3 che è chiuso essendo B=1). Vi sono collegate le seguenti capacità parassite: Capacità di diffusione: Csb3=Keq(CJ AS3 + CJSW PS3)= 0.7 fF Cdb4= Keq(CJ AD4 + CJSW PD4)= 0.7 fF Capacità di gate: Cgs3=COV W3=0.167fF (non è pesata 2 per effetto Miller perché non è connessa fra ingresso ed uscita ma solo fra uscita ed una tensione costante) Cgd4=COV W4=0.167fF (andrà poi pesata 2 per tenere conto dell’effetto Miller perché connessa fra ingresso ed uscita) Cp1=(0.7+0.7+0.167+2*0.167)fF=1.9fF 20 Ottobre 2005 ED - Massimo Barbaro 4 1 Il carico offerto dall’inverter è: CL’=Cgp+Cgn=COX(WpLp+WnLn)=COX(Wp+Wn)Lmin= 10 fF c) Netlist spice La capacità di carico totale è: CL=CL’+Cpz+Cp1 = 23.1 fF Calcolo di Isatn Bisogna a questo punto trovare la corrente di saturazione del transistor equivalente alla rete di pulldown composta da due MOS con W/L=(1.2/0.6)=2 in serie equivalenti quindi ad un unico MOS con W/L=1. Isatn=1/2µCOXW/L(VDD-VTH)2=272uA tpHL=(CL VDD)/(2 Isatn)= 140 psec Transizione LH Calcolo di CL La CL è evidentemente identica alla transizione HL (comunque si fanno gli stessi ragionamenti) per via del fatto che la transizione peggiore è quella in cui B=1 (che cortocircuita il nodo 1 all’uscita) e A commuta da 1 a 0 Calcolo di Isatp La Isatp è quella di un singolo pmos con W=3.6u L=0.6u (W/L=6): * Simulazione Nand * Inclusione modelli .include models.dat * Circuito (la sintassi spice è case-insensitive) * Nand M1 out1 inA vdd vdd mp w=3.6u l=0.6u ad=4.32e-12 as=7.56e-12 pd=2.4e-6 ps=7.8e-6 M2 out1 inB vdd vdd mp w=3.6u l=0.6u ad=4.32e-12 as=7.56e-12 pd=2.4e-6 ps=7.8e-6 M3 out1 inB 1 0 mn w=1.2u l=0.6u ad=3.6e-12 as=0.72e-12 pd=6.6e-6 ps=1.2e-6 M4 1 inA 0 0 mn w=1.2u l=0.6u as=3.6e-12 ad=0.72e-12 ps=6.6e-6 pd=1.2e-6 * Carico M5 out2 out1 vdd vdd mp w=3.6u l=0.6u ad=0 as=0 pd=0 ps=0 M6 out2 out1 0 0 mn w=1.2u l=0.6u ad=0 as=0 pd=0 ps=0 * Alimentazione (il nodo 0 è sempre la massa) Vdd vdd 0 dc 3.3 * Generatore di Ingresso VinB inB 0 3.3 Vin inA 0 dc 0 pulse 0 3.3 1n 1p 1p 1n 2n *Analisi in transitorio .tran 1p 3n .end Isatn=1/2µCOXW/L(VDD-VTH)2=543uA tpLH=(CL VDD)/(2 Isatp)= 70 psec 150psec 105psec Figura 3: Simulazione in transitorio L’errore rispetto ai valori calcolati (grande soprattutto per LH) è dovuto alla approssimazione di considerare la rete di pull-down come equivalente a quella di un nmos con W metà di quelli originali (in serie) ed anche al fenomeno, non calcolato da noi, del forte accoppiamento fra la rapida variazione dell’ingresso e l’uscita, che genera gli spike (i picchi) molto pronunciati nella transizione. Come si vede la nostra approssimazione di modello del primo ordine non è accurata perché in tale caso non si avrebbe overshoot nell’uscita che comincerebbe subito a decrescere esponenzialmente. In realtà l’uscita prima cresce fino addirittura a superare VDD e solo dopo comincia a decrescere esponenzialmente. Inoltre non abbiamo considerato che per alcuni MOS la capacità Cgd o Cgs non è data solo dal contributo di overlap ma anche dal contributo del canale (quello che dipende dalla regione di funzionamento). 20 Ottobre 2005 ED - Massimo Barbaro 5 1 20 Ottobre 2005 ED - Massimo Barbaro 6 1 Effetto Miller Non c’è effetto Miller (fra uscita e tensione costante) Figura 4: Capacità parassite connesse al nodo Z - HL Effetto Miller Figura 5: Capacità parassite connesse al nodo 1 - HL 20 Ottobre 2005 ED - Massimo Barbaro 7 1 20 Ottobre 2005 ED - Massimo Barbaro 8 1