Salta al contenuto
Note per Studenti Esercizio 6 · rete di pass-transistor n-MOS a quattro vie, funzione, livelli e ritardo (tema d'esame luglio 2025)

Esercizio 6rete di pass-transistor n-MOS a quattro vie, funzione, livelli e ritardo (tema d'esame luglio 2025)

Esame
In questa pagina 7

Testo (tema d'esame 2 luglio 2025, esercizio 3). Si consideri il circuito in figura.

  1. Determinare l'espressione della funzione logica Z(A,B,C,D)Z(A,B,C,D).
  2. Disegnare lo schema elettrico del circuito che realizza la stessa funzione in logica CMOS statica a un singolo stadio, supponendo di avere gli ingressi sia in forma diretta sia negata.
  3. Supponendo che A,B,C,DA,B,C,D varino tra 00 e VDDV_{DD}, calcolare il massimo e il minimo valore della tensione VZV_Z ai capi di CLC_L.
  4. Tracciare la transcaratteristica VZ(VA)V_Z(V_A) indicando i punti di spezzamento (con VC=VD=VDDV_C=V_D=V_{DD}).
  5. Con VB=VC=VDDV_B=V_C=V_{DD}, VA=0V_A=0, e VDV_D portato istantaneamente da 00 a VDDV_{DD}, determinare il tipo di transizione (HL o LH) sul nodo di uscita e il relativo tempo di propagazione (tutti i transistor hanno Wn=0,6 μmW_n=0{,}6\ \mu\mathrm m e CL=30 fFC_L=30\ \mathrm{fF}).

Dati. Ln=Lp=0,35 μmL_n=L_p=0{,}35\ \mu\mathrm m; kn′=90 μA/V2k'_n=90\ \mu\mathrm A/\mathrm V^2; VT0n=0,6 VV_{T0n}=0{,}6\ \mathrm V; λn=0,2 V−1\lambda_n=0{,}2\ \mathrm V^{-1}; VDD=3 VV_{DD}=3\ \mathrm V; Cd0=Cs0=2 fF/μmC_{d0}=C_{s0}=2\ \mathrm{fF}/\mu\mathrm m; Rn0=12 kΩR_{n0}=12\ \mathrm{k\Omega} (W=1 μmW=1\ \mu\mathrm m). Effetto body nullo.

Figura (descritta). Otto n-MOS disposti su quattro righe (ingressi dati, da sinistra: AA, BB, BB, AA) e quattro colonne di controllo (CC, C‾\overline C, DD, D‾\overline D). In ogni riga due n-MOS in serie collegano l'ingresso dato all'uscita ZZ: il primo ha il gate su una linea tra CC e C‾\overline C, il secondo su una linea tra DD e D‾\overline D. Righe: (1) AA con gate CC e DD; (2) BB con gate CC e D‾\overline D; (3) BB con gate C‾\overline C e DD; (4) AA con gate C‾\overline C e D‾\overline D. Le uscite delle quattro righe sono collegate al nodo ZZ con CLC_L verso massa.

Teoria usata: Logica a pass-transistor e gate di trasmissioneNella logica a pass-transistor gli ingressi pilotano sia i gate sia i terminali di source/drain di una rete di interruttori (N transistor per N ingressi, nessun consumo statico, alcune funzioni, come AND, MUX e XOR, richiedono pochi transistor). Gli n-MOS trasmettono bene gli 0 ma male gli 1 (V_DD − V_Tn, con effetto body: circa 1,8 V da 2,5 V), i p-MOS al contrario (V_Tp in modulo per lo 0): il livello degradato non è rigenerato e può far condurre un inverter successivo (consumo statico). Il gate di trasmissione (n-MOS e p-MOS in parallelo, con G e nG complementari) trasmette bene entrambi i livelli, con resistenza R_n‖R_p quasi costante, ma costa due transistor e raddoppia le capacità. Una catena di n pass-transistor ha ritardo ∝ n² (Elmore, 0,69 R C n(n+1)/2): si inseriscono buffer ogni m = 1,7√(t_buf/(R_eq C)) stadi.Logica a pass-transistor e gate di trasmissione →, Il transistor MOS come interruttore - soglia, caratteristiche e capacitàIl MOS ha quattro terminali (gate, source, drain, bulk); il bulk dell'n-MOS va a massa, quello del p-MOS a V_DD. Il canale esiste (inversione) per V_GS > V_T nell'n-MOS (V_T > 0) e per V_GS < V_T nel p-MOS (V_T < 0). La soglia cresce in modulo con la tensione di source rispetto al bulk (effetto body): V_T = V_T0 + γ(√|−2Φ_F+V_SB| − √|2Φ_F|). Corrente: lineare per V_DS < V_GS − V_T, I_D = k'(W/L)[(V_GS−V_T)V_DS − V_DS²/2]; saturazione per V_DS > V_GS − V_T, I_D = (k'/2)(W/L)(V_GS−V_T)²(1+λV_DS). In digitale il transistor è un interruttore con resistenza equivalente R_eq ∝ 1/Z (Z = W/L) e capacità di gate C_g = C_ox W L, di drain e source ∝ W. Raddoppiando Z la resistenza dimezza e le capacità raddoppiano.Il transistor MOS come interruttore - soglia, caratteristiche e capacità →, 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 →.


1. Funzione logica

Una riga conduce solo se entrambi i suoi n-MOS sono accesi (AND dei due gate) e in tal caso trasferisce l'ingresso dati a ZZ: Z=A C D+B C D‾+B C‾ D+A C‾ D‾.Z=A\,C\,D+B\,C\,\overline D+B\,\overline C\,D+A\,\overline C\,\overline D. Raggruppando: A (CD+C‾ D‾)+B (CD‾+C‾D)=A (C⊕D)‾+B (C⊕D)A\,(CD+\overline C\,\overline D)+B\,(C\overline D+\overline CD)=A\,\overline{(C\oplus D)}+B\,(C\oplus D), cioè Z={Ase C=DBse C≠D\boxed{Z=\begin{cases}A&\text{se }C=D\\B&\text{se }C\ne D\end{cases}} un multiplexer 2→12\to1 con selettore C⊕DC\oplus D. Per ogni combinazione di C,DC,D conduce una sola riga, quindi non ci sono conflitti sul nodo ZZ (verificato con Python su tutte le 1616 combinazioni).

2. Schema CMOS statico a uno stadio

Una porta CMOS a uno stadio è invertente: l'uscita è f‾\overline{f} con ff la funzione della PDN. Si vuole Z=f‾Z=\overline f, quindi la PDN deve realizzare Z‾\overline Z usando i letterali (diretti e negati) di cui si dispone: Z‾=A‾ C D+A‾ C‾ D‾+B‾ C D‾+B‾ C‾ D.\overline Z=\overline A\,C\,D+\overline A\,\overline C\,\overline D+\overline B\,C\,\overline D+\overline B\,\overline C\,D.

  • PDN: quattro rami in parallelo, ciascuno con tre n-MOS in serie con i gate (A‾,C,D)(\overline A,C,D), (A‾,C‾,D‾)(\overline A,\overline C,\overline D), (B‾,C,D‾)(\overline B,C,\overline D), (B‾,C‾,D)(\overline B,\overline C,D): 1212 n-MOS.
  • PUN (duale): quattro gruppi in serie, ciascuno con tre p-MOS in parallelo con gli stessi gate: 1212 p-MOS. Verifica: la PDN conduce se e solo se Z=0Z=0 (controllata con Python per tutte le 1616 combinazioni). Rispetto alla rete a pass-transistor (8 n-MOS) servono 2424 transistor e gli ingressi negati: in cambio l'uscita ha livelli pieni (nessuna degradazione) ed è rigenerata.

3. Massimo e minimo di VZV_Z

Con effetto body nullo e ogni ingresso tra 00 e VDDV_{DD} la riga conduttiva trasferisce l'ingresso dati attraverso due n-MOS in serie con i gate a VDDV_{DD}:

  • un livello basso passa senza perdita: VZ,min=0V_{Z,min}=0;
  • un livello alto: il primo n-MOS porta il nodo interno a VDD−VTn=2,4 VV_{DD}-V_{Tn}=2{,}4\ \mathrm V (finché VGS=VTnV_{GS}=V_{Tn}); il secondo, con source a 2,4 V2{,}4\ \mathrm V e gate a 3 V3\ \mathrm V, è al limite (VGS=0,6 V=VTnV_{GS}=0{,}6\ \mathrm V=V_{Tn}) e non porta ZZ oltre. Quindi VZ,max=VDD−VTn=2,4 V.V_{Z,max}=V_{DD}-V_{Tn}=\boxed{2{,}4\ \mathrm V.} Aggiungere un secondo transistor in serie con lo stesso gate non degrada ulteriormente il livello.

4. Transcaratteristica VZ(VA)V_Z(V_A) con VC=VD=VDDV_C=V_D=V_{DD}

Con C=D=1C=D=1 conduce la riga 11 (AA con gate CC e DD): VZ=VAV_Z=V_A finché VA<VDD−VTn=2,4 VV_A<V_{DD}-V_{Tn}=2{,}4\ \mathrm V (i transistor restano accesi: VGS=3−VA>0,6V_{GS}=3-V_A>0{,}6), poi VZV_Z satura a 2,4 V2{,}4\ \mathrm V: VZ=min⁡(VA, 2,4 V).V_Z=\min(V_A,\,2{,}4\ \mathrm V). Punto di spezzamento: VA=2,4 VV_A=2{,}4\ \mathrm V (VZ=2,4 VV_Z=2{,}4\ \mathrm V). Tratto iniziale con pendenza 11.

Grafico interattivo: V_Z (V) in funzione di V_A (V) con V_C = V_D = V_DD = 3 V: V_Z = V_A fino a 2,4 V, poi costante a V_DD − V_Tn = 2,4 V

5. Transizione e ritardo

Prima di DD: B=C=VDDB=C=V_{DD}, A=0A=0, D=0D=0 (D‾=1\overline D=1): conduce la riga 22 (BB con gate CC e D‾\overline D): VZ=VDD−VTn=2,4 VV_Z=V_{DD}-V_{Tn}=2{,}4\ \mathrm V. Quando DD sale a VDDV_{DD}: D‾\overline D scende a 00, la riga 22 si spegne e si accende la riga 11 (A=0A=0 con gate CC, DD): ZZ si scarica verso A=0A=0. È una transizione HL (da 2,4 V2{,}4\ \mathrm V a 00).

Elementi del circuito. Resistenza di ciascun n-MOS (Wn=0,6 μmW_n=0{,}6\ \mu\mathrm m): Rn=12 kΩ/0,6=20 kΩR_n=12\ \mathrm{k\Omega}/0{,}6=20\ \mathrm{k\Omega}; Cd=Cs=2⋅0,6=1,2 fFC_d=C_s=2\cdot0{,}6=1{,}2\ \mathrm{fF}.

  • Nodo ZZ: CLC_L più i quattro drain/source dei transistor di destra collegati a ZZ: CZ=30+4⋅1,2=34,8 fFC_Z=30+4\cdot1{,}2=34{,}8\ \mathrm{fF}.
  • Nodo interno della riga 11 (tra i due n-MOS): CX=2⋅1,2=2,4 fFC_X=2\cdot1{,}2=2{,}4\ \mathrm{fF}. Si trascurano i nodi interni delle righe spente (flottanti) e l'eventuale condivisione di carica con essi.

Elmore (due n-MOS in serie verso A=0A=0; il transistor vicino a AA ha peso 11 sul nodo interno, quello vicino a ZZ peso 22 su ZZ): τ=RnCX+2RnCZ=20⋅2,4+40⋅34,8=48+1392=1440 ps,tpHL=0,69⋅1440=0,99 ns.\tau=R_nC_X+2R_nC_Z=20\cdot2{,}4+40\cdot34{,}8=48+1392=1440\ \mathrm{ps},\qquad t_{pHL}=0{,}69\cdot1440=\boxed{0{,}99\ \mathrm{ns}.} Senza il nodo interno: 0,69⋅40 kΩ⋅34,8 fF=0,96 ns0{,}69\cdot40\ \mathrm{k\Omega}\cdot34{,}8\ \mathrm{fF}=0{,}96\ \mathrm{ns}. Il ritardo è dominato dal carico CLC_L e dalla resistenza di 2⋅20 kΩ2\cdot20\ \mathrm{k\Omega} (n-MOS piccoli).

Verifica numerica

Python: tabelle di verità della rete a pass-transistor e dello stadio CMOS (Z=(C⊕D)?B:AZ=(C\oplus D)?B:A e PDN=Z‾=\overline Z su 16/1616/16 combinazioni); Elmore 0,994 ns0{,}994\ \mathrm{ns} e integrazione numerica della scala RC a due nodi (0,960{,}96–1,01 ns1{,}01\ \mathrm{ns} a seconda dello stato iniziale del nodo interno).

Errori comuni

  • Dimenticare che ZZ vale AA o BB a seconda di C⊕DC\oplus D: non è la OR di AA e BB.
  • Pensare che il livello alto sia VDDV_{DD}: con n-MOS in pass è VDD−VTn=2,4 VV_{DD}-V_{Tn}=2{,}4\ \mathrm V.
  • Calcolare il ritardo con una sola resistenza RnR_n invece di due in serie.
  • Realizzare la funzione in un solo stadio CMOS usando ZZ nella PDN: la PDN deve realizzare Z‾\overline Z.

Versione ripasso

Testo. 4 righe di 2 n-MOS in serie: (AA: CC,DD), (BB: CC,D‾\overline D), (BB: C‾\overline C,DD), (AA: C‾\overline C,D‾\overline D) verso ZZ con CL=30C_L=30 fF; kn′=90k'_n=90, VTn=0,6V_{Tn}=0{,}6 (no body), VDD=3V_{DD}=3 V, Wn=0,6 μW_n=0{,}6\ \mum, Rn0=12R_{n0}=12 k, Cd0=2C_{d0}=2 fF/μ\mum.

  • Funzione: Z=ACD+BCD‾+BC‾D+AC‾D‾={AC=DBC≠DZ=AC D+BC\overline D+B\overline CD+A\overline C\overline D=\begin{cases}A&C=D\\B&C\ne D\end{cases} (mux con selettore C⊕DC\oplus D).
  • Stadio CMOS: PDN per Z‾=A‾CD+A‾C‾D‾+B‾CD‾+B‾C‾D\overline Z=\overline ACD+\overline A\overline C\overline D+\overline BC\overline D+\overline B\overline CD (4 rami da 3 n-MOS), PUN duale (12 p-MOS); livelli pieni.
  • Livelli: VZ,min=0V_{Z,min}=0; VZ,max=VDD−VTn=2,4V_{Z,max}=V_{DD}-V_{Tn}=2{,}4 V (il secondo transistor non degrada ancora).
  • VZ(VA)V_Z(V_A): min⁡(VA,2,4)\min(V_A,2{,}4), spezzamento in VA=2,4V_A=2{,}4 V.
  • Ritardo: DD: 0→VDD0\to V_{DD}: da riga 2 (Z=2,4Z=2{,}4 V) a riga 1 (A=0A=0): HL; Rn=20R_n=20 k, CZ=30+4⋅1,2=34,8C_Z=30+4\cdot1{,}2=34{,}8 fF, CX=2,4C_X=2{,}4 fF: τ=20⋅2,4+40⋅34,8=1440\tau=20\cdot2{,}4+40\cdot34{,}8=1440 ps, tpHL=0,99t_{pHL}=0{,}99 ns.
  • Errori: OR invece di mux; livello alto VDDV_{DD}; una sola RR; PDN per ZZ invece di Z‾\overline Z.

Teoria collegata