Salta al contenuto
Note per Studenti Esercizio 21 · porta complessa D più A per B più C, dimensionamento e ritardi di Elmore (esempio dalle slide)

Esercizio 21porta complessa D più A per B più C, dimensionamento e ritardi di Elmore (esempio dalle slide)

Questa pagina non ha ancora la versione ripasso: qui sotto c'è il testo completo.

In questa pagina 8

Testo (esempio delle slide del corso: la funzione OUT=D+A (B+C)\text{OUT}=D+A\,(B+C) in CMOS statica, con la regola del dimensionamento per cammino e il ritardo di Elmore; i numeri sono calcolati con i dati dei temi). Realizzare in logica statica complementare la porta che dà F=D+A (B+C)‾F=\overline{D+A\,(B+C)}, dimensionarla in modo che nel caso peggiore le resistenze di pull-up e pull-down uguaglino quelle di un inverter di riferimento (Zn=1Z_n=1, Zp=r=Rp0/Rn0Z_p=r=R_{p0}/R_{n0}) e calcolare tpHLt_{pHL} e tpLHt_{pLH} nel caso peggiore con Cext=10 fFC_{ext}=10\ \mathrm{fF}.

Dati. Rn0=13 kΩR_{n0}=13\ \mathrm{k\Omega}, Rp0=31,5 kΩR_{p0}=31{,}5\ \mathrm{k\Omega} (per Z=1Z=1, r=2,42r=2{,}42), Cd0=Cs0=2 fF/μmC_{d0}=C_{s0}=2\ \mathrm{fF}/\mu\mathrm m, L=0,25 μmL=0{,}25\ \mu\mathrm m.

