Salta al contenuto
Note per Studenti Esercizio 1 · porta AOI a tre ingressi, dimensionamento, ritardi e consumo dinamico (tema d'esame giugno 2025)

Esercizio 1porta AOI a tre ingressi, dimensionamento, ritardi e consumo dinamico (tema d'esame giugno 2025)

Esame
In questa pagina 7

Testo (tema d'esame 17 giugno 2025, esercizio 1; stesso schema, con dati diversi, nel tema di settembre 2026: Esercizio 7 · porta AOI a quattro ingressi, dimensionamento, ritardi e consumo dinamico (tema d'esame settembre 2026)). Data la funzione logica F=A⋅B+C‾F=\overline{A\cdot B+C}:

  1. disegnare lo schema a livello di transistor in logica statica complementare in modo che la capacità di uscita sia minima;
  2. dimensionare tutti gli n-MOS con lo stesso fattore di forma ZnZ_n in modo che la resistenza di pull-down, nel caso peggiore, sia 10 kΩ10\ \mathrm{k\Omega};
  3. dimensionare tutti i p-MOS con lo stesso fattore ZpZ_p in modo che la resistenza di pull-up sia uguale a quella di pull-down;
  4. calcolare tpLHt_{pLH} e tpHLt_{pHL} nel caso peggiore con carico esterno CL=10 fFC_L=10\ \mathrm{fF};
  5. sapendo che gli ingressi commutano a 20 MHz20\ \mathrm{MHz} e che le probabilità di essere a 11 sono PA=0,4P_A=0{,}4, PB=0,3P_B=0{,}3, PC=0,1P_C=0{,}1, calcolare il consumo dinamico (trascurando i nodi di ingresso e quelli interni a PDN e PUN).

Dati. Per Zn=1Z_n=1: Rn=10 kΩR_n=10\ \mathrm{k\Omega}; per Zp=1Z_p=1: Rp=20 kΩR_p=20\ \mathrm{k\Omega}; Cs0=Cd0=1,5 fF/μmC_{s0}=C_{d0}=1{,}5\ \mathrm{fF}/\mu\mathrm m; VDD=2,5 VV_{DD}=2{,}5\ \mathrm V; Ln=Lp=0,25 μmL_n=L_p=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 →, Consumo di potenza nei circuiti CMOSNella logica CMOS il consumo è quasi tutto dinamico. Per ogni carica di C_L da 0 a V_DD l'alimentazione eroga E_DD = C_L V_DD²; metà (½C_L V_DD²) viene immagazzinata nella capacità e metà dissipata nel p-MOS, indipendentemente dal valore di R; nella scarica l'energia immagazzinata è dissipata nell'n-MOS e dall'alimentazione non si assorbe nulla. La potenza media è P = α C_L V_DD² f (α = probabilità di una transizione 0→1 per periodo; per un inverter che commuta a ogni ciclo α = 1; con probabilità di uno p₁ all'uscita α = p₁(1−p₁) se i valori successivi sono indipendenti). Non dipende dalle dimensioni dei transistor (solo da C_L), scala col quadrato di V_DD (dimezzare V_DD: potenza ÷4) ma abbassare V_DD rallenta il circuito. Si aggiungono la corrente di corto circuito (ingressi lenti) e le correnti di perdita.Consumo di potenza nei circuiti CMOS →.


1. Schema

F=f‾F=\overline f con f=AB+Cf=AB+C. La PDN (n-MOS) realizza ff: la serie di AA e BB (AND) in parallelo con CC (OR). La PUN (p-MOS) è la duale: il parallelo di AA e BB in serie con CC.

Per minimizzare la capacità di uscita si contano i drain collegati al nodo FF:

  • PDN: l'uscita è collegata a AA e a CC (i due rami in parallelo): 2 drain di n-MOS (non si può evitare);
  • PUN: si mette CC vicino all'uscita e il parallelo A∥BA\parallel B verso VDDV_{DD}: all'uscita arriva un solo drain di p-MOS (CC). Con il parallelo vicino all'uscita ce ne sarebbero due.

Quindi FF vede 3 drain (due n-MOS e un p-MOS). Nodi interni: XX tra AA e BB nella PDN (source di AA, drain di BB); YY tra il parallelo A∥BA\parallel B e CC nella PUN (drain di AA e BB, source di CC).

2. Dimensionamento degli n-MOS

Il caso peggiore del pull-down è quando conduce un solo cammino: la serie AA–BB (22 transistor; il ramo CC ha un solo transistor, più veloce). La resistenza è 2Rn0/Zn2R_{n0}/Z_n: 2 10 kΩZn=10 kΩ ⇒ Zn=2,Rn=102=5 kΩ per transistor.2\,\frac{10\ \mathrm{k\Omega}}{Z_n}=10\ \mathrm{k\Omega}\ \Rightarrow\ Z_n=2,\qquad R_n=\frac{10}{2}=5\ \mathrm{k\Omega}\ \text{per transistor}.

3. Dimensionamento dei p-MOS

Il caso peggiore del pull-up è CC in serie con uno solo tra AA e BB (22 transistor in serie). Imponendo RPU=RPD=10 kΩR_{PU}=R_{PD}=10\ \mathrm{k\Omega}: 2 20 kΩZp=10 kΩ ⇒ Zp=4,Rp=204=5 kΩ per transistor.2\,\frac{20\ \mathrm{k\Omega}}{Z_p}=10\ \mathrm{k\Omega}\ \Rightarrow\ Z_p=4,\qquad R_p=\frac{20}4=5\ \mathrm{k\Omega}\ \text{per transistor}. Larghezze: Wn=ZnL=0,5 μmW_n=Z_nL=0{,}5\ \mu\mathrm m, Wp=ZpL=1 μmW_p=Z_pL=1\ \mu\mathrm m.

4. Tempi di propagazione nel caso peggiore

Capacità (C=Cd0WC=C_{d0}W): Cdn=1,5⋅0,5=0,75 fFC_{dn}=1{,}5\cdot0{,}5=0{,}75\ \mathrm{fF}, Cdp=1,5⋅1=1,5 fFC_{dp}=1{,}5\cdot1=1{,}5\ \mathrm{fF}.

  • Nodo di uscita: 2 Cdn+Cdp+CL=1,5+1,5+10=13 fF2\,C_{dn}+C_{dp}+C_L=1{,}5+1{,}5+10=\mathbf{13\ fF}.
  • Nodo XX: Csn+Cdn=1,5 fFC_{sn}+C_{dn}=1{,}5\ \mathrm{fF}.
  • Nodo YY: due drain p-MOS e il source di CC: 3⋅1,5=4,5 fF3\cdot1{,}5=4{,}5\ \mathrm{fF}.

tpHLt_{pHL} (uscita scende). Caso peggiore: commuta BB (o AA) con l'altro ingresso già a 11 e C=0C=0: conduce solo la serie AA–BB, e il nodo interno XX è carico e va scaricato. Ritardo di Elmore (peso 11 per XX, peso 22 per l'uscita): τHL=Rn CX+2Rn CF=5 kΩ⋅1,5 fF+10 kΩ⋅13 fF=7,5+130=137,5 ps,\tau_{HL}=R_n\,C_X+2R_n\,C_{F}=5\ \mathrm{k\Omega}\cdot1{,}5\ \mathrm{fF}+10\ \mathrm{k\Omega}\cdot13\ \mathrm{fF}=7{,}5+130=137{,}5\ \mathrm{ps}, tpHL=0,69⋅137,5 ps=94,9 ps.\boxed{t_{pHL}=0{,}69\cdot137{,}5\ \mathrm{ps}=94{,}9\ \mathrm{ps}.} (Senza il nodo interno: 0,69⋅10 kΩ⋅13 fF=89,7 ps0{,}69\cdot10\ \mathrm{k\Omega}\cdot13\ \mathrm{fF}=89{,}7\ \mathrm{ps}.)

tpLHt_{pLH} (uscita sale). Caso peggiore: conduce un solo p-MOS tra AA e BB più CC (A=0A=0 o B=0B=0, C=0C=0), con il nodo YY scarico da caricare: τLH=Rp CY+2Rp CF=5⋅4,5+10⋅13=22,5+130=152,5 ps,tpLH=0,69⋅152,5=105,2 ps.\tau_{LH}=R_p\,C_Y+2R_p\,C_F=5\cdot4{,}5+10\cdot13=22{,}5+130=152{,}5\ \mathrm{ps},\qquad\boxed{t_{pLH}=0{,}69\cdot152{,}5=105{,}2\ \mathrm{ps}.} (Senza nodo interno: 89,7 ps89{,}7\ \mathrm{ps}.) Con entrambi AA e BB a 00 il ramo A∥BA\parallel B avrebbe resistenza dimezzata: caso migliore.

Le due transizioni sono quasi uguali: la porta è bilanciata dal dimensionamento (RPU=RPDR_{PU}=R_{PD}); la lieve differenza è dovuta ai nodi interni (4,54{,}5 contro 1,5 fF1{,}5\ \mathrm{fF}).

5. Consumo dinamico

Probabilità che F=1F=1: F=1F=1 se A⋅B=0A\cdot B=0 e C=0C=0: p1=(1−PAPB)(1−PC)=(1−0,12)(0,9)=0,792,p0=0,208.p_1=(1-P_AP_B)(1-P_C)=(1-0{,}12)(0{,}9)=0{,}792,\qquad p_0=0{,}208. Attività (transizioni 0→10\to1 per ciclo): α=p0p1=0,165\alpha=p_0p_1=0{,}165. La capacità commutata è quella di uscita, CF=13 fFC_F=13\ \mathrm{fF} (interni e ingressi trascurati): P=α CF VDD2 f=0,165⋅13⋅10−15⋅6,25⋅2⋅107=0,268 μW.P=\alpha\,C_F\,V_{DD}^2\,f=0{,}165\cdot13\cdot10^{-15}\cdot6{,}25\cdot2\cdot10^7=\boxed{0{,}268\ \mu\mathrm W.} (Se si considerasse solo CLC_L: 0,206 μW0{,}206\ \mu\mathrm W.)

Verifica numerica

I tempi sono stati ricalcolati con Python in due modi: formula di Elmore (94,994{,}9 e 105,2 ps105{,}2\ \mathrm{ps}) e integrazione numerica della scala RC a due nodi (96,596{,}5 e 109,3 ps109{,}3\ \mathrm{ps} al 50%50\%): l'Elmore approssima di pochi percento. Il consumo è confermato con p1=0,792p_1=0{,}792.

Errori comuni

  • Dimensionare con Zn=1Z_n=1 senza tener conto che nel caso peggiore due n-MOS sono in serie (Zn=2Z_n=2).
  • Mettere A∥BA\parallel B vicino all'uscita nella PUN: 4 drain sull'uscita invece di 3.
  • Dimenticare di contare tra i capacitori del nodo di uscita i drain dei transistor, e non solo CLC_L.
  • Usare p1p_1 invece di p0p1p_0p_1 per l'attività.

Versione ripasso

Testo. F=AB+C‾F=\overline{AB+C}, Rn0=10R_{n0}=10 k, Rp0=20R_{p0}=20 k, Cd0=1,5C_{d0}=1{,}5 fF/μ\mum, L=0,25 μL=0{,}25\ \mum, VDD=2,5V_{DD}=2{,}5 V, CL=10C_L=10 fF, f=20f=20 MHz, PA,PB,PC=0,4;0,3;0,1P_A,P_B,P_C=0{,}4;0{,}3;0{,}1; RPD=RPU=10R_{PD}=R_{PU}=10 k.

  • Schema: PDN: (AA serie BB) ∥\parallel CC; PUN: CC serie (A∥BA\parallel B), con CC vicino all'uscita (3 drain sull'uscita).
  • Dimensioni: pull-down: 2Rn0/Zn=102R_{n0}/Z_n=10 k ⇒Zn=2\Rightarrow Z_n=2 (55 k ciascuno); pull-up: 2Rp0/Zp=102R_{p0}/Z_p=10 k ⇒Zp=4\Rightarrow Z_p=4 (55 k); Wn=0,5W_n=0{,}5, Wp=1 μW_p=1\ \mum.
  • Capacità: uscita 2⋅0,75+1,5+10=132\cdot0{,}75+1{,}5+10=13 fF; XX: 1,51{,}5 fF; YY: 4,54{,}5 fF.
  • Ritardi: tpHL=0,69(5⋅1,5+10⋅13)=94,9t_{pHL}=0{,}69(5\cdot1{,}5+10\cdot13)=94{,}9 ps; tpLH=0,69(5⋅4,5+10⋅13)=105,2t_{pLH}=0{,}69(5\cdot4{,}5+10\cdot13)=105{,}2 ps (senza nodi interni 89,789{,}7 ps).
  • Potenza: p1=(1−0,12)(0,9)=0,792p_1=(1-0{,}12)(0{,}9)=0{,}792, α=0,165\alpha=0{,}165; P=αCVDD2f=0,268 μP=\alpha C V_{DD}^2f=0{,}268\ \muW.
  • Errori: Zn=1Z_n=1; A∥BA\parallel B all'uscita; solo CLC_L; p1p_1 al posto di p0p1p_0p_1.

Esercizi su questo argomento

Teoria collegata