x - Dipartimento di ingegneria elettrica ed elettronica
Transcript
x - Dipartimento di ingegneria elettrica ed elettronica
Logica Combinatoria Lucidi del Corso di Elettronica Digitale Modulo 5 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Logica combinatoria Un blocco di logica puramente combinatoria è un blocco con N variabili di ingresso e M variabili di uscita che sono funzione (booleana) degli ingressi presenti in un certo istante. Ad ogni istante le uscite dipendono solo dagli ingressi in quell’istante e NON dalla storia passata del circuito x1 x2 y1 y2 xN 17 Ottobre 2006 yM ED - Logica Combinatoria Massimo Barbaro 2 Stili di progetto Logica statica: l’uscita è sempre connessa all’alimentazione o alla massa (es. static CMOS, pseudo-NMOS, pass transistor). Esiste cioè sempre un percorso diretto a bassa impedenza fra una delle alimentazioni ed il nodo di uscita Logica dinamica: il nodo di uscita non è sempre connesso ad una delle alimentazioni e il dato viene temporaneamente immagazzinato in forma di carica su una capacità (es. np, domino) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro Logica combinatoria CMOS statico Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 3 Logica statica CMOS Dall’inverter CMOS è facile ottenere porte logiche più complesse con gli stessi vantaggi del singolo inverter: VOH=VDD , VOL=0 Nessuna dissipazione di potenza statica Ampi margini di rumore Tempi di salita e discesa confrontabili opportune regole di progetto) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro (con 5 Esempi di gate CMOS A B B A F=? A F=? B 17 Ottobre 2006 A ED - Logica Combinatoria B Massimo Barbaro 6 Logica statica CMOS Una generica porta CMOS ha la struttura: x1 x2 x3 PUN F(x1,x2,x3) x1 x2 x3 17 Ottobre 2006 PDN ED - Logica Combinatoria Massimo Barbaro 7 Caratteristiche logica CMOS PUN (Pull-Up Network): è una rete di interruttori PMOS che connettono l’uscita a VDD in corrispondenza delle combinazioni di ingresso per cui la funzione è F=1 PDN (Pull-Down Network): è una rete di interruttori NMOS che connettono l’uscita a 0 in corrispondenza delle combinazioni di ingresso per cui la funzione è F=0 Le due reti sono complementari, ossia quando è aperta una l’altra è chiusa e viceversa 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 8 Interruttori NMOS Y Y A A B B X X Y=X SE A=1 E B=1 (A•B) 17 Ottobre 2006 Y=X SE A=1 O B=1 (A+B) ED - Logica Combinatoria Massimo Barbaro 9 Interruttori PMOS Y Y A A B B X X Y=X se A=0 E B=0 (A’•B’) Y=X se A=0 O B=0 (A’+B’) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 10 Porta NAND La porta in figura è una NAND perché l’uscita è uguale a 0 solo se A e B sono entrambi 1 (quando i 2 NMOS del PDN sono entrambi in conduzione). In tale condizione il PUN è sicuramente interdetto Se anche uno solo fra A e B è pari a 0 il percorso verso massa si interdice e si chiude uno dei due percorsi verso VDD (PUN) quindi l’uscita e 1 17 Ottobre 2006 A B F=(AB)’ A B ED - Logica Combinatoria Massimo Barbaro 11 Porta NOR La porta in figura è una NOR perché l’uscita è uguale a 1 solo se A e B sono entrambi 0 (quando i 2 PMOS del PUN sono entrambi in conduzione). In tale condizione il PDN è sicuramente interdetto Se anche uno solo fra A e B è pari a 1 il percorso verso VDD si interdice e si chiude uno dei due percorsi verso massa (PDN) quindi l’uscita e0 17 Ottobre 2006 ED - Logica Combinatoria B A F=(A+B)’ A B Massimo Barbaro 12 Generica porta CMOS Una generica porta CMOS può essere implementata partendo dall’espressione algebrica o dalla tabella di verità. La PDN deve essere tale da chiudere il percorso a massa per le righe in cui F=0 e la PUN tale da chiudere il percorso a VDD per quelle in cui F=1 Per la dualità delle due reti (teorema di DeMorgan) ogni volta che i transistor sono in serie nella PDN sono in parallelo nella PUN e viceversa Si può sempre partire dall’implementazione della sola PDN per poi ricavare la PUN oppure viceversa Non tutte le funzioni sono direttamente implementabili, in particolar modo le porte CMOS sono sempre invertenti (per fare una AND è necessario implementare una NAND con un inverter in cascata) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 13 Implementazione di una porta CMOS PUN: F=G’(x1,x2,x3,+,•) = G(x1’,x2’,x3’ ,•,+) x1 x2 x3 PUN La PUN è funzione di soli segnali negati perché è composta da switch PMOS (si ottiene per DeMorgan dalla PDN) F(x1,x2,x3) x1 x2 x3 PDN Quando G (solo funzione di AND e OR e dei segnali NON negati) è vera la PDN cortocircuita l’uscita a massa PDN: G(x1,x2,x3,+,•) => F=G’ 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 14 Implementazione di una porta CMOS Realizzando la PDN si è in grado di implementare (sono NMOS) una qualsiasi funzione G di soli operatori AND e OR (es. G=AB+CD+F(A+B) ) Quando G=1 l’uscita è connessa a massa quindi F=0 allora: PDN: G(x1,x2,…,xN,+,•) F(x1,x2,…,xN)=G’(x1,x2,…,xN,+,•) (es. F=[AB+CD+F(A+B)]’) Il PUN invece implementa direttamente la funzione (connette l’uscita a 1) ma può contenere solo operatori NOR e NAND (quelli implementabili con switch PMOS) F(x1’,x2’,…,xN’ ,+,•)= F’(x1,x2,…,xN, •,+)= =G(x1,x2,…,xN, •,+) Dualità del PDN e PUN 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 15 Esempio F=[A(B+C)+D]’ D Funzione negata di sole OR e AND B A C F’=A(B+C)+D=G A D Implementabile con un PDN B C (le OR sono NMOS in parallelo, le AND sono NMOS in serie) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 16 Esempio F=(A’+B’C’)D’ D Funzione di sole OR e AND di segnali negati B A C Implementabile con un PUN (le OR di segnali negati sono PMOS in parallelo, le AND di segnali negati sono PMOS in serie) 17 Ottobre 2006 A D B ED - Logica Combinatoria C Massimo Barbaro 17 Esempio F=A+B Funzione di sole OR e AND: non è implementabile né con un PUN né con un PDN A B A Ecco perché è preferibile implementare una generica funzione con sole NAND e NOR 17 Ottobre 2006 B ED - Logica Combinatoria Massimo Barbaro 18 AOI Implementazione diretta di 2 livelli di logica con un solo blocco CMOS statico: F=(AB+CD)’ And-Or-Invert A B C D F L’implementazione diretta usa solo 8 transistor anzi che i 2(4+2)+4+2=18 (2 NAND + INVERTER e 1 NOR + INVERTER) di una implementazione puramente logica 17 Ottobre 2006 A C B D ED - Logica Combinatoria Massimo Barbaro 19 OAI Implementazione diretta di 2 livelli di logica con un solo blocco CMOS statico: F=[(A+B)(C+D)]’ A C B D F Or-And-Invert 17 Ottobre 2006 ED - Logica Combinatoria A B C D Massimo Barbaro 20 Dimensionamento Un’opportuna tecnica di dimensionamento consente di avere caratteristiche statiche e dinamiche ottimali In particolare è desiderabile avere delle caratteristiche di trasferimento simmetriche e dei tempi di propagazione confrontabili nelle due possibili commutazioni (HL e LH) Bisogna chiedersi da cosa dipendono i tempi di propagazione 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 21 Tempi di propagazione Come nel caso del singolo inverter, anche per una generica porta CMOS è possibile calcolare i tempi di propagazione facendo riferimento ad un modello semplificato con una capacità di carico CL fra uscita e massa e delle resistenze equivalenti che rappresentino i MOS Per ottenere la capacità CL che conterrà i contributi di tutte le capacità parassite nei vari nodi si sfruttano le tecniche viste per l’inverter (l’uso del teorema di Miller per trasformare le capacità gate/drain in capacità drain/massa) La capacità di carico ottenuta deve poi essere caricata o scaricata dalla rete di pull-up o pull-down che si è attivata Si fa riferimento al caso peggiore (worst case) ossia a quelle commutazioni che implicano la presenza di un solo percorso conduttivo per la carica o scarica della capacità Si calcola il transistor equivalente (sfruttando serie e paralleli) corrispondente al percorso attivato e poi si applica la formula per calcolare il tempo di propagazione classico dell’inverter 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 22 Serie e parallelo di MOS Nel seguito faremo le ipotesi semplificative (solo parzialmente vere a causa dell’effetto body ed altri effetti del secondo ordine): K MOS in serie con W=W0 e L=Lmin sono equivalenti ad un MOS di lunghezza L=KLmin e W=W0 o ad un MOS con L=Lmin e W=W0/K (K volte più resistivo) K MOS in paralello di larghezza W=W0 sono equivalenti ad un solo MOS con W=KW0 (K volte più conduttivo) 2 1 1 1 2 2 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 23 Modello del primo ordine In un modello del primo ordine si può pensare che tutti i MOS in serie (o parallelo) lungo un percorso si combinino in un solo MOS equivalente di W/L opportuna, avente quindi una certa resistenza equivalente (Req) La capacità equivalente sarà la somma della capacità parassite presenti su tutti i nodi attraversati dal percorso di scarica (Ceq) Identificate resistenza e capacità equivalente si può calcolare il tempo di propagazione con la solita formula: tp=0.69ReqCeq 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 24 Esempio: NAND a 2 ingressi: tpHL A Calcolo di tpHL B F=(AB)’ A CL R2 B R1 Ceq =C1 + CL C1 Req =R1 + R2 = 2RN Si considera la somma di tutte di le resistenze attraversate e la somma della capacità di tutti i nodi che devono essere scaricati (compresi i nodi interni) 17 Ottobre 2006 ED - Logica Combinatoria tpHL =0.69Req Ceq Massimo Barbaro 25 Esempio: NAND a 2 ingressi: tpLH A Calcolo di tpLH B A F=(AB)’ R3 CL Ceq = CL B Si considera la somma di tutte di le resistenze attraversate e la somma della capacità di tutti i nodi che devono essere scaricati (compresi i nodi interni) 17 Ottobre 2006 Req = R3 = RP ED - Logica Combinatoria tpLH =0.69Req Ceq Massimo Barbaro 26 Dimensionamento Allora per fare in modo di equalizzare i tempi di salita e discesa (di caso peggiore) bisogna fare in modo che ciascun percorso di salita (costituito da PMOS) abbia la stessa resistenza equivalente di ciascun percorso di discesa (costituito da NMOS). Bisogna equalizzare ciascun percorso singolarmente perché il caso peggiore è quello in cui un solo percorso è attivo. Ovviamente se più percorsi fossero attivi contemporaneamente il tempo di propagazione sarebbe minore ma è necessario prevedere che il circuito funzioni correttamente nella situazione più svantaggiosa. Ricordando che la resistenza equivalente è data dalla somma delle singole resistenze e che ogni resistenza è inversamente proporzionale a kn (kp) bisognerà equalizzare sia il k degli NMOS a quello di un NMOS singolo a dimensione minima (basta agire sulle W) che quello dei PMOS (in questo caso per dimensionare bisogna anche tenere conto della diversa mobilità dei PMOS). 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 27 Calcolo di Ron La Ron è sicuramente inversamente proporzionale alla W ed alla mobilità del transistor (visto che la ID compare al denominatore) Perciò a parità di W la Ron di un pmos è circa 2 volte quella di un nmos Per avere un pmos ed un nmos con Ron circa equivalenti bisogna dimensionare, come nell’inverter, Wp=2Wn in modo da compensare con la Wp la minore mobilità delle lacune 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 28 Tempo di propagazione Come visto nell’esempio per fare in modo che i tempi della commutazione HL e LH siano uguali è necessario dimensionare i PMOS e gli NMOS in modo che 2Rn=Rp Per fare questo è necessario dimensionare gli NMOS con W=2 in modo che la loro serie sia equivalente ad un NMOS di W=1 A questo punto è necessario dimensionare i PMOS con W=2 in modo che siano equivalenti ad un NMOS con W=1 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 29 Dimensionamento ottimo Il dimensionamento finale è Bisogna avere sempre in mente A il caso peggiore (worst-case). In questo esempio i due NMOS sono sempre in serie, mentre i PMOS possono condurre singolarmente o contemporaneamente. Ovviamente se capita che i due PMOS siano entrambi accesi il tempo di propagazione sarà ulteriormente minore 17 Ottobre 2006 ED - Logica Combinatoria 2 B 2 F=(AB)’ A B 2 2 Massimo Barbaro 30 Dimensionamento ottimo In generale si fa in modo che ciascun percorso di NMOS verso massa sia equivalente ad un NMOS con W=1 e che ciascun percorso di PMOS verso l’alimentazione sia equivalente ad un PMOS con W=2 (che è poi equivalente ad un NMOS con W=1). Il rapporto di 2 fra PMOS e NMOS non è esatto (il rapporto fra le mobilità degli NMOS e dei PMOS è leggermente maggiore) ma è utile per rendere i tempi abbastanza simili senza occupare troppa area. 17 Ottobre 2006 ED - Logica Combinatoria D 4 B A 8 4 C 8 A D 2 1 Massimo Barbaro B 2 C 2 31 Tempo di propagazione: modello di Elmore Un modello più raffinato per il calcolo del tempo di propagazione dovrà tenere conto che le resistenze, in realtà, non si sommano linearmente. Quello che, al primo ordine, può essere ricondotto ad un circuito compatto è, in realtà, un circuito distribuito. Infatti, alcuni dei transistor si trovano nel percorso di scarica di certi capacitori e non di altri. E’ necessario, per tenere conto di questo fatto, ricorrere al modello di Elmore 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 32 Modello di Elmore Si applica ad una rete di resistenze e capacità se: Si tratta di un albero (una rete senza anelli chiusi) Tutti i capacitori hanno un terminale a massa Esiste un solo ingresso R1 Ingresso 1 R2 s R3 3 C3 C1 In tale situazione il modello di Elmore consente di calcolare la costante di tempo (RC) per la propagazione di un segnale fra l’unico nodo di ingresso ed il generico nodo i-esimo. 17 Ottobre 2006 ED - Logica Combinatoria 2 R4 4 C2 C4 Massimo Barbaro 33 Modello di Elmore La costante di tempo che descrive l’evoluzione della tensione al nodo i-esimo in corrispondenza di una variazione all’ingresso è: i τ Di = ∑ Ck Rik k =1 Dove il termine Rik rappresenta la resistenza dovuta al percorso condiviso fra la sorgente s e ciascuno dei due nodi i e k. Mentre Ck è la capacità associata al nodo k. Rik = ∑ R j ⇒ (R j ∈ [ percorsi( s → i ) ∩ percorsi( s → k )]) Nel caso della rete precedente, ad esempio, la resistenza condivisa dai nodi 2 e 4 è data da: R42 = R1 + R2 + R4 Dunque: τ D 4 = C1 R1 + C2 (R1 + R2 ) + C4 (R1 + R2 + R4 ) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 34 Modello di Elmore: logica combinatoria Le conseguenze nel caso del calcolo del tempo di propagazione di una porta CMOS consistono nel modo in cui si calcolerà la costante di tempo equivalente ReqCeq i t pHL ( LH ) = 0.69∑ Ck Rik k =1 Per la commutazione HL percorso da prendere in considerazione è quello fra il nodo di uscita (il nodo i-esimo del modello di Elmore) e la massa (la sorgente s del modello). Per la commutazione LH il percorso è fra l’uscita e la VDD (che diventa la sorgente s) Su tale percorso saranno presenti tante resistenze quanti sono i MOS da attraversare ed una capacità per ogni nodo. 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 35 Modello di Elmore: NAND 2 ingressi R3 A tpLH B A t pLH = 0.69(R3C L ) CL F=(AB)’ B tpHL R2 R1 CL C1 t pHL = 0.69(R1C1 + (R1 + R2 )C L ) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 36 Modello di Elmore: considerazioni Come si vede dal risultato ottenuto, le resistenze associate a ciascun MOS non si sommano semplicemente, ma vengono pesate più o meno a seconda che si trovino più vicine alla massa (all’alimentazione) o meno. I MOS più vicini alla sorgente, infatti, devono essere attraversati dalla corrente di scarica di tutti i nodi intermedi e quindi limitano maggiormente il tempo di commutazione Da questo punto di vista, il MOS più critico è quello più in basso (in alto) che nella sommatoria delle resistenze di Elmore compare in ogni termine 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 37 Modello di Elmore: generalizzazione J percorsi di carica Fra i vari percorsi di scarica (carica) si identifica quello di caso peggiore, ovvero quello a cui corrispondono le massime capacità e resistenza equivalenti. … x1 x2 xN F(x1,x2,…,xN) A tale percorso si applica il modello di Elmore per ricavare la costante di tempo e dunque il tempo di propagazione. … x1 x2 xN J+K=2N percorsi K percorsi di scarica 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 38 Tempo di propagazione: riassunto 1 Si identificano il percorso di carica e di scarica di caso peggiore 2 Si calcola la Req di ciascun MOS su tale percorso 3 Si calcolano le Ci associate a ciascun nodo del percorso 4 Si calcola la costante di Elmore τD associata al percorso mediante la formula: τ HL ( LH ) = C1n ( p ) R1n ( p ) + C2 n ( p ) (R1n ( p ) + R2 n ( p ) ) + ... + C L (R1n ( p ) + R2 n ( p ) + ... + Rin ( p ) ) Si calcola il tempo di propagazione con l’approssimazione del primo ordine: 5 t pHL ( LH ) = 0.69τ HL ( LH ) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 39 Fan-In e Fan-Out Porte CMOS con elevato fan-in diventano rapidamente poco pratiche. Infatti il numero totale di MOS è pari a 2N (con N numero di ingressi) quindi all’aumentare degli ingressi aumenta rapidamente l’area All’aumentare degli ingressi aumentano anche i transistor in serie e quindi la porta diventa più lenta (Ron più grandi). Questo fenomeno è solo in parte risolvibile con la tecnica di dimensionamento vista, dato che all’aumentare della W dei mos aumentano anche le capacità parassite e quindi CL quindi ad un certo punto non si ha più miglioramento di tp (il gate si fa da carico) Anche gli elevati fan-out riducono la velocità della porta (ogni gate connesso significa due transistor di carico, il pmos e lo nmos) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 40 Fan-in elevati:tecniche di progettazione In caso di elevato fan-in è possibile ricorrere a tecniche di progettazione per aumentare la velocità dei gate: Aumentare la W dei transistor per compensare l’elevata capacità di carico (è una soluzione insufficiente perché all’aumentare di W aumentano anche le capacità parassite e quindi il carico) Usare un dimensionamento progressivo, ossia fare più conduttivi quei transistor che pilotano i carichi più elevati dovendo pilotare un numero maggiore di capacità parassite Riordinare i mos in modo che quelli pilotati dai segnali più critici siano connessi ai nodi con minori capacità parassite 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 41 Fan-In: dimensionamento progressivo I transistor più vicini alla massa devono pilotare capacità via via più grandi (la somma di CL e di tutti i nodi parassiti intermedi) CL Si dimensiona MN a dimensione minima, poi gli altri via via più larghi WN-1=WN(CL+CpN-1)/CL … Cp2 M2 Cp1 W1=WN(CL+CpN-1 +…+Cp1)/CL 17 Ottobre 2006 MN ED - Logica Combinatoria M1 Massimo Barbaro 42 Fan-In: riordinamento Se un segnale è particolarmente critico in genere è quello che arriva per ultimo (quando gli altri hanno già commutato) In tale situazione è preferibile usare il segnale critico per pilotare il transistor MN che è il più vicino a CL e quindi “vede” la sola CL se gli altri hanno già commutato. Se invece si usasse il segnale critico per pilotare M1 la capacità “vista” sarebbe Ctot=CL+CpN-1+…+Cp1 17 Ottobre 2006 ED - Logica Combinatoria CL MN Cp2 M2 Cp1 M1 Massimo Barbaro 43 Logica CMOS: riassunto L’escursione fra i simboli 0 e 1 è la massima possibile (VDD) Nessuna dissipazione di potenza statica Tempi di propagazione confrontabili Una porta a N ingressi ha 2N transistor (N nmos e N pmos) Ad ogni ingresso sono connessi sempre 2 mos (1 nmos e 1 pmos) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 44 Logica Combinatoria Pseudo-NMOS Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Limiti del CMOS Il principale limite della logica CMOS è il numero di mos (sempre pari a 2N) utilizzati che la rende poco pratica per porte con elevato fan-in. Inoltre in ingresso presenta sempre i gate di 2 mos (p e n) quindi un carico almeno doppio del minimo concepibile (trascurando i diversi dimensionamenti del p e del n) Per questo motivo sono state concepite logiche alternative che barattano alcuni caratteristiche CMOS in cambio di un minore ingombro e maggiore velocità 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 46 Logica pseudo-NMOS La logica pseudo-NMOS implementa la sola rete PDN e sostituisce la PUN con un solo mos (un PMOS sempre acceso) che si incarica di portare a VDD l’uscita ogni volta che la PDN è aperta F(x1,x2,x3) x1 x2 x3 17 Ottobre 2006 PDN ED - Logica Combinatoria Massimo Barbaro 47 Logica pseudo-NMOS Vantaggi: Numero totale di transistor N+1 (con N numero di ingressi) Ogni ingresso vede come carico un solo transistor Diminuendo il numero di transistor diminuiscono le capacità parassite Svantaggi: Dissipazione di potenza statica (quando l’uscita è bassa è chiusa la PDN ma anche il PMOS quindi c’è un percorso diretto di corrente fra massa e alimentazione) Minore margine di rumore (per uscita bassa). Infatti per uscita bassa il PMOS e la PDN conducono entrambi, quindi VOL≠0 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 48 Pseudo-NMOS: VOL Per calcolare VOL si può calcolare l‘uscita in corrispondenza di ingresso alto (il pmos sarà in saturazione e la rete PDN sarà equivalente ad un singolo nmos in triodo). Uguagliamo le due correnti e ipotizziamo VTn=|VTp| Saturazione Triodo keq ,n (VDD − VTn )VOL − VOL = (VDD − VTn ) − 17 Ottobre 2006 VDSATp ⎞ ⎛ 2 ⎟⎟ VOL = k pVDSATp ⎜⎜VDD − VTn − 2 2 ⎠ ⎝ keq ,n (VDD − VTn )2 − 2 VDSATp ⎞ ⎛ ⎟⎟ VDSATp ⎜⎜VDD − VTp − 2 keq ,n ⎝ ⎠ kp ED - Logica Combinatoria Massimo Barbaro 49 Pseudo-NMOS: VOL Supponendo di volere avere il valore più basso possibile VOL2 sarà trascurabile rispetto a VOL e si ottiene quindi: VOL V ⎛ ⎞ k pVDSATp ⎜⎜VDD − VTp − DSATp ⎟⎟ 2 ⎠ ⎝ ≈ keq ,n (VDD − VTn ) Se si considera inoltre che, tipicamente VTn≈ VTnp e che VDSATp<<VDD-VTp l’espressione si semplifica ulteriormente in: VOL ≈ 17 Ottobre 2006 µp Wp V L p DSATp W µ n eqn L n ED - Logica Combinatoria Massimo Barbaro 50 VOL : considerazioni La diminuzione della VOL comporta una diminuzione del rapporto di forma del PMOS rispetto al NMOS equivalente. Tale riduzione di può ottenere sia facendo lo NMOS più conduttivo (più largo), sia riducendo la conduttività del PMOS ossia NON facendolo a lunghezza minima La maggiore controindicazione della diminuzione di VOL è data dal fatto che, richiedendo una minore conduttività per il PMOS, causa anche un aumento del tempo di propagazione LH 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 51 Consumo di potenza statico Quando l’uscita è pari a VOL entrambi i transistor sono accesi e scorre corrente (anche staticamente) fra alimentazione e massa. Il consumo di potenza statica associata è dato dal prodotto della corrente (che coincide con la corrente di saturazione del PMOS) per l’alimentazione La riduzione di VOL comporta la riduzione della corrente di saturazione del PMOS, il che comporta anche una diminuzione della potenza dissipata. La controindicazione è l’aumento del tempo di propagazione LH (determinato proprio dalla corrente di saturazione del PMOS). PSTAT ⎛ VDSATp ⎜ = VDD k p VDSATp VDD − VTp − ⎜ 2 ⎝ 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro ⎞ ⎟ ⎟ ⎠ 52 Tempo di propagazione I tempi di propagazione HL e LH sono differenti: tpHL è determinato dalla rete PDN e può essere valutato col solito metodo (identificazione di CL e della resistenza Ron) tpHL=0.69RonPDNCL Da notare che, in realtà, il tempo di propagazione è leggermente più alto perché, dato che il PMOS è sempre acceso, la scarica è ostacolata dalla corrente di saturazione del PMOS tpLH è determinato dal transistor pmod di pull-up che carica la CL con una corrente circa costante (la corrente di saturazione del pmos): tpLH=(VDDCL)/(2IP,sat) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 53 Esempio: NAND La rete PDN porta a 0 l’uscita solo se A e B sono entrambi 1, in tutti gli altri casi l’uscita è portata a 1 dal pmos di pull-up F=(AB)’ A B 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 54 Pseudo-NMOS: caratteristiche E’ una logica a rapporto, dove cioè il rapporto fra le dimensioni dei transistor determina le caratteristiche statiche (VOL) Il pmos di pull-up ha specifiche opposte: dovrebbe essere poco conduttivo (kp<<keq,n) per minimizzare VOL ed il consumo di potenza statico ma dovrebbe anche essere molto conduttivo per minimizzare il tempo di propagazione LH (caricare rapidamente CL) E’ comunque una logica statica perché l’uscita è sempre connessa a VDD o 0 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro Logica Combinatoria Logica a pass-transistor Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 55 Logica a pass-transistor Visto che un mos è equivalente ad un interuttore si può pensare di realizzare una funzione logica semplicemente scegliendo, a seconda della combinazione in ingresso, cosa fare passare in uscita fra 1 e 0 E’ NECESSARIO che uno dei percorsi sia chiuso in modo che il valore dell’uscita sia determinato in ogni istante x1 x2 x3 F(x1,x2,x3) Rete di interruttori Può essere sostituito da un semplice buffer, cioè una porta non invertente col solo compito di isolare l’uscita dall’ingresso 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 57 Esempio La porta F=AB può essere realizzata così: B A B F=AB B’ Se B=1 passa A (quindi 0 o 1 a seconda del valore di A). Il secondo percorso è necessario per garantire una logica statica, cioè un percorso a bassa impedenza fra l’uscita e 0 o VDD per qualunque configurazione di ingresso La porta F=(AB)’ può essere realizzata così: B A B F=(AB)’ B’ 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 58 Esempio: multiplexer La logica a pass-transistor è particolarmente adatta alla realizzazione di multiplexer Nel caso di un multiplexer 2x1 (due ingressi A e B e 1 ingresso di selezione S), la cui espressione logica è F=AS’+BS si ha la seguente implementazione: S’ A F=AS’+BS S B 17 Ottobre 2006 ED - Logica Combinatoria Se S=0 passa A (quindi 0 o 1 a seconda del valore di A). Se S=1 passa B (quindi 0 o 1 a seconda del valore di B). Massimo Barbaro 59 Esempio: multiplexer 4x1 Nel caso di un multiplexer 4x1 (mux4x1) in cui gli ingressi di selezione sono 2 bit (S1 e S0): S0’ S1’ S0 S1’ S0’ S1 A B C D S0 17 Ottobre 2006 Z=AS0’S1’+AS0S1’+AS0’S1+AS0’S1’ Se S S =00 passa A Se S S =01 passa B Se S S =10 passa C Se S S =11 passa D S1 ED - Logica Combinatoria 1 0 1 0 1 0 1 0 Massimo Barbaro 60 Logica a pass-transistor: sintesi Il meccanismo è quello di costruire un diverso percorso per le varie combinazioni di ingressi (non necessariamente tutte, ma quelle mutuamente esclusive). A seconda della combinazione di ingresso uno ed uno solo dei percorsi si chiuderà. Tale percorso porterà in uscita uno degli ingressi Il meccanismo è particolarmente indicata nella realizzazione di circuiti di selezione (come i mutliplexer) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 61 Realizzazione degli switch Gli interruttori potrebbero essere realizzati con dei singoli MOS. In tale caso però non si avrebbe un perfetto trasferimento dell’informazione A X Y ID Se A=VDD (1 logico) il MOS è acceso e il nodo Y viene caricato da ID. Quando però Y=VDD-VT il MOS si spegne e la tensione Y non può crescere ulteriormente. Si ha un 1 “sporco” (se usassi un PMOS avrei uno 0 sporco) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 62 Problemi con switch singoli Un 1 “sporco” causa un consumo di potenza statico nell’inverter che segue l’interruttore. Infatti il PMOS sarà sull’orlo della conduzione ed avrà una corrente non nulla Y=VDD- VT A=5 X=5 C 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 63 Transmission gate La soluzione al problema è l’uso dei transmission gate A X Y A’ Simbolo Il PMOS è pilotato dal segnale di ingresso del NMOS invertito. Il PMOS si occupa di correggere gli 1 “sporco” e lo NMOS di correggere gli 0 “sporchi”. Svantaggi: ho bisogno del PMOS e del segnale invertito 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 64 Esempio: multiplexer Realizzazione di un multiplexer a 2 ingressi (un blocco che, in base ad un segnale di selezione S sceglie se fare passare A o B) S A F=(AS+BS’)’ S’ B S 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 65 Esempio: XOR E’ possibile realizzare un XOR con soli 4 transistor B Non VDD ! F=(AB’+A’B) Se B=1 l’uscita e A’ B’ A A B Se B=0 l’uscita è A (l’inverter è disabilitato) Non 0 ! B’ 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 66 Tempo di propagazione Si usa il solito metodo e si sostituiscono i MOS con resistenze equivalenti (Ron) E’ necessario anche trovare la capacità equivalente nel caso di serie di più interruttori, dopidichè tp=0.69ReqCeq+tp,inv Tempo di propagazione dell’inverter in cascata 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 67 Tempo di propagazione Si dimostra (col modello di Elmore) che, in una catena di switch il tempo di propagazione è: C C C N ( N + 1) t = 0.69 R C 2 p 17 Ottobre 2006 eq ED - Logica Combinatoria N: numero interruttori Massimo Barbaro 68 Implementazione con soli NMOS L’implementazione con soli NMOS (che risolve il problema di dovere avere a disposizione tutti i segnali di ingresso negati) è possibile usando il level restorer Quando passa un 1 è sufficiente che il nodo Y sia abbastanza da fare commutare l’inverter per accendere il levelrestore che porta Y stesso a VDD A=5 X=5 17 Ottobre 2006 Y ED - Logica Combinatoria Massimo Barbaro Logica Combinatoria Logiche dinamiche Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 69 Logiche dinamiche Le logiche dinamiche sono logiche in cui le uscite non sono sempre connesse ad una delle alimentazioni L’informazione viene temporaneamente immagazzinata sotto forma di carica su capacità In genere sono logiche temporizzate, in cui cioè si alternano fasi di valutazione della funzione logica e di memorizzazione sulle capacità 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 71 Concetto di base (φn) φ F(x1,x2,x3) CL x1 x2 x3 PDN φ 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 72 Concetto base Quando il segnale φ (detto segnale di clock) è basso la PDN è disabilitata (lo NMOS apre il percorso a massa) ed il PMOS carica la CL in uscita a VDD Quando φ è alto il PMOS si interdice e la PDN è abilitata, quindi l’uscita potrà andare a 0 (se PDN si chiude) o restare a 1 (altrimenti) Il funzionamento è quindi sincronizzato dal segnale φ e le operazioni sono divise in 2 fasi Precarica (φ=0) Valutazione (φ=1) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 73 Concetto di base (φp) La stessa cosa si può fare con una PUN. Le fasi saranno ovviamente invertite φ x1 x2 x3 PUN F(x1,x2,x3) φ 17 Ottobre 2006 CL ED - Logica Combinatoria Massimo Barbaro 74 Caratteristiche Sono necessari solo N+2 transistor Ogni ingresso vede il carico di un solo MOS Non è una logica a rapporto Non c’è dissipazione di potenza statica (il percorso statico fra VDD e massa è sempre interdetto) La PDN (o PUN) può essere realizzata come nel caso del CMOS statico (quindi implementa solo funzioni invertenti) E’ più veloce e compatta dell’equivalente CMOS statico 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 75 Prestazione statiche Il maggiore problema delle logiche dinamiche è l’immunità al rumore. Poiché la commutazione dipende da soli transistor N si può dire che VM, VIL e VIH coincidono con VT (tensione di soglia) Questo rende i margini di rumore molto bassi Inoltre il fatto che l’uscita alta sia immagazzinata come carica su una capacità rende il circuito molto sensibile a disturbi (accoppiamenti capacitivi) La presenza di correnti di leakage può scaricare inavvertitamente l’uscita alta 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 76 Prestazioni dinamiche Il tempo di propagazione LH è zero! Questo perché la fase di precarica pone già a 1 l’uscita prima ancora della valutazione In realtà bisognerebbe tenere conto dell’incidenza della precarica nel tempo totale di valutazione. In molti progetti però questa fase può essere fatta coincidere con fasi in cui comunque la logica non dovrebbe funzionare (ad esempio in un processore, mentre avviene la decodifica dell’istruzione) e quindi è realistico pensare che la precarica non incida sul ritardo totale 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 77 Cause di rumore Le correnti di perdita (leakage) attraverso la PDN possono scaricare l’uscita quando deve essere alta diminuendo l’affidabiltà del circuito Clock feedthrough: il segnale di clock (φ) varia rapidamente quindi può, per accoppiamento capacitivo, deteriore il segnale alto immagazzinato sulla capacità Charge sharing: se anche il percorso a massa attraverso la PDN non si chiude può capitare che qualche segnale di ingresso intermedio si chiuda mettendo CL in parallelo con altre capacità e diminuendo il valore alto immagazzinato In generale il segnale di uscita più sensibile ai disturbi è quello alto perché è memorizzato sulla capacità senza percorsi a bassa impedenza verso VDD 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 78 Logiche dinamiche in cascata Mettere due blocchi in cascata può comportare problemi di distruzione del segnale φ x1 x2 x3 OUT1 φ PDN x4 OUT2 Infatti all’inizio della valutazione OUT1=1 (precarica). Tale valore potrebbe fare commutare OUT2 a 0 se la PDN1 non è abbastanza veloce nello scaricare OUT1 PDN x5 φ φ 17 Ottobre 2006 Se in corrispondenza degli ingressi deve essere OUT1=0 (e OUT2=1) possono verificarsi problemi. ED - Logica Combinatoria Massimo Barbaro 79 Logica DOMINO Una possibile soluzione al problema è offerta dalle logiche DOMINO φ φ OUT1 x1 x2 x3 PDN φ 17 Ottobre 2006 OUT2 PDN x4 x5 φ ED - Logica Combinatoria La presenza dell’inverter impedisce che OUT1=1 in precarica scarichi inavvertitamente OUT2. La logica è detta domino perché la valutazione della prima PDN innesca l’eventuale commutazione della seconda PDN e così via Massimo Barbaro 80 Logiche DOMINO: caratteristiche Possono implementare solo funzioni non invertenti (per la presenza dell’inverter) Sono molto compatte e veloci Vengono utilizzate nella realizzazione di blocchi logici critici (ALU di processori ad alte prestazioni) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 81 Logica np-CMOS Una soluzione alternativa consiste nello sfruttare la dualità della PDN e PUN φ Quando OUT1=1 per la precarica la rete PUN sarà sicuramente disabilitata quindi all’inizio della valutazione non ci possono essere errori indesiderati φ’ OUT1 x1 x2 x3 PDN PUN x4 x5 φ φ’ 17 Ottobre 2006 ED - Logica Combinatoria OUT2 Massimo Barbaro 82 Logiche np-CMOS: caratteristiche Sono ancora più veloci delle DOMINO (per via dell’eliminazione dell’inverter fra i due blocchi dinamici Danno luogo ad implementazioni molto dense e compatte Vengono utilizzate nella realizzazione di blocchi logici critici (ALU di processori ad alte prestazioni) 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro Porte tri-state Porte logiche bidirezionali Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 83 Alta impedenza Il segnale in alta impedenza (Z) è utilizzato per gestire bus bidirezionali: Unità 1 Unità 2 BUS Se l’Unità 1 (ad esempio il processore) deve potere inviare/ricevere dati a/da l’Unità 2 (ad esempio la memoria) è necessario che entrambe siano in grado di pilotare lo stesso bus. 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 85 Alta impedenza Quando una delle due unità pilota il bus (cioè tenta di imporne il valore di tensione) l’altra lo deve rilasciare (ossia mettersi in alta impedenza) in modo da non generare confitti. Altrimenti si avrebbe la situazione in figura con un corto-circuito fra alimentazione e massa e l’impossibilità di stabilire la tensione d’uscita del bus (che potrebbe essere anche VDD/2 a seconda del dimensionamento dei transistor). 1 17 Ottobre 2006 0 ED - Logica Combinatoria Massimo Barbaro 86 Alta impedenza Da un punto di vista circuitale l’alta impedenza si può implementare così. EN=1 la porta è abilitata e rappresenta un inverter EN=0 il pmos in alto e lo nmos in basso sono interdetti e l’uscita è in alta impedenza (non c’è percorso né verso massa né verso VDD) Questa porta è detta tri-state (ha tre stati logici: 0,1 e Z) EN’ IN OUT EN 17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 87
Documenti analoghi
V - Micrel Home Page
caricare il nodo di uscita (portarlo a VDD), mentre lo nmos per
scaricalo (portarlo a GND)
Infatti gli nmos durante la scarica sono caratterizzati da una
bassa impedenza tra drain e source, in quan...
RACCOLTA ESERCIZI Circuiti Digitali
approssimazione equivalenti a 4 resistenze uguali, infatti il rapporto fra mobilità di lacune
ed elettroni è 3, ma i due pmos sono 3 volte più larghi dei due nmos. Il caso peggiore è
dato dalla tra...