Teoria usata: 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 →, Porte logiche CMOS - ritardo di Elmore, fan-in e consumoIl ritardo di una porta dipende dalla configurazione degli ingressi: si calcola il caso peggiore (un solo cammino conduttivo, il più resistivo) e il caso migliore. Per una rete RC con transistor in serie si usa il ritardo di Elmore: t = 0,69 Σ_k C_k · R_k, con R_k la resistenza totale tra il nodo k e il generatore (massa o V_DD) lungo il cammino e C_k la capacità del nodo. Per NAND2 con R_n = R_p: t_pLH (caso peggiore) = 0,69 R_p C, t_pHL = 0,69·2R_n C, quindi t_pHL = 2 t_pLH; per NOR2 è l'opposto. Una NOR a N ingressi (tutti i transistor uguali, nodi interni trascurati): t_pLH = 0,69 R_p C N(N+1), t_pHL = 0,69 R_n C (N+1): il ritardo cresce col quadrato del fan-in, perciò si evitano fan-in maggiori di 4. Rimedi: dimensionamento progressivo (transistor più grandi dal lato opposto all'uscita), riordino degli ingressi (il più tardivo vicino all'uscita), cascata di porte con meno ingressi, buffer. La potenza dinamica dipende dalla probabilità di commutazione.Porte logiche CMOS - ritardo di Elmore, fan-in e consumo →.


1. Schema

F=f‾F=\overline f, f=D+A(B+C)f=D+A(B+C).

  • PDN: DD in parallelo con la serie di AA e del parallelo B∥CB\parallel C.
  • PUN (duale): DD in serie con il parallelo di AA e della serie BB–CC.

2. Dimensionamento per cammino più lungo

PDN — cammini di conduzione: DD (1 transistor); AA–BB e AA–CC (2 transistor). La resistenza del cammino a due transistor deve valere Rn0R_{n0}: ciascuno ha Zn=2Z_n=2 (R=6,5 kΩR=6{,}5\ \mathrm{k\Omega}); DD da solo Zn=1Z_n=1 (13 kΩ13\ \mathrm{k\Omega}). PUN — cammini: DD–AA (2 transistor); DD–BB–CC (3 transistor). Il cammino più lungo (D,B,CD,B,C) ha 33 transistor: Zp=3r=7,27Z_p=3r=7{,}27 per DD, BB, CC (ciascuno R=4,33 kΩR=4{,}33\ \mathrm{k\Omega}, i tre in serie 13 kΩ13\ \mathrm{k\Omega}); AA appartiene al cammino da 22: Zp=2r=4,85Z_p=2r=4{,}85 (R=6,5 kΩR=6{,}5\ \mathrm{k\Omega}; il cammino DD–AA vale 10,8 kΩ<13 kΩ10{,}8\ \mathrm{k\Omega}<13\ \mathrm{k\Omega}: più veloce del riferimento, non è il caso peggiore).

transistor ZZ W=ZLW=ZL Cd=Cd0WC_d=C_{d0}W
n-MOS AA, BB, CC 22 0,5 μm0{,}5\ \mu\mathrm m 1,0 fF1{,}0\ \mathrm{fF}
n-MOS DD 11 0,25 μm0{,}25\ \mu\mathrm m 0,5 fF0{,}5\ \mathrm{fF}
p-MOS DD, BB, CC 7,277{,}27 1,82 μm1{,}82\ \mu\mathrm m 3,64 fF3{,}64\ \mathrm{fF}
p-MOS AA 4,854{,}85 1,21 μm1{,}21\ \mu\mathrm m 2,42 fF2{,}42\ \mathrm{fF}

La somma dei fattori di forma è 33,733{,}7, contro i 3,423{,}42 dell'inverter (Zn+ZpZ_n+Z_p): la porta occupa circa dieci volte l'area dell'inverter, il costo della complessità.

3. Capacità

Per minimizzare la capacità di uscita il p-MOS DD (transistor singolo) è collegato all'uscita; nella PDN l'uscita tocca i drain di DD e di AA.

  • Uscita FF: p-MOS DD (3,643{,}64) + n-MOS DD (0,50{,}5) + n-MOS AA (1,01{,}0) + CextC_{ext} (1010): CF=15,1 fFC_F=15{,}1\ \mathrm{fF}.
  • Nodo interno XX (PDN, tra AA e B∥CB\parallel C): source di AA (1,01{,}0) e drain di BB e CC (2,02{,}0): 3,0 fF3{,}0\ \mathrm{fF}.
  • Nodo YY (PUN, tra DD e il gruppo): source di DD (3,643{,}64), drain di AA (2,422{,}42), terminale di BB (3,643{,}64): 9,7 fF9{,}7\ \mathrm{fF}.
  • Nodo ZZ (PUN, tra BB e CC): 3,64+3,64=7,3 fF3{,}64+3{,}64=7{,}3\ \mathrm{fF}.

4. Ritardi nel caso peggiore (Elmore)

tpHLt_{pHL} (cammino AA–BB o AA–CC, con XX carico): τHL=RBCX+(RB+RA)CF=6,5⋅3,0+13⋅15,1=19,5+196,8=216 ps,tpHL=0,69⋅216=149 ps\tau_{HL}=R_BC_X+(R_B+R_A)C_F=6{,}5\cdot3{,}0+13\cdot15{,}1=19{,}5+196{,}8=216\ \mathrm{ps},\quad t_{pHL}=0{,}69\cdot216=\boxed{149\ \mathrm{ps}} (solo il ramo DD: 0,69⋅13⋅15,1=136 ps0{,}69\cdot13\cdot15{,}1=136\ \mathrm{ps}).

tpLHt_{pLH} (cammino DD–BB–CC da VDDV_{DD}: nodi ZZ, YY, uscita con pesi 4,334{,}33, 8,678{,}67, 13 kΩ13\ \mathrm{k\Omega}): τLH=4,33⋅7,3+8,67⋅9,7+13⋅15,1=31,5+84,0+196,8=312 ps,tpLH=0,69⋅312=215 ps\tau_{LH}=4{,}33\cdot7{,}3+8{,}67\cdot9{,}7+13\cdot15{,}1=31{,}5+84{,}0+196{,}8=312\ \mathrm{ps},\quad t_{pLH}=0{,}69\cdot312=\boxed{215\ \mathrm{ps}} (cammino DD–AA: 157 ps157\ \mathrm{ps}).

Confronto: l'inverter di riferimento con lo stesso carico ha tp=0,69⋅13 kΩ⋅(1,71+10) fF=105 pst_p=0{,}69\cdot13\ \mathrm{k\Omega}\cdot(1{,}71+10)\ \mathrm{fF}=105\ \mathrm{ps}. La porta è più lenta di 1,4×1{,}4\times (149149 ps) in discesa e di 2,0×2{,}0\times (215215 ps) in salita nonostante le resistenze equivalenti uguali: contano le capacità dei nodi interni (qui 33 nodi con 20 fF20\ \mathrm{fF} in totale) e la capacità di uscita maggiore. La salita è peggiore perché la PUN ha tre elementi in serie. La porta è sbilanciata tra le due transizioni a causa dei nodi interni, non delle resistenze.

5. Miglioramenti (dalle slide)

  • Dimensionamento progressivo: nei cammini in serie ingrandire i transistor lontani dall'uscita e rimpicciolire quelli vicini (CC, in fondo alla serie DD–BB–CC, è il più lontano dall'uscita): riduzione fino al 20%20\% del ritardo.
  • Riordino: se AA commuta per ultimo, va collegato al transistor più vicino all'uscita.
  • Scomposizione: D+A(B+C)D+A(B+C) si può realizzare con porte più piccole in cascata.

