Salta al contenuto
Note per Studenti Porte logiche CMOS - struttura statica complementare e dimensionamento

Porte logiche CMOS - struttura statica complementare e dimensionamento

In questa pagina 6

Un circuito combinatorio ha uscite che dipendono solo dagli ingressi del momento (uno sequenziale ha anche uno stato: Latch, registri e parametri temporaliUn circuito sequenziale ha uno stato memorizzato in due modi: retroazione positiva (due inverter in anello, bistabile, i latch statici) o immagazzinamento di carica (circuiti dinamici). Un latch è sensibile al livello del clock (trasparente quando il clock è attivo, memorizza quando non lo è), un registro (flip-flop) è sensibile al fronte e si realizza con due latch sulle fasi opposte (master-slave). Il latch SR a porte NOR/NAND non ammette la combinazione S = R = 1 perché passando da lì alla memoria lo stato finale è imprevedibile. Parametri temporali del registro: ritardo clock-uscita t_c-q, tempo di setup t_su (dato stabile prima del fronte), tempo di hold t_hold (dato stabile dopo il fronte). Periodo minimo: T_min = t_c-q + t_p,logic(max) + t_su; vincolo di hold: t_cd,reg + t_cd,logic > t_hold. La pipeline spezza la logica con registri per aumentare la frequenza (a spese della latenza).Latch, registri e parametri temporali →). Qui si costruisce la porta logica combinatoria in logica CMOS statica complementare, il caso più diffuso, ereditando dall'inverter (Invertitore CMOS - caratteristica di trasferimento staticaL'inverter CMOS ha un p-MOS verso V_DD e un n-MOS verso massa con gli ingressi collegati: V_OH = V_DD, V_OL = 0, nessun cammino diretto in continua (consumo statico nullo). La VTC ha cinque regioni (n-MOS off; n sat/p lin; entrambi sat in V_M; n lin/p sat; p off). Con entrambi in saturazione e λ = 0: V_M = (V_Tn + r(V_DD + V_Tp))/(1 + r) con r = √(|k'_p|Z_p/(k'_n Z_n)). Bilanciamento statico (V_M = V_DD/2 con V_Tn = |V_Tp|): Z_p/Z_n = k'_n/|k'_p| (circa 3,8). Scalare Z_n e Z_p dello stesso fattore lascia V_M invariata e moltiplica la corrente di picco; aumentare Z_p/Z_n alza V_M, V_IL e V_IH; V_M segue V_DD. Margini NM_L = V_IL, NM_H = V_DD − V_IH (circa 1 V a 2,5 V).Invertitore CMOS - caratteristica di trasferimento statica →) l'idea di due reti complementari.

I transistor come interruttori controllati

Struttura: PDN e PUN duali

Una porta statica complementare è formata da

  • una rete di pull-down (PDN) di n-MOS tra l'uscita e massa;
  • una rete di pull-up (PUN) di p-MOS tra VDDV_{DD} e l'uscita;
  • gli stessi ingressi pilotano i gate di entrambe.

La PDN, con i transistor chiusi sugli ingressi alti, realizza la funzione f(A,B,… )f(A,B,\dots) e, quando conduce, porta l'uscita a 00: l'uscita è F=f‾F=\overline{f}. La PUN è la duale della PDN: dove la PDN ha una serie, la PUN ha un parallelo, e viceversa. Per costruire la PDN a partire dalla funzione: F=f‾F=\overline{f}, con ff in forma AND (serie) / OR (parallelo) di sottoreti; la PUN si ottiene scambiando serie e parallelo (scomposizione gerarchica in sottoreti). Così per ogni combinazione degli ingressi esattamente una delle due reti conduce: non c'è mai un cammino diretto VDDV_{DD}-massa (consumo statico nullo) e l'uscita non è mai flottante.

NAND a 2 ingressi: F=AB‾F=\overline{AB}; PDN: due n-MOS in serie; PUN: due p-MOS in parallelo. Tabella: F=1F=1 per AB=00,01,10AB=00,01,10 e F=0F=0 per 1111. NOR a 2 ingressi: F=A+B‾F=\overline{A+B}; PDN: due n-MOS in parallelo; PUN: due p-MOS in serie. F=1F=1 solo per AB=00AB=00.

