Salta al contenuto
Note per Studenti Logica pseudo-nMOS e logiche a carico

Logica pseudo-nMOS e logiche a carico

In questa pagina 6

La logica CMOS complementare (Porte logiche CMOS - struttura statica complementare e dimensionamentoUna porta CMOS statica complementare ha una rete di pull-down (PDN, n-MOS) verso massa e una di pull-up (PUN, p-MOS) verso V_DD, duali tra loro: serie ↔ parallelo. La PDN conduce quando la funzione f degli ingressi vale 1 e porta l'uscita a 0, quindi F = NOT f (le porte a uno stadio sono invertenti). Serie di n-MOS = AND, parallelo = OR; i p-MOS (chiusi con ingresso basso) fanno l'opposto. Escursione completa, nessun consumo statico, ritardo da R e C di uscita. Dimensionamento: si parte dall'inverter di riferimento (Z_n = 1, Z_p = r ≈ 2,4) e si scala ogni transistor del numero di transistor della serie peggiore a cui appartiene, così che la resistenza nel caso peggiore uguagli quella dell'inverter (NAND2: Z_n = 2, Z_p = r; NOR2: Z_n = 1, Z_p = 2r). Per un obiettivo R_pd = R*: Z_n = m R_n0/R* con m transistor in serie nel cammino peggiore. Per minimizzare la capacità di uscita si collegano all'uscita meno drain possibile.Porte logiche CMOS - struttura statica complementare e dimensionamento →) usa 2N2N transistor per NN ingressi: ogni ingresso carica un n-MOS e un p-MOS. Se si accetta di perdere qualcosa sul livello basso si può sostituire la PUN con un solo transistor che fa da carico: si ottiene una logica a rapporto (ratioed logic), perché i livelli logici dipendono dal rapporto tra le dimensioni dei transistor.

Struttura della porta pseudo-nMOS

  • PDN: la stessa rete di n-MOS della CMOS complementare, tra l'uscita e massa.
  • Carico: un p-MOS con il gate collegato a massa (sempre acceso, VSG=VDDV_{SG}=V_{DD}) tra VDDV_{DD} e l'uscita.

Funzionamento: se la PDN non conduce (tutti i rami aperti) l'uscita è tirata a VDDV_{DD} dal p-MOS: VOH=VDDV_{OH}=V_{DD}. Se la PDN conduce, p-MOS e PDN formano un partitore: l'uscita non va a 00 ma a un livello VOL>0V_{OL}>0 e scorre corrente continua da VDDV_{DD} a massa. La funzione è F=f‾F=\overline f come nella CMOS statica. Per NN ingressi servono N+1N+1 transistor (invece di 2N2N): meno area e minore capacità sugli ingressi. Per questo è usata in strutture molto larghe (decoder, PLA, ROM: Memorie a semiconduttore - struttura a matrice, decoder e ROMLe memorie a semiconduttore si classificano in lettura/scrittura (SRAM, DRAM: volatili) e sola lettura (ROM a maschera, PROM, EPROM, EEPROM, Flash: non volatili); l'accesso è casuale o non casuale (FIFO, registri a scorrimento, CAM). La struttura è a matrice di celle: una word line (WL) seleziona una riga attraverso il decoder di riga (N indirizzi → 2^N WL), una bit line (BL) porta il dato alla colonna scelta dal decoder/multiplexer di colonna e dal sense amplifier. La ROM a NOR ha per ogni bit line un p-MOS di carico e n-MOS dove il bit è 0 (con WL alta tirano la BL a massa): compatta e veloce; la ROM a NAND ha serie di n-MOS ed è molto più piccola ma più lenta. Ritardo di una WL: R del polisilicio × C dei gate (Elmore); di una BL: C dei drain con la R dei transistor o del carico.Memorie a semiconduttore - struttura a matrice, decoder e ROM →).

Livello logico basso VOLV_{OL}

Formula (livello logico basso della logica pseudo-nMOS). Con Vin=VDDV_{in}=V_{DD} e un solo ramo conduttivo (caso peggiore, PDN equivalente con fattore ZnZ_n) l'n-MOS ha VDS=VOLV_{DS}=V_{OL} piccolo ed è in zona lineare, il p-MOS ha VSD=VDD−VOLV_{SD}=V_{DD}-V_{OL} grande ed è in saturazione (per VSD≥VDD−∣VTp∣V_{SD}\ge V_{DD}-\lvert V_{Tp}\rvert). Uguagliando le correnti: kn′Zn[(VDD−VTn)VOL−VOL22]=∣kp′∣2Zp (VDD−∣VTp∣)2 (1+∣λp∣(VDD−VOL)).k'_nZ_n\Big[(V_{DD}-V_{Tn})V_{OL}-\frac{V_{OL}^2}2\Big]=\frac{\lvert k'_p\rvert}2Z_p\,(V_{DD}-\lvert V_{Tp}\rvert)^2\,\big(1+\lvert\lambda_p\rvert(V_{DD}-V_{OL})\big). Equazione di secondo grado in VOLV_{OL} (scegliere la radice con VOL<VDD−VTnV_{OL}<V_{DD}-V_{Tn}). Si verifica poi la regione dei due transistor. Per VOL≪VDD−VTnV_{OL}\ll V_{DD}-V_{Tn} e λ=0\lambda=0 vale l'approssimazione VOL≈∣kp′∣Zp (VDD−∣VTp∣)22 kn′Zn (VDD−VTn).V_{OL}\approx\frac{\lvert k'_p\rvert Z_p\,(V_{DD}-\lvert V_{Tp}\rvert)^2}{2\,k'_nZ_n\,(V_{DD}-V_{Tn})}.

Esempio (kn′=115k'_n=115, kp′=−30 μA/V2k'_p=-30\ \mu\mathrm A/\mathrm V^2, VTn=0,4V_{Tn}=0{,}4, VTp=−0,4 VV_{Tp}=-0{,}4\ \mathrm V, λn=0,06\lambda_n=0{,}06, λp=−0,1 V−1\lambda_p=-0{,}1\ \mathrm V^{-1}, VDD=2,5 VV_{DD}=2{,}5\ \mathrm V). Inverter pseudo-nMOS con Zn=4Z_n=4, Zp=2Z_p=2: VOL=0,176 VV_{OL}=0{,}176\ \mathrm V (con λ=0\lambda=0: 0,142 V0{,}142\ \mathrm V; l'approssimazione dà 0,137 V0{,}137\ \mathrm V). Con Zn=6Z_n=6, Zp=2Z_p=2: 0,116 V0{,}116\ \mathrm V. Più grande è Zn/ZpZ_n/Z_p, più basso è il livello; ma VOLV_{OL} non può mai raggiungere 00. La porta riesce a pilotare un ingresso solo se VOL<VILV_{OL}<V_{IL} della porta pilotata con margine sufficiente; ogni riduzione di VOLV_{OL} costa area.

Potenza statica

Quando l'uscita è bassa la corrente di regime è quella del carico: I=IDnI=I_{Dn} calcolata al punto di lavoro, e Pstat=VDD IP_{stat}=V_{DD}\,I. Nell'esempio Zn=4Z_n=4, Zp=2Z_p=2: I=163 μAI=163\ \mu\mathrm A e P=2,5⋅163 μA=0,41 mWP=2{,}5\cdot163\ \mu\mathrm A=0{,}41\ \mathrm{mW}, anche senza commutazioni. Quando l'uscita è alta la PDN non conduce e il consumo statico è (ideale) nullo. Perciò la pseudo-nMOS si usa solo dove il numero di ingressi o la velocità giustificano il costo. Il consumo statico dipende dal p-MOS di carico: un carico più debole riduce corrente e potenza ma allunga il ritardo di salita.

Ritardi

Formula (ritardi della logica pseudo-nMOS).

Esempio. Con Rn=3,25 kΩR_n = 3{,}25\ \mathrm{k\Omega}, Rp=15,75 kΩR_p = 15{,}75\ \mathrm{k\Omega} e CL=23 fFC_L = 23\ \mathrm{fF}: tpHL=0,69⋅3,25⋅23≈52 pst_{pHL} = 0{,}69 \cdot 3{,}25 \cdot 23 \approx 52\ \mathrm{ps} e tpLH=0,69⋅15,75⋅23≈250 pst_{pLH} = 0{,}69 \cdot 15{,}75 \cdot 23 \approx 250\ \mathrm{ps}.

  • Esempio: CL=20 fFC_L=20\ \mathrm{fF} più le capacità di drain (Cd0=2 fF/μmC_{d0}=2\ \mathrm{fF}/\mu\mathrm m, L=0,25 μmL=0{,}25\ \mu\mathrm m): CL=20+4+1=23 fFC_L=20+4+1=23\ \mathrm{fF}. Rn=13/4=3,25 kΩR_n=13/4=3{,}25\ \mathrm{k\Omega}, Rp=31,5/2=15,75 kΩR_p=31{,}5/2=15{,}75\ \mathrm{k\Omega}: tpHL=0,69⋅3,25 kΩ⋅23 fF=52 pst_{pHL}=0{,}69\cdot3{,}25\ \mathrm{k\Omega}\cdot23\ \mathrm{fF}=52\ \mathrm{ps}, tpLH=0,69⋅15,75 kΩ⋅23 fF=250 pst_{pLH}=0{,}69\cdot15{,}75\ \mathrm{k\Omega}\cdot23\ \mathrm{fF}=250\ \mathrm{ps}: salita cinque volte più lenta della discesa.

Il compromesso di dimensionamento: ZpZ_p piccolo ⇒\Rightarrow VOLV_{OL} basso e potenza bassa, ma salita lenta; Zn/ZpZ_n/Z_p grande ⇒\Rightarrow VOLV_{OL} bassa, ma ZnZ_n più grande aumenta le capacità.

Altri carichi e altre applicazioni

Errori comuni

  • Dire che VOL=0V_{OL}=0: dipende dal rapporto delle dimensioni.
  • Dimenticare la potenza statica: la porta consuma corrente per tutto il tempo in cui l'uscita è bassa.
  • Calcolare tpLHt_{pLH} con RnR_n (la salita è del p-MOS di carico).
  • Usare la zona lineare per il p-MOS: ha VSDV_{SD} grande (quasi VDDV_{DD}) ed è in saturazione, e l'n-MOS è lineare (verificare comunque).

Versione ripasso

Esercizi su questo argomento

Teoria collegata