6. Quesito d'esame collegato: funzione non invertente in uno stadio (giugno 2025)

La funzione F=a+bF=a+b può essere realizzata con un solo stadio CMOS complementare: a. in nessun caso: serve una funzione invertente; b. mettendo due n-MOS in parallelo nella rete di pull-down; c. solo avendo a disposizione anche i valori negati di aa e bb.

Risposta: c. Uno stadio complementare realizza F=f‾F=\overline f con ff la funzione della PDN. Con due n-MOS in parallelo (b) si ottiene a+b‾\overline{a+b} (NOR), non a+ba+b. Per ottenere a+b=a‾⋅b‾‾a+b=\overline{\overline a\cdot\overline b} in uno stadio basta una PDN con due n-MOS in serie pilotati dagli ingressi negati a‾\overline a, b‾\overline b (e una PUN con due p-MOS in parallelo con gli stessi gate). La (a) è falsa proprio per questo: con gli ingressi negati la funzione si realizza; senza serve un secondo stadio (NOR più inverter).

Verifica numerica

Python: dimensioni, capacità e ritardi di Elmore (149149 e 215 ps215\ \mathrm{ps}) confrontati con l'integrazione numerica delle scale RC (153153 e 230 ps230\ \mathrm{ps}: l'Elmore approssima con qualche percento di errore, per difetto).

Errori comuni

  • Dimensionare tutti i p-MOS come 2r2r (cammino da 22) dimenticando il cammino DD–BB–CC da 33.
  • Dimenticare di sommare i nodi interni nel ritardo di Elmore.
  • Attribuire all'uscita la capacità dei due drain di p-MOS in parallelo invece del solo transistor singolo (DD).

Esercizio 21 - porta complessa D più A per B più C, dimensionamento e ritardi di Elmore (esempio dalle slide)

Testo. F=D+A(B+C)‾F=\overline{D+A(B+C)}; riferimento Zn=1Z_n=1, Zp=r=2,42Z_p=r=2{,}42; Rn0=13R_{n0}=13 k, Rp0=31,5R_{p0}=31{,}5 k, Cd0=2C_{d0}=2 fF/μ\mum, L=0,25 μL=0{,}25\ \mum, Cext=10C_{ext}=10 fF.

  • Schema: PDN: D∥(AD\parallel(A-(B∥C))(B\parallel C)); PUN: DD-(A∥(B(A\parallel(B-C))C)).
  • Dimensioni (cammino più lungo): n-MOS: A,B,CA,B,C: Zn=2Z_n=2; DD: 11. p-MOS: D,B,CD,B,C: 3r=7,273r=7{,}27; AA: 2r=4,852r=4{,}85.
  • Capacità: uscita 3,64+0,5+1,0+10=15,13{,}64+0{,}5+1{,}0+10=15{,}1 fF; X=3,0X=3{,}0; Y=9,7Y=9{,}7; Z=7,3Z=7{,}3 fF.
  • Ritardi: tpHL=0,69(6,5⋅3+13⋅15,1)=149t_{pHL}=0{,}69(6{,}5\cdot3+13\cdot15{,}1)=149 ps; tpLH=0,69(4,33⋅7,3+8,67⋅9,7+13⋅15,1)=215t_{pLH}=0{,}69(4{,}33\cdot7{,}3+8{,}67\cdot9{,}7+13\cdot15{,}1)=215 ps; inverter 105105 ps.
  • Rimedi: dimensionamento progressivo, riordino, scomposizione.
  • Quesito giugno 2025: a+ba+b in uno stadio solo con gli ingressi negati (PDN: due n-MOS in serie su a‾,b‾\overline a,\overline b) (c).
  • Errori: 2r2r per tutti i p-MOS; nodi interni dimenticati; capacità di uscita.

Teoria collegata