Funzione complessa. F=D+A(B+C)‾F=\overline{D+A(B+C)}: PDN: DD in parallelo con la serie di AA con il parallelo di BB e CC; PUN (duale): DD in serie con il parallelo di AA e della serie di BB e CC. In generale si possono realizzare in un solo stadio solo funzioni invertenti (negative unate): per ottenere F=A+BF=A+B (non invertente) servono due stadi (un NOR e un inverter) oppure, se si hanno a disposizione anche gli ingressi negati, un solo stadio: con PDN costituita da due n-MOS in serie pilotati da A‾\overline A e B‾\overline B si ha F=A‾ B‾‾=A+BF=\overline{\overline A\,\overline B}=A+B.

Proprietà della logica CMOS statica complementare

Resistenza equivalente e dimensionamento

Il riferimento è l'inverter minimo bilanciato: Zn=1Z_n=1 e Zp=r=Rp0/Rn0Z_p=r=R_{p0}/R_{n0} (≈2\approx2–2,42{,}4), con resistenze Rn=Rn0R_n=R_{n0}, Rp=Rp0/r=Rn0R_p=R_{p0}/r=R_{n0} in salita e in discesa. Per una porta si vuole che, nel caso peggiore, la resistenza del cammino sia uguale a quella dell'inverter: il caso peggiore è quello in cui commuta l'ingresso la cui commutazione lascia conduttivo il solo cammino di massima resistenza (un solo transistor attivo in ciascun parallelo).

Regole:

  • transistor in serie (due con fattore ZZ) equivalgono a un solo transistor con Z/2Z/2 (la resistenza raddoppia); mm in serie →Z/m\to Z/m;
  • transistor in parallelo (due con fattore ZZ) equivalgono a un transistor con 2Z2Z (se conducono entrambi); nel caso peggiore ne conduce uno solo.

Per riportare a Rn0R_{n0} la resistenza di un cammino con mm n-MOS in serie, ciascuno deve avere Zn=mZ_n=m (resistenza Rn0/mR_{n0}/m ciascuno, mm in serie ⇒Rn0\Rightarrow R_{n0}). Quindi, per dimensionare con la regola del cammino più lungo: ogni transistor riceve Z=m⋅ZrefZ=m\cdot Z_{ref} dove mm è il numero di transistor del cammino serie più lungo (resistenza massima) di cui fa parte.

porta ZnZ_n (n-MOS) ZpZ_p (p-MOS)
inverter 11 rr
NAND2 22 ciascuno (serie di 2) rr ciascuno (paralleli)
NOR2 11 ciascuno (paralleli) 2r2r ciascuno (serie di 2)
NAND3 33 rr
NOR3 11 3r3r
D+A(B+C)‾\overline{D+A(B+C)} DD: 11; A,B,CA,B,C: 22 (cammini A BA\,B, A CA\,C di 2) D,B,CD,B,C: 3r3r (cammino D B CD\,B\,C di 3); AA: 2r2r (cammino D AD\,A di 2)

Con r=2,42r=2{,}42 (dati del corso) la porta complessa ha Zp=7,27Z_p=7{,}27 per D,B,CD,B,C e Zp=4,85Z_p=4{,}85 per AA. La NAND2 ha il doppio degli n-MOS (area e capacità di ingresso maggiori) rispetto all'inverter: la porta guadagna la stessa velocità dell'inverter al prezzo di area e capacità. Il p-MOS è già più grande dell'n-MOS, perciò le NOR costano più delle NAND (due p-MOS in serie), e a parità di fan-in si preferiscono le NAND.

Dimensionamento per un valore assegnato. Dato che nel caso peggiore la resistenza del pull-down vale RPD=m Rn0ZnR_{PD}=m\,\dfrac{R_{n0}}{Z_n} (mm n-MOS in serie di fattore ZnZ_n uguale), per ottenere RPD=R∗R_{PD}=R^* occorre Zn=m Rn0/R∗Z_n=m\,R_{n0}/R^*. Analogamente Zp=m′ Rp0/R∗Z_p=m'\,R_{p0}/R^* per il pull-up (con m′m' p-MOS in serie nel cammino peggiore). Per avere pull-up uguale al pull-down basta RPU=RPDR_{PU}=R_{PD}.

