Seconda Università degli Studi di Napoli C.d.L. in Ingegneria Elettronica corso di Elettronica 2 aa. 2000 / 01 prof. Luigi Zeni Progetto ed analisi assistiti al calcolatore di alcuni circuiti digitali integrati lavori svolti dall'allievo Orazio Taglialatela Scafati matricola n° 65/592 Nello sviluppare i lavori presenti, sono stati utilizzati i seguenti programmi per SO Microsoft© Windows: WinSpice v1.02.03 un porting freeware dello Spice3F4 dell'Università di Berkeley compatibile con PSpice e senza limitazioni. http://www.willingham2.freeserve.co.uk/winspice.html Atlantis Ocean Mind v1.0 un word processor con funzioni di spell checking con cui sono stati scritti e corretti i testi dei lavori http://www.rssol.com/en/ EditPlus 2 v.210c un potente editor testuale con cui sono state scritte le netlist Spice http://www.editplus.com/ Ultimate Paint v1.91f un editor grafico con cui sono stati ritoccati ed aggiunti commenti ai plot prodotti da WinSpice. http://www.ultimatepaint.com FidoCAD v0.96 un semplice ma efficace programma di CAD con cui sono stati disegnati gli schemi circuitali. http://antani.virtualave.net/fidocad.html Indice Analisi di un invertitore NMOS con carico a svuotamento.....................................pag. 6 Descrizione del circuito " 6 Analisi statica Caratteristica di trasferimento: Potenza statica dissipata in funzione della tensione di ingresso: " 7 " 7 " 8 Analisi dinamica Ritardo nella transizione alto->basso in uscita Ritardo nella transizione basso->alto in uscita Valutazione della potenza dissipata media " " " " Analisi dinamica con effetto di substrato non nullo: " 14 9 10 11 13 Analisi di un invertitore CMOS e applicazione al progetto di una rete complessa...................................................................................................................................pag. 15 Descrizione del circuito " 15 Analisi statica Caratteristica di trasferimento per l'invertitore CMOS simmetrico Potenza statica dissipata " 16 " 16 " 17 Analisi dinamica Valutazione dei tempi di propagazione Valutazione della potenza dinamica media dissipata dall'invertitore " 18 " 19 " 20 Analisi dell'invertitore CMOS con area minima " 21 Applicazione al progetto di una rete complessa Dimensionamento dei transistori Analisi dinamica Analisi con effetto di substrato non nullo Progetto ad area minima " " " " " 23 24 25 27 27 Progetto di un flip-flop RS in tecnologia CMOS........................................................pag. 29 Cenni di teoria e progetto circuitale " 29 Analisi dinamica Valutazione dei tempi di commutazione Considerazioni sulla potenza media dissipata: " 31 " 32 " 33 Analisi di un invertitore ECL.............................................................................................pag. 34 Descrizione del circuito " 34 Analisi statica Caratteristiche di trasferimento a T= 27°C Analisi con una batteria per la generazione della tensione di riferimento Potenza statica dissipata al variare della tensione di ingresso Caratteristiche di trasferimento a T= 47°C Analisi con una batteria per la generazione della tensione di riferimento Potenza statica dissipata " " " " " " " 36 36 37 38 39 41 42 Analisi dinamica Valori teorici Risultati della elaborazione numerica Singolo stadio non caricato Singolo stadio con capacità di carico Doppio stadio " " " " " " 43 43 44 44 46 48 Analisi di un invertitore TTL.............................................................................................pag. 50 Descrizione del circuito " 50 Analisi statica Caratteristica di trasferimento e considerazioni sulle regioni di funzionamento dei ... Potenza statica dissipata Caratteristica di ingresso Caratteristiche di uscita e fan-out della porta Stato di ingresso basso Stato di ingresso alto " " " " " " 50 53 54 55 55 56 Analisi dinamica Previsioni teoriche Risultati dell'elaborazione numerica Elaborazione con differenti tempi di transito " " " " 58 58 59 60 Progetto e confronto di alcuni tipi di celle di memoria RAM in tecnologia CMOS..........................................................................................................................................pag.61 Descrizione dei vari tipi di cella elementare e dell'amplificatore di lettura sense amplifier cella 6T (memoria statica): cella 1T (memoria dinamica) cella 4T (memoria dinamica) " " " " " 61 61 62 63 64 Operazione di lettura Fase di precarica e punto di lavoro iniziale Fase di accesso alla cella (sensing) Accesso alla cella 6T Accesso alla cella 1T Accesso alla cella 4T Confronto tra i vari tipi di celle " " " " " " " 65 65 68 68 69 69 70 Operazione di scrittura Scrittura nella cella 6T Scrittura nella cella 1T " 71 " 71 " 72 Valutazione della potenza dissipata dalle varie celle Accesso in lettura alla cella 6T Accesso in scrittura alla cella 6T Accesso in lettura alla cella 1T Accesso in scrittura alla cella 1T " " " " " 73 73 74 75 75 Analisi di un invertitore NMOS con carico a svuotamento di Orazio Taglialatela Scafati matricola n° 65/592 Descrizione del circuito Lo schema circuitale cui si farà riferimento in questa prima sezione è quello relativo all'invertitore NMOS con carico a svuotamento considerato in condizioni stazionarie (vale a dire senza alcun carico connesso al nodo "out"): L'associata netlist spice è la seguente, dove si è indicato con il simbolo "1" il nodo di alimentazione: *** descrizione del circuito Vdd 1 0 5V Vin in 0 Mload 1 out out 0 NMOS1 Minv out in 0 0 NMOS2 L=2.15u L=1u W=1u W=2.06u *** analisi dc tra 0V e 5V .dc Vin 0 5 .05 *** descrizione dei modelli .model NMOS1 NMOS(level=1, lambda=.02, vto=-3, kp=25e-6, cgso=200e-12 + cgdo= 200e-12, cgbo=200e-12) .model NMOS2 NMOS(level=1, lambda=.02, vto=1, kp=25e-6, cgso=200e-12 + cgdo= 200e-12, cgbo=200e-12) .end Per ora si trascura l'effetto di substrato del transistore di carico (gamma= 0.0 per default). Analisi statica - Caratteristica di trasferimento: out = .286V @ Vin= 5.0V deriv(out) = -1.05 @ Vin=1.6V deriv(out) = -0.956 @ Vin= 2.7V In base ai risultati ottenuti è ragionevole assumere per questo invertitore i seguenti livelli logici ed i relativi margini di rumore: Vol= 0.29V Voh= 5V Vil= 1.6V Vih= 2.7V NMl= 1.31V NMh= 2.3V laddove i calcoli manuali davano: Vol= 0.25V Voh= 5V Vil= 1.46V Vih= 2.53V NMl= 1.20V NMh= 2.39V - Potenza statica dissipata in funzione della tensione di ingresso: potenza dissipata nello stato alto in uscita: Pdiss= 0 mW @ Vin= 0.29V potenza dissipata nello stato basso in uscita: Pdiss = Vdd * Id = 0.286 mW @ Vin= 5.0V Ovviamente la potenza statica dissipata nello stato logico alto in uscita è nulla, poiché il transistore di switch è spento a tale valore di tensione in ingresso. Viceversa nello stato logico basso in uscita si ha una dissipazione di ca. 0.29 mW. Il tratto quasi orizzontale della curva è relativa alla saturazione del MOSFET di carico, e la lieve pendenza è dovuta all'effetto di modulazione del canale. Senza tale effetto si avrebbe Pdiss= 0.26 mW @ Vin= 5.0V Analisi dinamica Si farà riferimento al seguente schema circuitale, con un secondo stadio posto in cascata all'invertitore già studiato: La netlist associata è invertitore NMOS con carico a svuotamento - doppio stadio *** descrizione del circuito Vdd 1 0 5V Vin in 0 pulse(0.29V, 5V, 10n, .1n, .1n, 20n, 40n) ***** primo stadio Mload1 1 2 Minv1 2 in 0 2 0 0 NMOS2 NMOS1 L=1u L=2.15u W=1u W=2.06u ***** secondo stadio Mload2 1 out out 0 Minv2 out 2 0 0 NMOS2 NMOS1 L=1u L=2.15u W=1u W=2.06u *** analisi dinamica .tran .01n 50n 0.001n *** descrizione dei modelli .model NMOS1 NMOS(level=1, lambda=.02, vto=-3, kp=25e-6, cgso=200e-12 + cgdo= 200e-12, cgbo=200e-12) .model NMOS2 NMOS(level=1, lambda=.02, vto=1, kp=25e-6, cgso=200e-12 + cgdo= 200e-12, cgbo=200e-12) .end Per lo studio del comportamento dinamico di questo oggetto, si limiterà l'analisi ad un impulso in ingresso di ampiezza pari a 20ns: - ritardo nella transizione alto->basso in uscita facendo riferimento al fronte di salita della Vin abbiamo il seguente diagramma temporale: ritardo nella transizione alto->basso: 0.036ns - ritardo nella transizione basso->alto in uscita: ritardo nella transizione basso->alto: 0.12ns Si può notare come la transizione alto->basso in uscita avvenga ca. 3.33 volte più velocemente della transizione basso->alto. Questo è dovuto alle correnti più forti che attraversano la gate del transistore Minv2 durante la fase di salita del segnale in ingresso. Questo effetto può essere amplificato sostituendo il secondo stadio con una capacità di valore abbastanza elevato, ad esempio di 0.1pF: invertitore NMOS con carico a svuotamento - doppio stadio *** descrizione del circuito Vdd 1 0 5V Vin in 0 pulse(0.29V, 5V, 10n, .1n, .1n, 20n, 40n) ***** primo stadio Mload1 1 2 Minv1 2 in 0 2 0 ***** secondo stadio C1 2 0 0.1pF *** analisi dinamica .tran .01n 50n 0.001n 0 NMOS2 NMOS1 L=1u L=2.15u W=1u W=2.06u In questo caso, come si nota dal diagramma temporale riportato, i ritardi in entrambe le transizioni sono notevolmente degradati, fermo restando la maggiore rapidità nella prima commutazione: In particolare, si trovano per questo invertitore i seguenti valori: Thl = 0.68 ns Tlh = 4.4 ns in questo caso la transizione di salita è ca. 6.5 volte più lenta di quella di discesa. E' da notare come i risultati manuali davano i seguenti valori: Thl = 0.45 ns Tlh = 4.6 ns Nel caso della commutazione in discesa si constata un errore percentuale di circa il 30%. Si è imputato questo errore al fatto di aver trascurato nei calcoli manuali la corrente che attraversa il transistore Mload durante la fase di scarica del condensatore. Questa corrente infatti provoca un leggero aumento del ritardo nella commutazione alto->basso, come l'elaborazione numerica ha manifestato. Essendo comunque il ritardo in gioco in questa commutazione molto più piccolo di quello relativo alla commutazione in salita, è ragionevole trascurare questo aspetto. - Valutazione della potenza dissipata media L'espressione della potenza media totale dissipata da una porta NMOS operante a frequenza f con un duty cycle del 50% è la seguente: PDISS = <PS> + <PD> = <PS> + f C VDD2 A causa del termine di potenza statica, questa non dipende proporzionalmente dalla frequenza. Se però quest'ultima diviene sufficientemente elevata può essere lecito trascurare il primo termine della somma rispetto al secondo, in modo che valga la diretta proporzionalità. Il termine di potenza statica media teorico per un duty cycle del 50% è dato da <PS> = 1/2 VDD IDL = ( .29 / 2) mW = 0.145 mW mentre quello per la potenza dinamica è dato da < PD > = f C VDD2 = 25 ∗ 10-14 ∗ f dove si è supposto una capacità di carico di 0.01pF. Il valore teorico di frequenza per cui tali contributi si equivalgono è dato da f= 580 MHz Questo valore di frequenza è troppo alto per permettere un adeguato assestamento dei livelli logici in uscita all'invertitore, per cui alle frequenze di utilizzo il solo contributo importante alla potenza media dissipata è il termine statico. Per analizzare numericamente questo aspetto, si è posto in ingresso alla porta un generatore di onda quadra con duty cycle del 50%, operante a differenti frequenze, ed estendendo opportunamente il tempo finale di calcolo: Vin in 0 pulse(0.29V, 5V, 0, .01n, .01n, 1/(2f), 1/f ) * con f freq di funzionamento e 1/(2f) ampiezza dell'impulso (duty cycle = 50%) Andando a calcolare la <PDISS> mediante il comando print -mean(v(1)*vdd#branch) si ottengono i seguenti risultati (i pedici "num" sono ad indicare il risultato di un'elaborazione numerica): a f = 0.5 MHz: <PDISS>num = 0.140 mW f C VDD2 = 0.125 µW -> <PS>num =<PDISS>num - f C VDD2 = .140 mW a f = 1 MHz: <PDISS>num = 0.137 mW f C VDD2 = 0.25 µW -> <PS>num = .137 mW a f = 25 MHz: <PDISS>num = 0.142 mW f C VDD2 = 6.25 µW -> <PS>num == .136 mW Si nota come numericamente il termine in potenza statica abbia una dipendenza dalla frequenza di utilizzo quasi nulla, come era lecito aspettarsi. I risultati dell'elaborazione numerica sono in soddisfacente accordo con quelli teorica, ma l'errore cresce all'aumentare della frequenza. Ciò è dovuto all'approssimazione di ritenere nel calcolo manuale della potenza statica dissipata livelli logici perfettamente assestati sui valori 0.29V e 5V e tempi di commutazione nulli, trascurando così i processi di carica e scarica della capacità. Nei circuiti reali, invece, all'aumentare della frequenza questi ultimi diventano sempre più marcati, dando luogo a discrepanze sempre più grandi con i risultati teorici. Analisi dinamica con effetto di substrato non nullo: Finora si è trascurato l'effetto di substrato che caratterizza il transistore di carico, inevitabilmente presente qualora si realizzi la porta in tecnologia integrata. Per prevedere questo aspetto, nella netlist spice è necessario modificare il modello del transistore Mload includendo un parametro γ non nullo (per default è 2Φ = 0.6 ): .model NMOS1 NMOS(level=1, lambda=.02, vto=-3, gamma=0.5, kp=25e-6, cgso=200e-12 + cgdo= 200e-12, cgbo=200e-12) Ponendo di nuovo una capacità di carico di 0.1pF, si ottengono i seguenti valori per i ritardi in entrambe le transizioni: Thl= 0.68 ns Tlh= 5.5 ns E' interessante notare come per la scarica del condensatore il ritardo sia pressoché rimasto invariato, come era infatti prevedibile dato che il transistore di carico gioca un ruolo trascurabile in questa transizione. Viceversa l'effetto di substrato pesa qualora si consideri la fase di carica del condensatore, essendo qui il solo transistore Minv a fornire la corrente necessaria alla commutazione, che risulta però ridotta rispetto al caso di assenza di effetto bulk durante tutto il processo. Dal seguente diagramma temporale in cui sono stati sovrapposti i risultati delle due elaborazioni eseguite con e senza effetto di body, si può notare come la fase di discesa è sostanzialmente invariata mentre quella di salita è leggermente rallentata dalla presenza di un γ non nullo: Analisi di un invertitore CMOS e applicazione al progetto di una rete complessa di Orazio Taglialatela Scafati matricola n° 65/592 Descrizione del circuito Il circuito invertitore in tecnologia CMOS che si analizzerà è il seguente, considerato in condizioni stazionarie: L'associata net list Spice è la seguente: Vdd Vin MP out MN out 1 in in in **analisi dc .dc Vin 0 0 1 0 5V 1 0 PMOS1 W=5u NMOS1 W=2u 0 5 0.01 L=1u L=1u **descrizione dei modelli .model NMOS1 NMOS(level=1, lambda=.02, vto=1, kp=25e-6, cgso=200e-12 + cgdo=200e-12, cgbo=80e-12) .model PMOS1 PMOS(level=1, lambda=.02, vto=-1, kp=25e-6, cgso=200e-12 + cgdo=200e-12, cgbo=80e-12) Il transistore a canale p è caratterizzato da un parametro Kp' circa il 2.5 volte più piccolo del corrispondente Kn' per quello a canale n. Per avere un invertitore simmetrico (con KR= K n/Kp=1) si è fissato un rapporto d'aspetto W/L per il PMOS 2.5 volte più grande di quello relativo al NMOS. Questa struttura non risente di effetto di substrato, essendo qui possibile connettere i source di entrambi i transistori ai propri morsetti di body. Analisi statica - Caratteristica di trasferimento per l'invertitore CMOS simmetrico: si sono messe in evidenza le diverse regioni di funzionamento del circuito: 1. per Vin < VTN = 1V, il transistore NMOS è spento 2. per Vin > VTN e Vout > Vin + | VTP |= Vin + 1V, l'NMOS è in saturazione e il PMOS è in triodo 3. per Vin - VTN = Vin - 1V < Vout < Vin + | VTP | = Vin + 1V, entrambi i MOS sono in saturazione 4. per Vout < Vin - VTN = Vin - 1V, l'NMOS è in triodo e il PMOS in saturazione 5. per Vin > VDD + VTP = VDD - 1V, il transistore PMOS è spento Dall'analisi della caratteristica di trasferimento è immediato stabilire i seguenti valori per i livelli logici: VOL= 0 V VOH= 5 V in modo da poter sfruttare per questa porta la massima separazione tra i valori di tensione permessa dall'alimentazione. Analizzando il vettore deriv(out), è immediato trovare i seguenti valori per VIL e VIH, ed i corrispondenti margini di rumore: VIL= 2.09 V VIH= 2.91 V NML = NMH= 2.09 V Questo risultato è praticamente coincidente con i quello dei calcoli manuali. Si noti che la curva di trasferimento è perfettamente simmetrica rispetto alla bisettrice Vout = Vin (in virtù del fatto che KR = Kn/Kp = 1), e di conseguenza i margini di rumore sono uguali tra loro e pari a circa VDD/2. - Potenza statica dissipata: Dal seguente grafico della corrente erogata dall'alimentazione in funzione della tensione d'ingresso è possibile constatare come questa in condizioni statiche (quando l'ingresso VIN è stabile su 0V o su 5V) sia nulla, dal momento che uno dei due transistori è spento. Di conseguenza la potenza dissipata in condizioni statiche è nulla. Nel range di valori di ingresso 1.0V < VIN < 4.0V, invece, entrambi i transistori conducono, ed una corrente non nulla riesce a chiudersi da alimentazione a massa, la quale ha un valore massimo in VIN = VDD/2 = 2.5V, pari a circa 60 µA, come di può notare dal seguente diagramma: E' da sottolineare che questo grafico è derivato da un'analisi in continua; pertanto in condizioni dinamiche, a seguito di una variazione di VIN da un livello all'altro, questa corrente di "corto circuito" in generale assumerà valori di picco inferiori a 60 µA, come si può constatare nella seguente sezione. In effetti, questo diagramma mostra punto per punto i valori massimi della corrente di corto circuito, raggiungibili in condizioni stazionarie o quasi-stazionarie (cioè quando l'ingresso varia così lentamente da far praticamente assestare punto per punto l'uscita al valore statico dato dalla caratteristica di trasferimento). La corrente di corto circuito è responsabile di un contributo alla potenza dinamica dissipata qualora l'ingresso vari gradualmente tra i due livelli logici. Come si vedrà nella successiva sezione, questo può essere dell'ordine del 20-30% della potenza dissipata nei processi di carica/scarica della capacità di carico. Analisi dinamica Nello studio dell'invertitore CMOS considerato in condizioni dinamiche, vi si applicherà come carico un secondo invertitore caratterizzato dagli stessi parametri del primo: e la netlist sarà modificata come segue: invertitore CMOS **descrizione del circuito Vdd Vin 1 in 0 0 5V pulse(0V, 5V, 10n, .1n, .1n, 20n, 40n) *****primo stadio MP1 2 in MN1 2 in 1 0 1 0 PMOS1 W=5u NMOS1 W=2u L=1u L=1u ****secondo stadio MP2 out 2 MN2 out 2 1 0 1 0 PMOS1 W=5u NMOS1 W=2u L=1u L=1u **analisi in transitorio .tran .01n 50n 0 .01n L'analisi è estesa in modo da includere un impulso di ampiezza 20ns nel segnale in ingresso, sufficiente a far assestare l'uscita su entrambi i livelli logici. - valutazione dei tempi di propagazione: Dai seguenti diagrammi si evince come per l'invertitore simmetrico i transitori di salita e discesa abbiano andamenti analoghi, dando luogo a tempi di propagazione pressoché coincidenti, pari a circa 0.06ns: ritardo di propagazione = THL = TLH = 0.06ns Per poter confrontare i risultati della elaborazione numerica con quelli manuali, si è sostituito il secondo stadio con una capacità equivalente di 0.1pF: **** secondo stadio C1 out 0 .1pF Per questo invertitore il tempo di propagazione è Tnum = TLH = THL = 0.70ns, mentre l'analisi teorica fornisce un valore di T = .325 C / Kn = .65ns in soddisfacente accordo con i risultati forniti dal calcolatore. - valutazione della potenza dinamica media dissipata dall'invertitore: A tal fine si solleciterà il circuito con un'onda quadra oscillante tra i livelli 0V e 5V a differenti frequenze: Vin in 0 pulse( 0V 5V ** con f frequenza di funzionamento 0 5n 5n 1/(2f) 1/f ) e si calcolerà la potenza dissipata media attraverso il comando print -mean(v(1) * vdd#branch) (si ricorda che nel Berkeley Spice, la funzione mean() calcola la media dell'intero contenuto del vettore argomento; il vettore vdd#branch è quello delle correnti entranti nel ramo di alimentazione). Si ricorda che la potenza media dissipata nei processi di carica/scarica della capacità di carico è data dalla formula PD' = f C V DD2 e dipende quindi linearmente dalla frequenza di lavoro. Associata a questa vi è la potenza P D'' dissipata a causa della cosiddetta "corrente di corto circuito", vale a dire la corrente che si chiude da alimentazione a massa quando i transistori sono entrambi in conduzione a causa della transizione graduale della tensione in ingresso. Per poter visualizzare questo effetto, si sono fissati i tempi di salita e discesa del segnale in ingresso a 5ns. Nel seguente diagramma temporale si è riportata la corrente fornita dall'alimentazione, e si può notare come accanto a dei forti impulsi di corrente necessari a caricare la capacità vi siano dei piccoli spikes che rappresentano la corrente di corto circuito: Di seguito sono riportati i risultati delle elaborazioni eseguite a varie frequenze e i relativi valori deiprodotti ritardo-potenza calcolati come PDP = <PDISS> ∗ T, con T = 0.7ns: a f = 1MHz → <PDISS>num = 3.2 µW, PDP = 2.24 fJ PD' = f C VDD2 = 2.5 µW → PD'' = .7 µW (28% della PD') a f = 5MHz → <PDISS>num = 16.0 µW, PDP = 11.2 fJ PD' = f C VDD2 = 12.5 µW → PD'' = 3.5 µW (28% della PD') a f = 10MHz → <PDISS>num = 31.7 µW, PDP = 22.2 fJ PD' = f C VDD2 = 25 µW → PD'' = 6.7 µW (26.8% della PD') (la teoria prevede un upper bound per il prodotto ritardo-potenza di C V DD2 / 5 = 500 fJ) Si nota come la potenza dissipata per effetto della corrente di corto circuito si mantenga intorno al 26-28% della potenza dissipata per effetto della carica/scarica della capacità. Analisi dell'invertitore CMOS con area minima Volendo seguire ora un progetto ad area minima si possono stabilire degli uguali rapporti d'aspetto per i due transistori. In questo modo la simmetria del circuito risulterà sbilanciata poiché il MOSFET a canale n sarà caratterizzato da un parametro KN > KP e quindi avrà una maggiore capacità di assorbire corrente rispetto a quello a canale p. Fissando i rapporti d'aspetto (W/L)N = (W/L)P = 2/1, si ottiene la seguente curva di trasferimento: La caratteristica risulta spostata verso sinistra, ed in particolare assume il valore VDD/2 per V IN = 2.16V. Questo è dovuto al fatto che l'NMOS riesce ad assorbire la stessa corrente del PMOS con un valore più basso di tensione ai capi. Andando a valutare i tempi di risposta della porta caricata con una capacità di 0.1pF, si nota come il transitorio di discesa risulti leggermente più rapido rispetto a quello di salita: In particolare si trovano i seguenti valori per THL e TLH: THL = 0.69 ns TLH = 1.71 ns dando luogo ad un rapporto THL / TLH = 0.403, in ottimo accordo con i risultati teorici, che stabiliscono un valore di THL / T LH = KP / KN = ( (W/L) P / (W/L)N ) / 2.5 = 1 / 2.5 = 0.400 dove si è posto KN' / KP' = 2.5. Applicazione al progetto di una rete complessa Come applicazione dei risultati ottenuti finora, si è sviluppato il progetto di una rete in tecnologia CMOS, implementante una funzione booleana di 5 variabili: ~Y = A ( B + C D ) + E ( dove il simbolo ~ rappresenta l'operatore booleano NOT ) applicando le regole di De Morgan, si trova l'espressione della Y in funzione dei complementi delle variabili di ingresso: Y= ( ~A + ~B ( ~C + ~D ) ) ~E La prima espressione fornisce immediatamente la struttura topologica della rete di pull-down, mentre la seconda quella della rete di pull-up. In definitiva la struttura circuitale è la seguente, avendo numerato i nodi interni da 1 a 6 ( 1 = alimentazione, 4 = uscita): - dimensionamento dei transistori: Per ottenere gli stessi tempi di risposta dell'invertitore fondamentale studiato precedentemente, qualora questa struttura venga caricata da una capacità di 0.1pF, è necessario dimensionare opportunamente i transistori in maniera che i processi di carica/scarica della capacità di carico avvengano con livelli di corrente comparabili ai precedenti. 1. Per la rete di pull-down abbiamo che il percorso costituito dal maggior numero di transistori accesi è quello relativo alla configurazione di ingressi ABCDE = 10110, in modo che i transistori A, C, D si troveranno ad essere in serie. Se fissiamo per questi lo stesso rapporto d'aspetto W/L, allora la tensione ai capi di ognuno sarà all'incirca 1/3 della tensione di uscita vY per la maggior parte del tempo della fase di scarica (quando i 3 transistori opereranno in regione di triodo), per cui è necessario al fine di assicurare gli stessi livelli di corrente di scarica dell'invertitore fondamentale, fissare un W/L pari a 3 volte quello del transistore di pull-down di quest'ultimo: (W/L)NA = (W/L)NC = (W/L)ND = 3 (2/1) = 6/1 E' da sottolineare l'approssimazione di aver considerato per tutti e tre i transistori delle tensioni vGS = 5V, come per il MOSFET-N dell'invertitore fondamentale. In realtà, i transistori A e C sono caratterizzati da tensioni vGS < 5 V; in particolare è vGS,A = 5V - vDS,D - v DS,C vGS,C = 5V - vDS,D A rigore, quindi, bisognerebbe scegliere per A e C dei rapporti d'aspetto leggermente più grandi in modo da compensare la ridotta capacità di questi di condurre corrente. Trattandosi di una fase di scarica, comunque, è lecito supporre che per la maggior parte del tempo la tensione vY sia sufficientemente piccola da rendere trascurabile questo aspetto. Il percorso A-B invece è costituito da soli due transistori, di cui abbiamo già il rapporto di aspetto del primo. Per il transistore B basterà allora assicurare (approssimando come già fatto prima la vGS,A a 5V durante tutta la scarica) che 1/(W/L)NA + 1/(W/L)NB = 1/(W/L)Nfond dove (W/L)fond è il rapporto d'aspetto del NMOS relativo all'invertitore fondamentale: (W/L)Nfond = 2/1. Si ottiene quindi (W/L)NB = 3/1 Per il transistore E basterà porre (W/L) NE = (W/L) Nfond =2/1 poiché la scarica nella configurazione ABCDE = 00001 avviene con le stesse modalità dell'invertitore fondamentale. Per le restanti configurazioni di ingressi la scarica avverrà più velocemente di quella dell'invertitore fondamentale poiché si avranno gruppi di transistori in parallelo, e la corrente di scarica risulterà più alta a parità di tensione in uscita. 2. Dimensioniamo ora lo stadio di pull-up allo stesso modo: (W/L)PE = (W/L)PB = (W/L)PC = (W/L)PD = 3 (W/L) Pfond = 3 (5/1) = 15/1 1/(W/L)PA + 1/(W/L)PE = 1/(W/L)Pfond = 1/5 → (W/L)PA = 7.5/1 - analisi dinamica: Usando gli stessi modelli per i transistori NMOS e PMOS usati per l'invertitore fondamentale, si ottiene la seguente netlist spice, dove si è fissata la configurazione di ingressi ABCE = 1010, e sollecitando l'ingresso D con un'onda quadra (questa configurazione di ingressi rappresenta il caso peggiore per il circuito poiché ad ogni transizione si troveranno ad essere tre transistori in serie sia nella rete di PMOS che in quella di NMOS) e ponendo una capacità di carico di 0.1pF: Vdd 1 0 ****** rete di pull-up MPA 2 MPB 2 MPC 3 MPD 3 MPE 1 ****** rete di pull-down MNA 4 MNB 5 MNC 5 MND 6 MNE 4 ** segnali di ingresso VA A 0 VB B 0 VC C 0 VD D 0 VE E 0 5V A B C D E 4 3 4 4 2 1 1 1 1 1 PMOS1 PMOS1 PMOS1 PMOS1 PMOS1 W=7.5u W=15u W=15u W=15u W=15u L=1u L=1u L=1u L=1u L=1u A B C D E 5 0 6 0 0 0 0 0 0 0 NMOS1 NMOS1 NMOS1 NMOS1 NMOS1 W=6u W=3u W=6u W=6u W=2u L=1u L=1u L=1u L=1u L=1u 5V 0V 5V pulse(0 5 10n .1n .1n 10n 20n) 0V I modelli utilizzati sono gli stessi usati per lo studio dell'invertitore fondamentale. E' da notare come in questa rete, a differenza di quanto accadeva per l'invertitore, i transistori MPA, MPB, MPC, MPD e MNA, MNC soffrano di effetto di substrato non nullo. Questo causa un degrado delle prestazioni del circuito in termini di tempi di risposta. Questo aspetto verrà analizzato in seguito. Ecco i risultati dell'elaborazione avendo sollecitato l'ingresso D con un'onda quadra: Si ottengono i seguenti tempi di commutazione nella configurazione ABCDE = 101x0 (con "x" segnale variabile): THL 101x0 = 0.82ns TLH 101x0 = 0.93ns E' da notare come questi siano quasi coincidenti tra loro ed entrambi prossimi al ritardo dell'invertitore elementare, Tfond = 0.7ns. Le sottili discrepanze, comunque, sono dovute alle approssimazioni di ritenere transistori sempre operanti in regione lineare e con vGS = 5V. Ecco infatti come varia nel tempo la tensione vGS ad esempio del transistore MNA durante la fase di accensione, cioè durante la scarica della capacità (da 10 a 20ns): Inoltre anche lo spegnimento è graduale, e ciò implica che una certa corrente attraversa il transistore anche quando questo dovrebbe essere spento. In condizioni di non conduzione, la vGS del transistore MNA si assesterà sul valore V TN = 1V, al limite di accensione. - analisi con effetto di substrato non nullo: In questa struttura i transistori MPA, MPB, MPC, MPD e MNA, MNC risentono di effetto di substrato che degrada le prestazioni del circuito in termini di tempi di risposta. In particolare, ponendo un parametro gamma= 0.5 per entrambi i tipi di transistori, si ottengono i seguenti tempi di risposta: THL 101x0 = 0.90ns TLH 101x0 = 1.02ns Poiché nella transizione di salita che in quella di discesa si troveranno due transistori a risentire di effetto body, questi due ritardi sono molto prossimi tra loro, ma entrambi maggiori del caso a gamma nullo. - progetto ad area minima Nel progetto portato avanti finora, l'ingombro totale in termini di area occupata dal circuito era di A = ( 15 ∗ 4 + 7.5 ) µm 2 + ( 6 ∗ 3 + 3 + 2 ) µm 2 = 67.5 µm2 + 23 µm2 = 90.5 µm 2 E' possibile ridurre drasticamente l'area occupata seguendo un approccio ad area minima, in cui si sceglie per tutti i transistori del circuito un rapporto d'aspetto (W/L) = 2/1. L'area totale che verrà occupata sarà in questo caso pari a Amin = 10 ∗ 2 µm2 = 20 µm2 circa 5 volte più piccola del circuito precedente. Si è supposto una feature size minima di 1µm2 . Questa riduzione di area occupata causerà una riduzione delle proprietà di conduzione dei transistori, dando luogo a tempi di risposta più grandi. In particolare, per la rete di pull-down sarà lecito aspettarsi nel caso peggiore (3 transistori in serie) un tempo di scarica pari a circa 3 volte quello dell'invertitore fondamentale (che ricordiamo essere Tfond = 0.7ns; come al solito si suppone una capacità di carico di 0.1pF): THL = 3 ∗ 0.7 ns = 2.1 ns Allo stesso modo abbiamo un aumento del ritardo anche in fase di carica, che è possibile calcolare essere nel caso peggiore dell'ordine di: TLH = 3 (KN/KP) Tfond = 3 ∗ 2.5 ∗ 0.7 ns = 5.25 ns (poiché abbiamo 3 volte il ritardo dell'invertitore ad area minima). Come al solito, andando a simulare questo circuito con la configurazione di ingressi ABCDE = 101x0, con "x" segnale oscillante a frequenza 25MHz, si ottiene il seguente diagramma temporale: I tempi di ritardo trovati sono: THL 101x0 = 2.03ns TLH 101x0 = 5.13ns in soddisfacente accordo con i risultati teorici. Anche qui valgono le stesse considerazioni fatte in relazione ai tempi di ritardo per l'invertitore ad area minima. Progetto di un flip-flop RS in tecnologia CMOS di Orazio Taglialatela Scafati matricola n° 65/592 Cenni di teoria e progetto circuitale Il progetto che si svilupperà è quello di un flip flop RS a NOR incrociati. Si tratta di un tipico esempio di circuito retroazionato in maniera tale da mantenere una certa uscita per un ingresso cosiddetto "neutro". In questo caso l'ingresso neutro è rappresentato dagli ingressi RS = 00, che lascia le uscite inalterate: In condizioni di equilibrio, è /Q = NOT(Q). Nella teoria delle reti logiche, questa macchina è configurata come asincrona, non avendo bisogno di un segnale esterno di clock di sincronizzazione per riuscire a mantenere uno stato stabile. La tabella degli stati per questa macchina è la seguente: I pallini indicano stati stabili, vale a dire stati in cui la macchina resta indeterminatamente al persistere di quei particolari ingressi. Lo stato q00 (relativo alla coppia di uscita Q /Q = 0 0) è uno stato instabile attraverso cui la macchina passa per poter arrivare ad uno stato stabile. In tecnologia CMOS, lo schema circuitale del flip-flop RS a NOR incrociati è il seguente: in cui si sono messe in evidenza le uscita delle due porte NOR con le etichette "out1" e "out2". Per le dimensioni dei transistori ci rifacciamo all'invertitore fondamentale, che assicurava un ritardo di 0.7ns su una capacità di carico di 0.1pF: (W/L)P = 2 (5/1) = 10/1 (W/L)N = 2/1 Dal momento che ogni porta NOR costituente è caricata da una capacità di 0.1pF e dal gate di un'altra porta logica avente una capacità equivalente ben inferiore a 0.1pF, ci si può aspettare per l'intera macchina un ritardo complessivo paragonabile a quello dell'invertitore fondamentale. La netlist spice che descrive questa macchina è la seguente, dove per comodità si è inserita la singola porta NOR in un sottocircuito: .subckt NOR in1 in2 alim out MP1 MP2 10 out in1 in2 alim 10 alim alim PMOS1 W=10u L=1u PMOS1 W=10u L=1u MN1 MN2 out out in1 in2 0 0 0 0 NMOS1 W=2u NMOS1 W=2u L=1u L=1u .model NMOS1 NMOS(level=1, lambda=.02, vto=1, kp=25e-6, cgso=200e-12 + cgdo=200e-12, cgbo=80e-12) .model PMOS1 PMOS(level=1, lambda=.02, vto=-1, kp=10e-6, cgso=200e-12 + cgdo=200e-12, cgbo=80e-12) .ends **** descrizione del circuito Vdd 1 0 5V X1 R Q2 1 Q1 NOR X2 Q1 S 1 Q2 NOR C1 Q1 0 0.1pF IC=0V C2 Q2 0 0.1pF IC=5V V1 R 0 pulse(0V 5V 40n .1n .1n 20n 100n) V2 S 0 pulse(0V 5V 10n .1n .1n 20n 100n) Analisi dinamica L'elaborazione fornisce i seguenti diagrammi temporali: La rete inizialmente è a riposo con Q /Q = 0 1 (stato fissato per mezzo delle condizioni iniziali sui condensatori di carico), poi viene sollecitata da un impulso all'ingresso S che la porta in 1 0 ed infine un impulso in R la riporta in 0 1. Si noti come per effetto della retroazione, questa macchina in condizioni di equilibrio riesca a mantenere indefinitamente lo stato raggiunto, comportandosi a tutti gli effetti da elemento di memoria (statica). - valutazione dei tempi di commutazione Di seguito sono mostrate in scala espansa le due commutazioni del flip-flop: Si noti come queste siano praticamente coincidenti a patto di invertire i ruoli dei due segnali. I tempi di risposta sono: 1) commutazione 01 → 00 → 10: la prima variabile a commutare è /Q, e si ha T /Q HL = 0.75 ns T Q LH = 1.9 ns 2) commutazione 10 → 00 → 01: la prima variabile a commutare è Q, e si ha T Q HL = 0.75 ns T /Q LH = 1.9 ns Il ritardo sulla prima variabile che commuta coincide praticamente con quello dell'invertitore fondamentale, come era auspicabile. Quello sulla seconda variabile è pari all'incirca al doppio, poiché questa riesce ad evolvere solo dopo la quasi completa commutazione della prima variabile. E' da dire che i valori ottenuti sono leggermente più grandi di quelli attesi poiché l'effettiva capacità equivalente che carica ogni porta NOR è maggiore di 0.1pF, dovendosi considerare anche il contributo (peraltro piccolo) dell'altra porta. In definitiva il ritardo della macchina nel suo complesso valido per entrambe le uscite lo si può assumere pari alla media dei due ritardi (assumendo come consuetudine un duty-cycle del 50%): T = ( T 01 → 10 + T 10 → 01 ) / 2 = 1.3 ns Qualora la rete venisse inavvertitamente sollecitata da un segnale RS = 11, questa si porterebbe nello stato di uscita Q /Q = 00, con un tempo paragonabile a quello della commutazione più veloce, dal momento che in queste condizioni commuterebbe una variabile soltanto. - considerazioni sulla potenza media dissipata: Si è eseguita l'analisi in transitorio sollecitando gli ingressi R,S con segnali alternativamente attivi a varie frequenze. Una prima stima teorica prevede per la potenza media dissipata un valore di <PDISS> = 2 f C VDD2 poiché in un periodo bisogna considerare il processo di carica e scarica di due capacità equivalenti (qui fissate pari a 0.1pF). I valori riscontrati dall'elaborazione numerica sono (il pedice "num" sta ad indicare l'output di un'elaborazione numerica, per distinguere il valore da quello teorico): a f = 5MHz: a f = 12.5MHz: a f = 25MHZ: <PDISS>num = 34.2µW <PDISS>num = 89.3µW <PDISS>num = 155µW laddove laddove laddove 2 f C VDD2 = 25µW 2 f C VDD2 = 62.5µW 2 f C VDD2 = 125µW Gli scostamenti dai valori teorici non superano il 30% della <PDISS>num e sono dovuti a due motivi: • presenza di correnti di corto circuito • le capacità equivalenti all'uscita delle porte NOR sono leggermente maggiori di 0.1pF Analisi di un invertitore ECL di Orazio Taglialatela Scafati matricola n° 65/592 Descrizione del circuito Il circuito cui si farà riferimento è il seguente: L'uscita V o1 è quella invertente, mentre Vo2 è la non invertente. La tensione di riferimento Vrif è generata dal seguente circuito, in cui sono presenti due transistori bipolari connessi a diodo: Questo circuito per la generazione della tensione di riferimento fornisce un'adeguata compensazione alle variazioni di temperatura e di tensione di alimentazione, ed è necessario a causa dell'elevatissima sensibilità della porta ECL. Inoltre lo stadio emitter-follower (componenti Q5 ed R5) funge da buffer tra la cascata R3 - Q6 - Q7 - R4 e gli invertitori collegati al terminale Vrif. La tensione di riferimento nominale per i valori scelti dei componenti è di -1V, avendo supposto una caduta di tensione sulle giunzioni base-emettitore pari a 0.7V. La netlist spice associata a questo oggetto è la seguente: invertitore ECL ** descrizione dell'invertitore Vin Vee in 0 0 1 5.2V R1 o1 R2 o2 Rc1 Rc2 Ree 1 1 0 0 2 18k 18k 3 4 1 1.85k 2k 11.7k Q1 Q2 Q3 Q4 in rif 3 4 2 2 o1 o2 npn1 npn1 npn1 npn1 3 4 0 0 ** descrizione del riferimento di tensione R3 0 R4 7 R5 rif 5 1 1 1k 11.7k 25k Q5 0 Q6 5 Q7 6 5 5 6 rif 6 7 npn1 npn1 npn1 Il modello npn1 è relativo al transistore commerciale CA3045. Si può agire sulla temperatura del circuito attraverso la direttiva .option temp=xx (il valore di default per questo parametro è 27°C ovvero 300K). Analisi statica Caratteristiche di trasferimento a T= 27°C L'analisi dc di questo circuito alla temperatura T= 27°C mostra una debolissima dipendenza della tensione di riferimento dalla Vin dovuta alla corrente di base non nulla del transistore Q2: Si assumerà la tensione di riferimento pari al punto medio tra i valori negli stati di ingresso alto e basso: Vrif = (-1.005 - 1.002) / 2 = -1.003V, praticamente pari al valore nominale di -1V. Analizzando i risultati numerici ottenuti, si assumeranno i seguenti livelli logici di tensione: VOL= -1.29V VOH= -0.73V Il punto medio tra questi due valori è ( VOL + VOH ) / 2 = -1.01V praticamente coincidente con V rif = -1V, che si troverà quindi al centro dell'escursione logica. L'ampiezza dell'escursione logica per questo circuito è pari a ∆V = VOH - VOL = 560 mV ed è molto piccola se confrontata con le ampiezze tipiche dei circuiti MOS, che sono dell'ordine dei Volt. Questo è il motivo dell'elevata sensibilità del circuito ECL e della necessità di un regolatore di tensione per compensare le eventuali derive della tensione di riferimento e di alimentazione. I valori trovati analizzando il vettore deriv(o1) di V IL e VIH ed i relativi margini di rumore sono i seguenti: VIL= -1.08V NML = VIL - VOL = 0.210V VIH= -0.922V NMH= VOH - VIH = 0.192V Teoricamente si erano previsti dei valori NM L = NMH = 0.22V. analisi con una batteria per la generazione della tensione di riferimento (T= 27°C) Supponiamo ora di sostituire al circuito di generazione della tensione di riferimento una batteria di valore Vrif = -1V: ** circuito per la generazione della tensione di riferimento Vrif rif 0 -1V Si hanno i seguenti livelli di tensione e i margini di rumore: VOL = -1.29V V IL= -1.07V V IH= -0.919V V OH= -0.73 NML= 0.220V NMH=0.190V Anche in questo cosa l'ampiezza dell'escursione logica è di 560 mV, dato che i livelli logici di tensione non sono cambiati. potenza statica dissipata al variare della tensione di ingresso (T=27°C - circuito con regolaz. di tensione) A T= 27°C si ottiene il seguente diagramma della potenza statica dissipata al variare della tensione di ingresso, dato dal prodotto di VEE per la corrente erogata dall'alimentazione: I valori di potenza statica nei due stati logici sono PSL = 6.38 mW @ Vin = -1.29V PSH = 6.51 mW @ Vin = -0.73V e supponendo un duty-cycle per l'onda in ingresso del 50%, si ottiene una potenza media di <PS> = ( PSH + PSL ) / 2 = 6.44 mW Per ottenere la potenza dissipata dal solo invertitore, si considerano le correnti che circolano nei vari rami di questo: Per un duty-cycle del 50%, i valori medi delle correnti erogate dall'alimentazione sono: <I(R EE)> = 309 µA <I(R1)> = <I(R2)> = 232 µA E la potenza media dissipata dal solo invertitore è di <PS>0 = VEE ∗ ( <I(REE)> + <I(R1 )> + <I(R2 )> ) = 4.02 mW Si noti come le potenze in gioco in questo caso siano molto più grandi delle potenze statiche dissipate dai circuiti NMOS (dell'ordine dei decimi di mW) e dai circuiti CMOS (esattamente zero). Caratteristiche di trasferimento a T= 47°C Le stesse analisi sono ora compiute aumentando la temperatura di 20°C, fino al valore T1 = 47°C. La tensione di riferimento ha in questo caso il seguente andamento in funzione di V in: Il punto medio tra i valori negli stati di ingresso basso e alto è Vrif' = (-0.978 - 0.974) / 2 = 0.976V, in aumento di 24mV rispetto al valore -1V. E' da notare che l'analisi teorica aveva previsto per questa tensione un aumento di 1.5mV/K ∗ 20K = 30mV. Le caratteristiche di trasferimento sono le seguenti: I valori dei livelli logici sono in questo caso: VOL' = -1.26V V OH' = -0.7V il punto medio sarà ( VOL' + V OH' ) / 2 = -0.98 V = Vrif' La tensione di riferimento si troverà ancora una volta al centro dell'escursione termica, come era auspicabile in virtù della regolazione di tensione fornita dal circuito di generazione di V rif. L'ampiezza dell'escursione logica è ancora di ∆V= VOH' - VOL' = 560 mV Per quanto riguarda i margini di rumore si ha: V IH' = -0.890V VIL' = -1.06V NML' = 0.200V NMH'= 0.190V è da notare come questi siano rimasti quasi inalterati dopo un aumento di temperatura di 20°C. In una rappresentazione visiva ecco quanto accade: L'aumento di temperatura ha provocato una pari traslazione (numericamente di 24mV in salita) di tutti i valori notevoli della caratteristica di trasferimento, lasciando praticamente inalterati i margini di rumore. In effetti le caratteristiche di trasferimento restano simmetriche intorno al punto Vrif, qualunque valore questo assuma, a patto che tutti i livelli di tensione restino confinati nell'intervallo (VEE, 0V). analisi con una batteria per la generazione della tensione di riferimento (T= 47°C) Con una batteria di riferimento, a T 1= 47°C si hanno le seguenti caratteristiche di trasferimento: Si nota come queste siano leggermente sbilanciate rispetto al valore di -1V; in particolare si trovano i seguenti valori notevoli: VOL'= -1.26V V IL'= -1.08V V IH'= -0.915V V OH'= -0.7V NML '= 0.180 NMH'= 0.215 L'ampiezza dell'escursione logica è ancora una volta pari a ∆V' = VOH' - VOL' = 560 mV. Infatti rispetto al caso con circuito di compensazione della temperatura, i livelli logici non sono cambiati, mentre è cambiata solo la simmetria intorno al punto centrale dell'escursione logica. Questo lo si può notare constatando come il margine di rumore NML sia diminuito rispetto al valore che aveva a 27°C e quello NMH sia aumentato; il punto medio tra VOL' e VOH' è ( VOL' + VOH' ) / 2 = -0.98V e non è più coincidente con Vrif. Inoltre si ha che Vo1 = -0.959V @ Vin = -1V Vo2 = -0.982V @ Vin = -1V mentre con il circuito di compensazione delle derive termiche era sempre Vo1 = Vo2 = Vrif @ Vin = (VOL + VOH) /2 = V rif E' immediato notare la asimmetria dal seguente profilo dei livelli di tensione: Questo sbilanciamento è dell'ordine delle decine di mV, ma può comportare ugualmente un problema dato che l'escursione logica è molto ristretta per la logica ECL. potenza statica dissipata (T= 47°C - circuito con regolaz. di tensione) I valori di potenza statica dissipata dal circuito nei due stati logici sono PSL' = 6.46mW PSH' = 6.58mW per una potenza media pari a <PS>' = (P SL' + PSH') / 2 = 6.52mW Dal confronto con il valore che questa aveva a T= 27°C, il coefficiente di temperatura di <P S> può essere assunto pari a 4µW/K. Analisi dinamica valori teorici L'analisi teorica approssimata prevede per i ritardi della porta dei valori di THL = TLH = 0.69 RC CT dove R C è la resistenza di collettore sul ramo di interesse, e CT è la somma delle capacità di svuotamento associate alle giunzioni base-collettore CCB e collettore-substrato CCS che insistono sul nodo di interesse: sul ramo di Q 1 si avrà CT1= CCB1 + CCB3 + CCS1 sul ramo di Q 2 si avrà CT2= CCB2 + CCB4 + CCS2 A rigore, queste capacità di svuotamento dipendono dalla tensione inversa applicata alla giunzione stessa, ma in via semplificativa le si possono considerare costanti e coincidenti con i valori a polarizzazione nulla. Per il modello di transistore bipolare usato finora si sono fissati i seguenti valori: CCB =0.992pF, CCS = 0F quindi useremo il valore CT = 2 CCB + CCS = 1.98pF Si avranno allora per le tensioni sui collettori di Q1 e Q2 dei ritardi teorici approssimativamente pari a TP1 = 0.69 ∗ 1.85∗103 ∗ 1.98 ∗ 10-12 = 2.52ns per la v C1 TP2 = 0.69 ∗ 2∗103 ∗ 1.98 ∗ 10-12 = 2.73ns per la v C2 supponendo che gli inseguitori di emettitore seguano istantaneamente le tensioni sui collettori, questi ritardi si rifletteranno inalterati sulle due uscite vo1 e vo2. risultati della elaborazione numerica • singolo stadio non caricato Di seguito sono riportate le forme d'onda dell'ingresso applicato e delle uscite: Ed ecco in scala espansa le commutazioni della porta: Si noti la presenza degli spikes sull'uscita invertente in concomitanza delle variazioni della tensione di ingresso, dovuti all'accoppiamento tra Vin e VC1 (e quindi tra Vin e Vo1 ) attraverso la capacità CCB1 . Questi sono assenti nella uscita non invertente poiché non esiste percorso diretto tra l'ingresso e l'uscita Vo2. I ritardi di propagazione trovati sono: per la tensione vo1: THL1 = 3.2ns, TH1 = 4.2ns per la tensione vo2: THL2 = 2.9ns , TLH2 = 1.9ns Per quanto detto a proposito della motivazione della presenza degli spike su Vo1 , si assume chequesti raggiungano il loro valore di picco in un tempo circa pari alla durata della salita o discesa del segnale in ingresso Vin (scelto pari a 1ns). Dopodiché le fasi di scarica e carica vere e proprie partono da questi valori di picco, che sono maggiori di V OH e minori di VOL: Questo è congruente con i risultati numerici, che mostrano dei ritardi di commutazione sulla uscita invertente di poco più di 1ns più grandi di quelli sulla uscita non invertente. singolo stadio con capacità di carico Caricando l'uscita invertente Vo1 con capacità di diversi valori, si ottengono i seguenti tempi di risposta per questa uscita: capacità da 1pF: THL = 3.6ns TLH = 4.4ns THL/TLH= 0.818 capacità da 2pF: THL = 4.3ns TLH = 4.6ns THL/TLH=0.934 capacità da 3pF: THL = 5.4ns TLH = 4.7ns THL/TLH=1.15 capacità da 4pF: THL = 6.7ns TLH = 4.9ns THL/TLH=1.37 capacità da 8pF: THL = 11.9ns TLH = 5.3ns THL/TLH=2.24 Si nota come all'aumentare della capacità il ritardo nella transizione in discesa sull'uscita invertente aumenta molto più velocemente di quella in salita. Per valori di capacità inferiori a circa 3pF le commutazioni possono ritenersi sufficientemente simmetriche mentre dai 4pF in su la transizione in discesa comincia a farsi notevolmente più lenta di quella in salita, la quale approsimativamente resta invariata. La seguente sovrapposizione di diagrammi temporali rende visibilmente apprezzabile questo aspetto: Il motivo di questo comportamento è immediatamente spiegabile studiando l'andamento della tensione VBE3 del transistore Q3, costituente lo stadio di uscita per il segnale invertente: Durante la fase di scarica della capacità di carico CL, il transistore Q3 è interdetto poiché la costante di tempo R1 CL sul nodo di emettitore è più grande di quella RCCT sul nodo di base (supponendo una CL sufficientemente alta), per cui la tensione VB3 diminuisce più velocemente della VE3 e Q3 si spegne. In queste condizioni, l'unico modo che ha CL per scaricarsi è attraverso la resistenza R1 e la costante di tempo associata è R1CL. Durante la fase di carica invece, il transistore Q3 fornisce una corrente sufficientemente indipendente dalla capacità di carico, ed il transitorio di salita avviene sostanzialmente con la costante di tempo RCCT < R1 CL. • doppio stadio A questo punto, si è caricata l'uscita invertente dell porta ECL con una seconda porta con uguali parametri e collegata allo stesso circuito di riferimento di tensione della prima: Per convenienza, nella netlist Spice si è inclusa la porta ECL in un sottocircuito: ** invertitore ECL .subckt ECL_gate in R1 o1 alim R2 o2 alim Rc1 0 3 Rc2 0 4 Ree 2 alim rif o1 o2 alim 18k 18k 1.85k 2k 11.7k Q1 Q2 Q3 Q4 .ends 2 2 o1 o2 ***** Vin Vee X1 X2 3 4 0 0 in rif 3 4 npn1 npn1 npn1 npn1 descrizione del circuito 10 0 pulse( -1.29, -0.73, 10n, 1n, 1n, 50n, 1u ) 0 1 5.2V 10 20 30 31 1 ECL_gate 30 20 o o1 1 ECL_gate ** riferimento di tensione R3 0 5 1k R4 7 1 11.7k R5 20 1 25k Q5 0 5 20 npn1 Q6 5 5 6 npn1 Q7 6 6 7 npn1 **** Applicando in ingresso il seguente impulso, con tempi di salita e di discesa pari a 1ns: si ottengono le seguenti risposte sui nodi di uscita del primo e del secondo stadio Si noti la presenza di un doppio spike nella uscita del secondo stadio, dovuto al fatto che ad uno spike all'ingresso di questo stadio corrisponde uno spike in uscita nello stesso verso, ed inoltre un secondo spike di verso opposto è dovuto all'accoppiamento tra in e out del secondo stadio. I ritardi di commutazione trovati sono: sulla uscita del primo stadio: T HL1 = 3.3ns, TLH1 = 3.6ns sulla uscita del secondo stadio: TLH2 = 6.4ns, THL2 = 6.8ns ovviamente i ritardi sulla uscita del secondo stadio sono approssimativamente pari al doppio di quelli sulla uscita del primo. Analisi di un invertitore TTL di Orazio Taglialatela Scafati matricola n° 65/592 Descrizione del circuito L'invertitore TTL standard è mostrato di seguito; come è noto, esso è composto da tre stadi: quello di ingresso (transistore Q1, che funge da booster per Q3), quello invertente (transistore Q3 e resistori RC e RE), quello di uscita (stadio totem-pole composto dai transistori Q 2 e Q4, più un diodo D1 che assicura l'interdizione di Q4 nello stato basso in uscita, e un resistore RS che limita la corrente iniettata nel collettore di Q4 qualora l'uscita fosse accidentalmente corto-circuitata a massa): Dato che anche in condizioni statiche la porta TTL assorbe al suo ingresso una corrente non trascurabile, per una corretta analisi questo circuito deve essere opportunamente caricato da una seconda porta, in modo da far sì che i transistori che formano lo stadio totem-pole abbiano un corretto comportamento alternante (quando uno conduce, l'altro si spegne e viceversa). La seguente netlist Spice descrive il circuito caricato da una seconda porta TTL identica alla prima: Invertitore TTL Vcc 1 0 Vin in 0 *** primo stadio Q11 4 3 Q12 out 6 Q13 5 4 Q14 7 5 5V in 0 6 8 npn1 npn1 npn1 npn1 R1B R1C R1E R1S 1 1 6 1 3 5 0 7 4k 1.6k 1k 130 D1 8 out diode *** secondo stadio Q21 24 23 Q22 29 26 Q23 25 24 Q24 27 25 out 0 26 28 R2B R2C R2E R2S 1 1 26 1 23 25 0 27 4k 1.6k 1k 130 D2 28 29 diode npn1 npn1 npn1 npn1 I nodi del secondo stadio seguono la numerazione in figura, mentre quelli del secondo stadio sono numerati da 23 a 29. I nodi di ingresso e di uscita sono indicati rispettivamente con in e out. Analisi statica Caratteristica di trasferimento e considerazioni sulle regioni di funzionamento dei transistori Eseguendo l'analisi dc da 0 a 5V, otteniamo la seguente caratteristica di trasferimento, che mostra il tipico andamento a due spezzate della porta TTL ed i relativi modi di funzionamento dei transistori I livelli di tensione notevoli per questa porta sono: VOL= 0.058V V IL= 0.72V VIH= 1.73V VOH= 3.65V I livelli V IL, V1 e VIH sono relativi ai seguenti modi di funzionamento dei transistori Q2 e Q3: • nella regione VIL < Vin < V1, il transistore Q2 è interdetto e Q 3 funziona da amplificatore a emettitore comune con una resistenza di emettitore RE (in questo caso il transistore Q4 lavora anch'esso in regione attiva e funge da emitter -follower). • nella regione V1 < Vin < VIH, entrambi i transistori Q2 e Q3 funzionano da amplificatori ad emettitore comune e l'amplificazione complessiva è data dal prodotto delle amplificazioni (per cui la pendenza della caratteristica è maggiore). Diagramma delle tensioni VBE2 e VBE3 in funzione di V in: Per alti valori di Vin entrambi i transistori sono saturati con VBE SAT2= 1.04V, VBE SAT3= 0.90V. Potenza statica dissipata Al fine di determinare la potenza dissipata dalla porta TTL in condizioni statiche, è stata eseguita una seconda analisi dc della porta non caricata.: I valori di potenza statica dissipata nei due stati logici sono: PH = 4.99 mW @ Vin = 0.058V PL = 15.5 mW @ Vin = 3.65 V Supponendo un duty-cycle del 50%, si ha la seguente potenza media dissipata: <P> = (PH + PL ) / 2 = 10.2 mW E' da notare come la potenza abbia un picco di circa 100mW (!) nel range di valori di tensione per cui i transistori Q2 e Q3 si trovano entrambi in regione attiva. Caratteristica di ingresso E' stata trovata la caratteristica di ingresso I in(Vin) = -I E1(Vin) della porta per diversi valori di βR: Si noti come per ingresso basso la porta eroghi una corrente indipendente da βR (Q1 è infatti in saturazione diretta), mentre per ingresso alto assorbe una corrente altamente dipendente da βR: teoricamente, se si trascura la dipendenza delle tensioni VBC1, VBE2, VBE3 dalla corrente iniettata in base a Q3, si ottiene un valore per la corrente di base di Q1 pari a (avendo usato per V BE2,SAT e VBE3,SAT i valori trovati nella sezione precedente, e VBC1= 0.7V poiché Q 1 opera in zona attiva inversa per ingresso alto): IB1 = (VCC - (VBE1 + VBE3,SAT + VBE2,SAT) ) /RB = (5V - (.7V + .9V + 1.04V)) / 4kΩ IB1= 0.59mA Quindi -IE1 = βR IB1 = 0.59mA ∗ βR Caratteristiche di uscita e fan-out della porta Dato che la porta TTL è interessata al suo ingresso da una corrente non trascurabile in entrambi gli stati logici, vogliamo stabilire quanto una eventuale corrente di carico Iout della porta influisca sulla sua tensione di uscita Vout . A tal fine si è considerata la porta nei suoi due stati di ingresso e si è eseguita una analisi dc assumendo come variabile di sweep la corrente di carico Iout . Le simulazioni si riferiscono al caso βR=0.25. Dai risultati della sezione precedente si trovano i seguenti valori per la corrente di ingresso della porta TTL nei due stati di ingresso: Iin = -0.884 mA @ Vin = V OL = 0.058V Iin = 0.141mA @ Vin = VOH = 3.65 V • stato di ingresso basso Se si fissa Vin = V OL = 0.058V si ottiene la seguente curva di uscita della porta TTL: Si nota come all'aumentare della corrente di carico, la tensione di uscita per Vin=0.058V diminuisca rispetto al suo valore di 3.65V. Poiché Q2 in questo stato è spento, la corrente di uscita Iout è direttamente erogata dal transistore Q1 operante in zona attiva, e Vout = RC Iout / (βF+1) + VBE1 + V D1 Se si considera una caduta trascurabile su RC, si ha che la tensione di uscita è legata alle tensioni di giunzioni pn polarizzate direttamente; di conseguenza si ha una dipendenza molto debole della tensione di uscita dalla corrente Iout (come si può evincere dal grafico in alto, per cui la tensione Vout ha una variazione di circa 1V per un aumento di un fattore 100 su Iout). Assumendo accettabile un valore di tensione Vout tale che la giunzione BE del transistore Q1 della generica porta a valle resti inversamente polarizzata, e che la corrente di base di quest'ultimo abbia una dipendenza trascurabile da Vout (per cui VB1= 2.64V), si deve assicurare che → Vout > 2.64V Iout < 11.5mA Se si assume che ogni porta assorba una corrente di 0.141mA, si trova il fan-out della porta TTL nello stato alto in uscita: 0.141mA ∗ N < 11.5 mA → N ≤ 81 I calcoli manuali avevano fornito un valore da non superare per N di 185. Questa discrepanza è dovuta all'approssimazione di ritenere nei calcoli manuali delle tensioni VBE4 e VD1 costanti con Iout e pari a 0.7V. Questa approssimazione porta a risultati molto grossolani, dato l'ampio range di variabilità di Iout nel caso in esame (da 0.141mA a 11.5mA). • stato di ingresso alto Nello stato basso in uscita, ogni porta a valle eroga una corrente di 0.884mA, e questa ha una dipendenza non trascurabile dalla tensione Vout , come si evince dal grafico presentato nella precedente sezione. Questo rende ancora meno preciso il calcolo manuale del fan-out nello stato alto in ingresso. La caratteristica di uscita in questo stato è la seguente: Si noti come questo andamento sia proporzionale a quello del βFOR del transistore Q2; infatti βFOR2 = IC2 / IB2 = Iout ( Vout ) / I B2 dove si è supposto I B2 indipendente da V out. Se si assume 0.15V come valore della tensione bassa in uscita da non superare per questa porta, allora dal grafico si evince che deve essere I out < 10.2mA Tornando ora al diagramma della corrente assorbita dalla singola porta in funzione della sua tensione si ingresso, si nota che IE1 = 0.988mA @ Vin = 0.15V per cui deve essere N ∗ 0.988mA < 10.2mA → N ≤ 10 Questo mostra come il fan-out sia sostanzialmente legato alla degradazione dell'uscita nello stato basso, essendo qui l'uscita molto più sensibile alle variazioni della corrente I out rispetto al caso precendente di uscita alta. Analisi dinamica Previsioni teoriche Durante la transizione basso → alto in uscita, i transistori Q2 e Q3 devono entrambi uscire dalla condizione di saturazione, e di conseguenza sono soggetti ad un certo tempo di storage. Ma mentre lo spegnimento del transistore Q3 è agevolato dalla presenza di Q1 (che assorbe durante questa fase una corrente considerevole dalla base di Q3), il transistore Q2 può solo scaricarsi attraverso il resistore RE con una corrente di base relativamente bassa, e ciò implica un tempo di storage maggiore: Se si assume come nella sezione precedente una corrente IB1 ≅ 0.59mA per lo stato alto in ingresso, si trova che nel momento in cui l'ingresso diviene basso, i transistori Q2 e Q3 vengono scaricati da delle correnti di base pari a I BR3 = - 0.59mA * βF = -23.6mA IBR2 = - VBE2 SAT / RE = -1.04mA da cui si può prevedere un tempo di immagazzinamento per Q3 trascurabile rispetto a quello di Q2 (dalle espressioni analitiche per il tempo di storage tS si trova infatti che tS2≅ 4ns e tS3≅ 0.2ns). Una volta smaltite le cariche in eccesso nelle basi di Q2 e Q 3, può partire la fase di salita vera e propria, per la quale si può prevedere un ulteriore ritardo t* necessario per il caricamento della capacità equivalente sul morsetto di uscita. Nella transizione alto → basso in uscita, invece, lo spegnimento del transistore Q 4 (che deve passare dalla regione diretta attiva alla interdizione) è agevolato dalla corrente abbastanza elevata assorbita dal collettore di Q3 e la commutazione in discesa avviene più velocemente di quella in salita. Risultati dell'elaborazione numerica Per valutare numericamente la risposta dinamica dell'invertitore TTL caricato da una seconda porta, lo si è sottoposto ad un impulso di durata 50ns: I tempi di risposta sono stati trovati essere pari a T HL = 3.2ns, TLH = 6.9ns tempo medio di propagazione: T = ( THL + TLH ) / 2 = 5-05 ns prodotto ritardo-potenza PDP = <P> T = 10.2 mW ∗ 5-05 ns = 51.5 pJ Questo è un valore per il PDP davvero notevole rispetto ad altre porte logiche viste, essenzialmente a causa dell'elevata potenza statica dissipata dalla porta. Come ci si aspettava, il transitorio di discesa è più veloce di quello di salita, e durante quest'ultima fase lo spegnimento di Q3 è più veloce di quello di Q2, come si può capire osservando il diagramma temporale delle correnti che vengono pompate fuori dalle basi dei due transistori: Si nota come all'atto dello spegnimento, |IB3 | abbia un picco di 8mA ed il relativo transitorio si estingue prima di |IB2|, che ha un picco di soli 3mA. Inoltre sappiamo che la carica da smaltire per il transistore Q2 per uscire dalla saturazione è maggiore di quella di Q3 (Q2 si "spinge" in saturazione più di Q3, rispettivamente con βFOR2 = 0.483 e βFOR3 = 3.42). Queste constatazioni ci spiegano il motivo per cui il transitorio di spegnimento di Q3 è tanto più veloce di quello di Q2 da poter essere trascurabile rispetto a questo. Elaborazione con differenti tempi di transito Vediamo ora l'effetto sulla risposta dinamica di una variazione sui tempi di transito diretto e inverso dei BJT; a tale scopo si è eseguita l'analisi in transitorio aumentando di 4 volte prima τF poi τR: La discesa è influenzata poco dall'aumento di τF e τR, poiché in questa fase il transistore Q4 (che passa dalla regione attiva alla interdizione) smaltisce le cariche accumulate in base con una costante di tempo pari a τBF (tempo di ricombinazione diretto in base), agevolato dalla corrente di collettore di Q3. L'aumento dei tempi di transito ha invece un effetto predominante sulla salita, poiché qui i transistori Q2 e Q3 devono uscire dalla saturazione smaltendo le cariche in eccesso in base con una costante di tempo τS legata a τF e τR. A parità di fattore di scala, inoltre, un aumento su τR pesa molto di più di uno su τF, poiché quest'ultima è sempre trascurabile rispetto alla prima nell'espressione di τS. Nel diagramma sono stati evidenziati per la commutazione più lenta tre intervalli di tempo: • ∆1 è relativo allo smaltimento delle cariche in base a Q 3 • ∆2 >> ∆1 è relativo allo smaltimento delle cariche di Q2 • ∆3 è relativo all'intervallo di tempo in cui il transistore Q4 si spinge in saturazione, ed eroga una corrente costante con Vout > VOH fino allo smaltimento delle cariche in base. Progetto e confronto di alcuni tipi di celle di memoria RAM in tecnologia CMOS di Orazio Taglialatela Scafati matricola n° 65/592 Descrizione dei vari tipi di cella elementare e dell'amplificatore di lettura Si studieranno 3 tipi di celle di memoria RAM: • cella 6T (di memoria statica) • celle 1T e 4T (di memorie dinamiche) ognuna considerata insieme al rispettivo circuito di rilevazione di lettura (sense-amplifier). I modelli di transistori NMOS e PMOS usati in tutta la trattazione sono i seguenti: .model mosn nmos(kp=2.5e-5 vto=.7 gamma=.5 lambda=.05 tox=20n + cgso= 4e-9 cgdo= 4e-9 cj=2.0e-4 cjsw= 5.0e-10) .model mosp pmos(kp=1.0e-5 vto=-.7 gamma=.75 lambda=.05 tox=20n + cgso= 4e-9 cgdo= 4e-9 cj=2.0e-4 cjsw= 5.0e-10) L'alimentazione è stata scelta pari a 3V e si seguirà un approccio ad area impiegata minima. sense-amplifier Il sense-amplifier che si userà sarà un semplice latch ad invertitori CMOS con segnale di attivazione di precarica, del tipo seguente: Poiché di questo circuito in genere non interessano le variabili interne, esso verrà inserito nelle netlist spice in forma di sottocircuito: .subckt MP1 BL1 MP2 BL2 MN1 BL1 MN2 BL2 MPC BL1 .ends SENSE_AMP BL2 alim BL1 alim BL2 0 BL1 0 BL2 PC alim alim alim 0 0 0 BL1 mosp mosp mosn mosn mosn BL2 w=10u w=10u w=10u w=10u w=10u PC l=1u l=1u l=1u l=1u l=1u Per rendere più sensibile e veloce questo amplificatore, si sono usati dei transistori con W/L= 10/1. cella 6T (memoria statica): In figura sono mostrati lo schema logico e quello circuitale della cella elementare 6T. L'informazione è mantenuta per effetto della retroazione dei due invertitori CMOS, e l'accesso in lettura e scrittura avviene attivando la word-line WL: CBL1 e CBL2 sono le capacità equivalenti delle bit-line viste dalla cella. Queste possono avere valori anche abbastanza elevati (dell'ordine dei decimi di pF o dei pF), poiché connettono insieme un numero anche molto alto di celle. Alla coppia di bit-line, poi, sarà connesso il sense-amplifier visto prima. Questo oggetto, comprensivo di sense-amplifier, è descritto dalla seguente porzione di netlist: VDD 1 0 3V MCP1 MCP2 MCN1 MCN2 MA1 MA2 2 3 2 3 BL1 BL2 3 2 3 2 WL WL 1 1 0 0 2 3 1 1 0 0 0 0 X1 1 BL1 BL2 PC SENSE_AMP CBL1 CBL2 BL1 BL2 0 0 .5pF .5pF mosp mosp mosn mosn mosn mosn w=1u w=1u w=1u w=1u w=1u w=1u l=1u l=1u l=1u l=1u l=1u l=1u cella 1T (memoria dinamica) Si tratta di una cella di memoria dinamica, cioè conserva l'informazione sotto forma di carica sul condensatore CC. Questo schema come è noto, in condizioni di riposo soffre delle correnti di perdita attraverso le giunzioni pn del MOSFET polarizzate inversamente, che porterebbero alla perdita della informazione se non si rinfrescasse periodicamente la cella: La porzione di netlist che descrive questa cella è la seguente: VDD MA CC M1 1 2 2 VDD 0 WL 0 PC 3V BL1 50fF 2 X1 1 BL1 BL2 CBL1 CBL2 BL1 BL2 0 0 .5pF .5pF 0 mosn w=1u l=1u 0 mosn w=1u l=1u PC SENSE_AMP Si è incluso un transistore fittizio M1 il cui scopo è quello di caricare il condensatore CC ad un valore iniziale fissato (nell'esempio la cella viene portata in un "1" logico). Per poter utilizzare il sense-amplifier visto, si è supposta l'esistenza di una seconda bit-line BL2 alla quale non è connessa alcuna cella. Per rendere bilanciato il progetto, sarebbe anche possibile prevedere una cella dummy connessa alla linea BL2, contenente l'informazione complementare a quella della cella in esame. L'utilizzo del sense-amplifier permette non solo di rilevare la presenza o l'assenza di carica sul condensatore, ma anche di ripristinare il contenuto originario, effettuando l'operazione di rinfresco di cui si è parlato. cella 4T (memoria dinamica) La cella 4T rappresenta un compromesso tra l'economicità della 1T e la velocità della 6T. Essa sfrutta una coppia di MOSFET incrociati come nella 6T, ma l'informazione è contenuta in una coppia di condensatori che fungono da carico. Questi conservano sia l'informazione affermata che la negata, rendendo il circuito bilanciato: La corrispondente porzione di netlist Spice è la seguente: VDD 1 0 3V MN1 MN2 MA1 MA2 22 3 BL1 BL2 3 2 WL WL 0 0 20 3 C1 C2 21 3 0 0 50fF 50fF MS1 MS2 1 0 PC PC CBL1 CBL2 X1 BL1 BL2 1 0 0 BL1 0 0 0 0 mosn mosn mosn mosn w=1u w=1u w=1u w=1u l=1u l=1u l=1u l=1u 2 3 0 0 mosn mosn w=1u w=1u l=1u l=1u .5pF .5pF BL2 PC SENSE_AMP Analogamente a quanto fatto per la cella 1T, si sono aggiunti due transistori fittizi MS1 e MS2 che portano la cella, durante la fase di precarica, in uno stato iniziale fissato (nell'esempio,in C1 è memorizzato un "1", in C2 uno "0"). Operazione di lettura Per poter leggere il dato dalla cella di memoria, è necessaria una operazione di precarica delle bitline. In questa fase il sense-aplifier viene portato in un punto di equilibrio instabile, ed al rilascio della precarica un leggero sbilanciamento sulle bit-line lo porterà più o meno velocemente in uno stato stabile. Fase di precarica e punto di lavoro iniziale All'attivazione della linea PC di precarica, il MOSFET M PC fornirà un percorso di corrente tra le due uscite degli invertitori che costituiscono il latch del sense-amplifier. In un progetto bilanciato (i due invertitori uguali tra loro), le due uscite v1 e v2 si porteranno ad un livello comune, annullando la corrente che circola in MPC: L'esistenza di questo livello comune è garantita dalla natura simmetrica dei due invertitori. Rifacendoci alla caratteristica di trasferimento dell'invertitore CMOS abbiamo: Poichè gli NMOS sono più conduttivi dei PMOS, si ha un punto di equilibrio in v1 = v2= 1.32V < VDD/2 All'attivazione della linea PC, le due bitline si porteranno in questo punto dopo un certo transitorio. Il seguente diagramma temporale si riferisce ad una situazione iniziale in cui le linee si trovano a due livelli complementari stabili dovuti ad una operazione precedente di lettura; in t=20ns viene attivata la linea PC: Le linee si portano nel punto di equilibrio in circa 40ns. Questo tempo dipende da diversi fattori: • le capacità equivalenti delle linee, che sono fissate. • il rapporto W/L dei MOSFET che compongono il latch. Dal seguente schema delle correnti iniziali, si capisce come a parità di sbilanciamento v1 -v2 la corrente sottratta alla carica/scarica delle bit-line è maggiore quanto più è elevato il rapporto W/L dei MOSFET del latch, aumentando così il tempo di precarica: Diminuendo troppo il rapporto W/L, però, si rallenta anche il sensing del dato nella cella. Questi sono due fattori progettuali contrastanti. • il rapporto W/L del MOSFET di precarica. All'aumentare di questo diminuisce il tempo di precarica, poiché a parità di sbilanciamento v1-v 2, il transistore MPC può far circolare più corrente. Ovviamente non è possibile aumentare troppo il (W/L)MPC per ovvie ragioni. Di seguito sono eseguite di nuovo le simulazioni scegliendo prima un rapporto W/L più piccolo per i transistori del latch, e poi un W/L di MPC più grande: La circolazione di corrente in MPC termina non appena vBL1 = vBL2, dopodiché la tensione delle due linee continua a diminuire leggermente, per dar modo al latch di assestarsi sull'effettivo punto di equilibrio in cui le correnti nei quattro transistori MN1, MN2, MP1, MP2 sono uguali tra loro. fase di accesso alla cella (sensing) - accesso alla cella 6T: Nell'esempio la cella contiene un "1" logico, e la linea di bit affermata parte dallo "0" logico prima della precarica: Poiché il progetto è ad area minima, la fase di discesa è più veloce di quella di salita, poiché la scarica della bit-line /BL avviene attraverso un transistore NMOS che è più conduttivo di un PMOS, responsabile invece della carica di BL. La fase di sensing avviene in circa 30ns, cui va sommato il tempo di precarica, per un tempo complessivo di accesso di circa 70ns. Il seguente diagramma mostra l'andamento del disturbo dovuto alla lettura sui nodi 2 e 3 della cella: La retroazione della cella di memoria statica, agevolata dall'operazione di sensing compiuta dall'amplificatore di lettura, fa sì che i disturbi all'interno della stessa siano transitori e di piccola entità. Si deve infatti garantire che essi non siano superiori a VTN o -VTP , pena una distruzione dell'informazione. - accesso alla cella 1T L'informazione è contenuta sotto forma di carica su un condensatore. In particolare, ad un "1" logico è associata una tensione VDD - V TN ≅ 1.84V (a scopo dimostrativo si è aggiunto nella netlist Spice un transistore fittizio che carica la capacità all'attivazione di PC): Nell'istante in cui V BL1 = VCC, la corrente nel MOSFET di accesso cambia direzione, caricando il condensatore CC. Lo sbilanciamento iniziale dovuto alla redistribuzione delle cariche tra C C e CBL può essere molto piccolo, e questo causa una commutazione del sense-amplifier più lenta di quanto avveniva per la cella 6T. Inoltre una parte della corrente erogata da quest'ultimo serve a ripristinare l'informazione su CC, rallentando ulteriormente la lettura: - accesso alla cella 4T Questa cella ha delle caratteristiche intermedie tra la 6T (velocità) e la 1T (economicità). Nell'esempio, si suppone che inizialmente la cella contenga un "1" logico (vC1 = VDD-VTN, vC2 = 0V). Se la perturbazione nella cella dovuta alla lettura non è troppo elevata, il transistore MN1 resta interdetto per tutto il tempo, mentre MN2 resta acceso in regione lineare. All'attivazione della WL, vi sarà dal lato BL una condivisione di cariche con C1 (analogamente a quanto visto con la cella 1T), seguita da un ripristino del contenuto originario da parte del senseamplifier. Dal lato /BL invece, la linea si scaricherà sul transistore MN2 con una corrente sufficientemente elevata, così da aumentare lo sbilanciamento iniziale rispetto a quanto accadeva per la cella 1T e rendendo più veloce il sensing: Si nota come nel punto 2 vi sia una perturbazione simile a quelle presenti nella cella 6T. Questa tende ad estinguersi abbastanza velocemente, portando VBL2 a 0V. Anche qui vi è una inversione di corrente nel MOSFET di accesso MA1, che permette un ripristino del contenuto originario della cella. - confronto tra i vari tipi di celle A parità di livello di tensione, la cella 1T ritarda rispetto alla 6T di circa 5ns, mentre il ritardo della 4T si riduce a circa 1ns. Operazione di scrittura Durante l'operazione di scrittura, le bit-line devono essere precaricate con il dato opportuno che deve essere mantenuto stabile durante tutto il ciclo. Si simulerà questo aspetto mediante due generatori di tensione costante connessi alle linee BL1 e BL2. - scrittura nella cella 6T: Nell'esempio, si scrive un "1" logico in una cella che conteneva uno "0". La tensione contenente il dato affermato è la v(2): La fase di discesa è più veloce di quella di salita poiché i transistori NMOS sono più conduttivi di quelli PMOS, essendo il progetto ad area minima (la tensione VSD(MP1)= VDD-v(3) iniziale deve essere maggiore della VDS (MN1)= v(2)-0 per permettere al transistore MP1 di sostenere la stessa corrente di MN1). La retroazione positiva si innesca nel momento in cui i due invertitori entrano nella zona ad alta amplificazione (tutti i transistori sono saturati), e questo accade quando v(2)=v(3). Da questo punto in poi il latch si autosostiene, portandosi velocemente nello stato di equilibrio finale. L'operazione può dirsi conclusa dopo circa 10ns, molto inferiore al tempo di accesso in lettura (precarica+sensing). - scrittura nella cella 1T: La costante di tempo associata a questo processo è Ron CC (Ron resistenza di accensione di MA): La tensione in cui si porta il condensatore prima del rilascio di WL è V CC*= VDD-VTN, dove Si trova un valore VCC* ≅ 1.84V. E' da notare però che a causa dell'accoppiamento capacitivo parassita tra source e gate del transistore MA, l'effettiva tensione finale subirà un leggero ma brusco decremento all'atto del rilascio di WL. Questo deve essere tenuto in conto quando si progetta il periodo dei cicli di refresh. La fase di salita della tensione V CC è di circa 30ns, 3 volte superiore all'accesso alla cella 6T. - scrittura nella cella 4T Il contenuto iniziale della cella è : C 1(tensione v(2)) → "0" logico, C2(tensione v(3)) → "1" logico La scarica di C 2 è molto più veloce della carica di C1 , poichè appena v(2) > VTN, C1 può scaricarsi attraverso il transistore MN1 che opererà per la maggior parte del tempo in regione lineare ( v(3) < v(2)-VTN ). Appena v(3) < VTN, MN1 si spegne, e la carica di C1 avviene attraverso MA1 analogamente a quanto visto per la cella 1T. Questa cella soffre degli stessi problemi della 1T legati alla carica di una capacità, quindi abbiamo un tempo complessivo di accesso in scrittura paragonabile a quello di quest'ultima (circa 30ns). Valutazione della potenza dissipata dalle varie celle La valutazione della potenza dissipata fa riferimento al caso di accesso in lettura e scrittura ai vari tipi di cella ad una frequenza quanto più alta possibile, compatibilmente con i tempi di accesso visti finora. - accesso in lettura alla cella 6T: La potenza associata con la lettura dalla cella 6T è in pratica dovuta alla sola fase di precarica, che porta gli invertitori del latch di sensing a lavorare nella zona a massima amplificazione e a massima corrente. I lievi disturbi all'interno della cella causano una dissipazione minima rispetto a questa: pilotando le linee WL e PC con clock sfasati di ampiezza rispettivamente 30ns e 40ns, e prevedendo un intervallo di 10ns tra una lettura e l'altra per un eventuale ciclo di scrittura, si ha: f read = 12.5 MHz → <P>read= 240µW mentre dalla conoscenza della corrente circolante nel nodo di alimentazione del sense-amplifier si trova che la potenza dissipata da questo è <P>sa = 239µW La potenza dissipata nella cella 6T per effetto del disturbo è assolutamente trascurabile rispetto a quella dissipata dall'amplificatore di lettura a causa dei cicli di precarica: <P>6T, read = <P>read - <P>sa =1µW - accesso in scrittura alla cella 6T Per simulare dei cicli di scrittura ad una certa frequenza, si è eliminato il sense-amplifier e si sono caricate le linee di bit periodicamente con uno "0" e "1" alternativamente, tramite generatori di tipo pulse: va bl1 0 vb bl2 0 vwl wl 0 pulse(0 pulse(0 pulse(0 3 3 3 0 96n 50n .1n .1n .1n .1n .1n .1n 95n 95n 10n 192n) 192n) 95n) La linea WL viene attivata per 10ns con una frequenza di 10.5MHz, prevedendo durante la fase del basso un ciclo di lettura. Il diagramma temporale dell'uscita affermata è il seguente: Si ha una potenza dissipata di <P>6T, write = <i(VDD)∗V(1)> + <i(VA)∗V(BL1)> + <i(VB)∗V(BL2)> = 5.94µW che è superiore alla potenza impiegata in lettura, questo perché in scrittura gli invertitori che costituiscono la cella in genere commutano e sono sottoposti ad una corrente di corto circuito da alimentazione a massa. Inoltre si è messa in conto la potenza dissipata per mantenere le bit-line allo stato alto durante la fase di scrittura. - accesso in lettura alla cella 1T Pilotando la precarica e la word-line con gli stessi clock usati per la cella 6T, si ottiene il seguente diagramma temporale: In questo tipo di memoria, l'alimentazione è connessa al solo sense-amplifier, poiché non c'è bisogno di alimentazione per mantenere la carica sul condensatore, quindi la potenza dissipata è solo relativa alla precarica e al sensing dell'informazione, e si ha <P>1T, read = 242µW - accesso in scrittura alla cella 1T Analogamente alla cella 6T, la capacità della cella 1T viene caricata e scaricata con una frequenza compatibile con i tempi di accesso dei cicli di lettura della stessa. Si ottiene le seguente forma d'onda: L'accoppiamento capacitivo tra source-gate e drain-gate di MA è responsabile del fatto che, alla disattivazione di WL, la tensione su CC, poiché quest'ultimo non può scaricarsi, si porta a dei valori leggermente inferiori di quelli teorici di 0V e VDD-VTN. Si ha: <P>1T, write = 1.83µW, molto vicino al valore teorico di f CC (VDD-VTN)2 = 1.47µW