Esempio. F=A⋅B+C‾F=\overline{A\cdot B+C}, Rn0=10 kΩR_{n0}=10\ \mathrm{k\Omega}, Rp0=20 kΩR_{p0}=20\ \mathrm{k\Omega}. PDN: serie di AA e BB in parallelo a CC; PUN: CC in serie al parallelo di AA e BB. Il cammino peggiore del pull-down è AA–BB (m=2m=2): per RPD=10 kΩR_{PD}=10\ \mathrm{k\Omega} serve Zn=2⋅10/10=2Z_n=2\cdot10/10=2 per tutti gli n-MOS (R=5 kΩR=5\ \mathrm{k\Omega} ciascuno). Il cammino peggiore del pull-up è CC + uno tra AA, BB (m′=2m'=2): RPU=10 kΩ⇒Zp=2⋅20/10=4R_{PU}=10\ \mathrm{k\Omega}\Rightarrow Z_p=2\cdot20/10=4. Esercizio completo: Esercizio 1 · porta AOI a tre ingressi, dimensionamento, ritardi e consumo dinamico (tema d'esame giugno 2025).

Minimizzare la capacità di uscita

Il nodo di uscita è collegato ai drain dei transistor adiacenti: ogni drain aggiunge una capacità Cd0WC_{d0}W. Per minimizzare la capacità di uscita a parità di funzione si dispone la PDN e la PUN in modo che all'uscita arrivi il minor numero di transistor: nella serie-parallelo si collega all'uscita il singolo transistor (o il ramo con meno transistor) invece del parallelo. Per F=AB+C‾F=\overline{AB+C}: PDN con uscita collegata ai drain di AA e di CC (2 n-MOS, comunque obbligati); PUN con CC adiacente all'uscita (1 drain) e il parallelo A∥BA\parallel B verso VDDV_{DD}: in totale 33 drain sull'uscita (22 n-MOS ++ 11 p-MOS) anziché 44 posizionando A∥BA\parallel B vicino all'uscita. La stessa regola vale in generale: i nodi interni, collegati a source/drain di transistor in serie, hanno capacità minore e contano meno (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 →).

Errori comuni

Versione ripasso

  • Interruttori: n-MOS chiuso con ingresso alto (serie = AND, parallelo = OR), p-MOS chiuso con ingresso basso (serie = A‾ B‾\overline A\,\overline B, parallelo = AB‾\overline{AB}); n-MOS: 0 forte; p-MOS: 1 forte.
  • Struttura: PDN (n-MOS) a massa, PUN (p-MOS) a VDDV_{DD}, duali (serie ↔\leftrightarrow parallelo); PDN realizza ff, F=f‾F=\overline f; una sola rete conduce per ogni combinazione (no cammino VDDV_{DD}-massa). NAND2: PDN serie, PUN parallelo; NOR2: PDN parallelo, PUN serie; D+A(B+C)‾\overline{D+A(B+C)}: PDN D∥(A-(B∥C))D\parallel(A\text{-}(B\parallel C)). Solo funzioni invertenti in uno stadio (A+BA+B: ingressi negati o due stadi).
  • Proprietà: escursione completa, livelli indipendenti dalle dimensioni, bassa ZoutZ_{out}, alta ZinZ_{in}, consumo statico nullo, ritardo da RR e CC, 2N2N transistor.
  • Dimensionamento: riferimento Zn=1Z_n=1, Zp=rZ_p=r; Z=m⋅ZrefZ=m\cdot Z_{ref} con mm = transistor del cammino serie peggiore (NAND2: Zn=2Z_n=2, Zp=rZ_p=r; NOR2: Zn=1Z_n=1, Zp=2rZ_p=2r; porta complessa: DD 11, A,B,CA,B,C 22 n-MOS; D,B,CD,B,C 3r3r, AA 2r2r p-MOS). Con RPD=R∗R_{PD}=R^*: Zn=mRn0/R∗Z_n=mR_{n0}/R^* (F=AB+C‾F=\overline{AB+C}, R∗=10R^*=10 k: Zn=2Z_n=2, Zp=4Z_p=4).
  • Capacità di uscita minima: all'uscita il ramo con meno transistor (CC adiacente nella PUN: 33 drain invece di 44).
  • Errori: Zn=1Z_n=1 senza le serie; PUN speculare; dimenticare la negazione; A+BA+B in uno stadio; Zp=ZnZ_p=Z_n.

Esercizi su questo argomento

Teoria collegata