Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Elettronica Generale Progettazione in tecnologia CMOS di una linea di ritardo programmabile Anno Accademico 2013/2014 Candidato: Erasmo Purificato matr.N46/001371 Dedica. . . Indice Introduzione vi 1 Struttura di una linea di ritardo digitale 1 1.1 Modelli MUX-based . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Modelli NAND-based . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Modelli TINV-based . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Fenomeno del glitching . . . . . . . . . . . . . . . . . . . . . 3 2 Analisi della DCDL NAND-based 5 2.1 DCDL NAND-based glitch-free . . . . . . . . . . . . . . . . 7 2.2 Propriet` a di commutazione glitch-free . . . . . . . . . . . . 9 3 Circuito di pilotaggio 11 3.1 Progettazione del Flip-flop . . . . . . . . . . . . . . . . . . . 12 3.2 Progettazione circuito NAND-based . . . . . . . . . . . . . 16 3.3 Risultati delle simulazioni sul circuito . . . . . . . . . . . . 17 4 Progettazione della linea di ritardo 19 4.1 Progettazione DE . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 Simulazione della commutazione glitch-free . . . . . . . . . 21 4.3 Simulazione con forzamento di glitch . . . . . . . . . . . . . 22 ii Indice 4.4 Ritardo prodotto dalla DCDL . . . . . . . . . . . . . . . . . 23 4.5 Potenza dissipata . . . . . . . . . . . . . . . . . . . . . . . . 24 5 Conclusioni 25 Ringraziamenti 27 Bibliografia 28 iii Elenco delle figure 1.1 Effetto del glitch su un segnale . . . . . . . . . . . . . . . . 3 2.1 Struttura DCDL NAND-based con problema di glitch . . . 5 2.2 Struttura DCDL NAND-based glitch-free . . . . . . . . . . 7 3.1 Circuito di pilotaggio per i bit di controllo della DCDL . . . 11 3.2 Andamento dei segnali di un Flip-flop . . . . . . . . . . . . 12 3.3 Flip-flop realizzato con LTspice IV . . . . . . . . . . . . . . 13 3.4 Overlap segnali di clock . . . . . . . . . . . . . . . . . . . . 14 3.5 Funzionamento Flip-flop . . . . . . . . . . . . . . . . . . . . 14 3.6 Clock-to-Q . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.7 Grafico tempo di setup troppo breve . . . . . . . . . . . . . 15 3.8 Porta NAND in tecnologia CMOS . . . . . . . . . . . . . . 16 3.9 Circuito di pilotaggio implementato in LTspice IV . . . . . 17 3.10 Tempo di propagazione High-Low della porta NAND . . . . 17 3.11 Tempo di propagazione Low-High della porta NAND . . . . 18 3.12 Grafico del vincolo temporale ∆s . . . . . . . . . . . . . . . 18 3.13 Grafico del vincolo temporale ∆t . . . . . . . . . . . . . . . 18 4.1 Elemento di ritardo LTspice IV . . . . . . . . . . . . . . . . 19 4.2 DCDL utilizzata progettata in LTspice IV . . . . . . . . . . 20 iv Elenco delle figure 4.3 Tempificazione dei bit di controllo del ritardo . . . . . . . . 21 4.4 Segnale d’uscita L-H della DCDL . . . . . . . . . . . . . . . 22 4.5 Segnale d’uscita H-L della DCDL . . . . . . . . . . . . . . . 22 4.6 Segnale d’uscita della DCDL con glitch . . . . . . . . . . . . 22 4.7 Durata temporale glitch . . . . . . . . . . . . . . . . . . . . 23 4.8 Ritardo prodotto dalla DCDL . . . . . . . . . . . . . . . . . 23 4.9 Potenza dissipata dalla DCDL 24 . . . . . . . . . . . . . . . . v Introduzione Le linee di ritardo sono dei componenti elettronici ideati per generare autonomamente dei ritardi tra il segnale posto in ingresso ad un circuito e le varie uscite disponibili. Quando vengono collegati in sequenza vari componenti elettronici, spesso non si considera il tempo di ritardo che un segnale elettrico impiega per attraversare ognuno dei componenti del circuito. Accade quindi che il segnale, pur potendo conservare la sua forma, si troverebbe ad assumere un ritardo temporale sicuramente maggiore rispetto al segnale originario. Per far s`ı, quindi, che segnali che devono essere necessariamente sincronizzati, o segnali di controllo, possano giungere contemporaneamente a moduli diversi posti nella stessa piastra, sono stati prodotti questi circuiti. Sebbene l’introduzione delle linee di ritardo digitali programmabili (denominate DCDL - Digitally Controlled Delay-Lines) risalga a tempi relativamente recenti, esse rappresentano, oggigiorno, un elemento fondamentale in numerose applicazioni, come gli ADPLL (All-Digital PhaseLocked Loop, circuiti elettrici ampiamente utilizzati nell’ambito delle telecomunicazioni che permettono di creare un segnale la cui fase ha una relazione fissa con quella di un segnale di riferimento), gli ADDLL (All-Digital Delay-Locked Loop, sistemi elettronici non lineari con feedback negativo in grado di generare un certo numero di segnali in uscita sfasati rispetto ad vi Introduzione un clock in ingresso che, passando attraverso una catena di celle a ritardo variabile, viene ritardato fino a che la differenza di fase fra l’ingresso e l’uscita `e esattamente un ciclo di clock) o gli SSCG (Spread-Spectrum Clock Generator, componenti utilizzati in alcuni sistemi digitali sincroni, in particolare quelli contenenti microprocessori, per ridurre la densit`a spettrale delle interferenze elettromagnetiche che questi sistemi generano), senza dimenticare le molte applicazioni nell’ambito sonoro: dalla progettazione di innumerevoli algoritmi per l’elaborazione dei segnali audio, come ad esempio quelli per la generazione di eco e riverbero, fino alla simulazione dell’acustica di una stanza, passando per la sintetizzazione del suono di strumenti musicali a fiato o a corde. Inoltre, dato che con le attuali tecnologie si prevede che l’elaborazione dei segnali analogici sia progressivamente sostituita da un’elaborazione nel dominio digitale, va considerato che, in questo scenario, le DCDL possono giocare il ruolo di convertitori digitali-analogici (DAC) nei circuiti tradizionali (analog-intensive). vii Capitolo 1 Struttura di una linea di ritardo digitale In questo capitolo verranno, dapprima, descritte brevemente tutte le possibili topologie di implementazione di una linea di ritardo digitale e i parametri critici dei vari modelli e, successivamente, verr`a analizzato il problema del glitch e i modi per evitarlo. 1.1 Modelli MUX-based L’approccio classico di progettazione di una DCDL prevede di utilizzare una concatenazione di celle di ritardo ed un multiplexer per selezionare la cella d’uscita desiderata. In queste DCDL MUX-based, il ritardo del multiplexer aumenta con l’aumentare del numero di celle. Per molte applicazioni che utilizzano questa tipologia di linee di ritardo, un parametro critico `e rappresentato dal ritardo minimo della DCDL (t min ), poich´e determina la frequenza massima del circuito. Ad esempio, per gli ADSSCG (All-Digital SSCG) una sincronizzazione corretta `e otte- 1 Capitolo 1. Struttura di una linea di ritardo digitale nuta semplicemente imponendo che t min sia pi` u piccolo di met`a periodo del clock in ingresso al circuito. In altre applicazioni, invece, l’ampio t min delle DCDL MUX-based pu`o essere ridotto utilizzando una topologia di multiplexer ad albero. Un ulteriore modello prevede la progettazione della DCDL utilizzando una cascata regolare di uguali elementi di ritardo (definiti DE - Delay Elements) che, oltre a permettere un semplice schema realizzativo, realizzano una struttura fortemente lineare. Ogni DE `e costruito usando un invertitore e un multiplexer invertente. Questa topologia presenta due debolezze: il primo inconveniente `e dovuto ai differenti ritardi dell’invertitore e del multiplexer, mentre il secondo `e legato esclusivamente al considerevole ritardo del multiplexer, che fornisce una notevole risoluzione all’intero circuito. 1.2 Modelli NAND-based Come per il modello precedentemente illustrato, anche questa struttura di DCDL fa uso di una cascata di DE uguali, ma in questo tipo di circuito, il multiplexer delle precedenti DCDL `e concettualmente spalmato tra tutte le celle del DE. In questo modo il ritardo minimo t min `e molto basso e diventa indipendente dal numero di celle. Ogni elemento di ritardo `e formato solamente da porte NAND e ci`o permette di ottenere una buona linearit`a e risoluzione. Un’analisi pi` u approfondita di questa topologia verr`a fatta in seguito, poich´e utilizzer`o proprio questo modello per la progettazione della mia linea di ritardo. 2 Capitolo 1. Struttura di una linea di ritardo digitale 1.3 Modelli TINV-based Per completezza `e doveroso citare anche questa ulteriore struttura di DCDL, sempre costituita da DE che in questo caso, per`o, sono costruiti usando degli invertitori tri-state (TINV). Dal momento che la rete di pull-up di un TINV richiede due serie di dispositivi, al contrario di una porta NAND che utilizza un singolo dispositivo, abbiamo che la risoluzione di questo modello `e sicuramente maggiore della risoluzione delle DCDL NAND-based. Di contro, per`o, questa topologia ha il vantaggio, non indifferente, di evitare facilmente il problema del glitch, utilizzando un particolare codice di controllo. 1.4 Fenomeno del glitching Si pensa che il vocabolo inglese glitch derivi dal termine tedesco glitschen (slittare) e dalla parola yiddish gletshn (scivolare, pattinare). In elettronica questo termine `e usato per indicare un picco breve ed improvviso (non periodico) in una forma d’onda, causato da un errore non prevedibile. Nei sistemi che impiegano DCDL, il glitching `e un problema di progettazione piuttosto comune che interessa il transitorio del segnale d’uscita di questi circuiti causando una serie di commutazioni spurie indesiderate. Figura 1.1: Effetto del glitch su un segnale Poich´e nelle pi` u comuni applicazioni le DCDL sono impiegate per processa3 Capitolo 1. Struttura di una linea di ritardo digitale re e/o generare segnali di clock, l’operazione di glitch-free `e assolutamente necessaria. Nelle tipologie di DCDL MUX-based e TINV-based, il glitch pu`o essere evitato usando un codice termometrico per i bit di controllo dei DE, mentre per le DCDL NAND-based ”tradizionali”, il problema del glitch `e quasi totalmente irrisolto e questo inconveniente limita notevolmente l’impiego delle DCDL NAND-based, a vantaggio delle altre strutture. 4 Capitolo 2 Analisi della DCDL NAND-based Prima di passare ad illustrare nel dettaglio la DCDL utilizzata, `e doveroso descrivere la struttura che nel capitolo precedente ho definito come DCDL NAND-based ”tradizionale”, per indicare la linea di ritardo maggiormente impiegata, riferendosi a modelli con DE formati da porte NAND. Figura 2.1: Struttura della DCDL NAND-based con problema di glitch In figura 2.1 `e mostrata una linea di ritardo formata da quattro DE, ognuno composto da quattro NAND, nel quale ”A” indica il fast input di ogni porta, mentre con ”D” sono indicate le cosiddette dummy cells, ovvero 5 Capitolo 2. Analisi della DCDL NAND-based delle porte fittizie aggiunte con il solo compito di bilanciare il carico. Il ritardo del circuito `e controllato attraverso i bit di controllo Si , che codificano il codice di controllo del ritardo (denominato c) con un Si = 1 se i ≥ 0 codice termometrico: Si = 0 se i < 0 Usando questa codifica, ogni DE pu`o essere in pass-state (Si = 0) oppure in turn-state (Si = 0). Tutte le porte NAND presentano lo stesso carico (costituito da due porte NAND) e per questo si pu`o assumere, in prima approssimazione, che abbiano lo stesso ritardo. Questa considerazione permette di scrivere il ritardo δ (da In a Out) come: δ = 2tNAND + 2tNAND · c dove tNAND = (tNANDLH + tNANDHL )/2 rappresenta il tempo di propagazione di una porta NAND, ovvero l’intervallo temporale necessario affinch´e una commutazione dell’ingresso si manifesti in uscita. In particolare, il tNANDLH (e viceversa il tNANDHL ) `e definito come la distanza dal punto in cui il segnale d’ingresso ha raggiunto il 50% della commutazione alto-basso (H-L) al punto in cui il segnale d’uscita ha raggiunto il 50% della conseguente commutazione basso-alto (L-H). Si pu` o osservare che l’espressione di δ precedente rimane invariata sia per commutazioni H-L che per commutazioni L-H dell’uscita e ci`o porta a definire tmin = 2tNAND e tR = 2tNAND , dove tR , tempo di risoluzione della DCDL, rappresenta il minimo ritardo ottenibile con la linea di ritardo. La figura 2.1 mostra come questa DCDL sia affetta da glitch anche considerando solo la commutazione dei bit di controllo mantenendo stabile il segnale d’ingresso. Pi` u in generale, il problema del glitch della DCDL NAND-based appena descritta cresce perch´e, per un codice di controllo pari a c, tutti i segnali αi e βi in figura, con i ≥ c, sono bloccati a 1, 6 Capitolo 2. Analisi della DCDL NAND-based mentre per i < c, lo stato logico dei segnali αi e βi dipende dall’ingresso In. Quando viene aumentato il codice di controllo, lo stato logico dell’uscita diventa dipendente da una porzione della DCDL per il quale αi e βi commutano da 1 a uno stato logico dipendente da In, e questa commutazione pu` o determinare glitch in uscita. Da queste considerazioni ricaviamo, inoltre, che non pu` o esserci glitch quando il codice di controllo del ritardo viene decrementato. 2.1 DCDL NAND-based glitch-free In tempi recenti `e stata sviluppata e proposta una nuova topologia di DCDL NAND-based, attraverso la quale si riesce ad evitare il problema del glitch presente nelle altre strutture della stessa tipologia (per i dettagli della pubblicazione si faccia riferimento a [1]). Figura 2.2: Struttura della DCDL NAND-based glitch-free Come per la struttura precedente, anche in questo caso, ”A” denota il fast input della porta NAND, mentre con la lettera ”D” sono indicate le dummy cells, utilizzate per il bilanciamento del carico. Si pu` o notare come, in questa struttura, ogni DE `e formato da sei porte NAND ed inoltre vengono utilizzati due set di bit di controllo per regolare il ritardo della DCDL: 7 Capitolo 2. Analisi della DCDL NAND-based • i bit Si , come per il modello gi`a descritto, codificano il codice di Si = 1 se i ≥ 0 controllo c usando un codice termometrico: Si = 0 se i < 0 • i bit Ti codificano ancora il codice di controllo c facendo uso, per`o, di un codice one-cold : Ti = 1 per i 6= c + 1, Tc+1 = 0. La figura 2.2 mostra lo stato di tutti i segnali nel caso In = 1, c = 1. In accordo alla codifica utilizzata per i bit di controllo, ogni DE pu`o essere in uno di tre possibili stati, ad ognuno dei quali corrispondono i valori di Si e Ti riassunti nella Tabella 2.1 riportata nel seguito. I DE con i < c sono in pass-state: in questo stato l’uscita della NAND ”3” `e uguale a 1 e la NAND ”4” permette la propagazione del segnale alle porte NAND del livello inferiore. Il DE con i = c `e in turn-state: in questo stato l’uscita del DE `e passata all’uscita della NAND ”3”. Il successivo DE (i = c + 1) `e in post-turn-state: in questo elemento di ritardo l’uscita della NAND ”4” `e bloccata a 1, permettendo la propagazione, nel DE precedente (che `e in turn-state), dell’uscita della NAND ”3” attraverso la NAND ”4”. Tutti i rimanenti DE, con i > c + 1, sono ancora in turn-state. Stato DE Si Ti Pass Turn Post-turn 0 1 1 1 1 0 Tabella 2.1: Possibili stati logici dei DE della DCDL 8 Capitolo 2. Analisi della DCDL NAND-based In questa DCDL lo stato di tutti i segnali αi e β i dipende dall’ingresso: α2i = β 2i = In e α2i+1 = β 2i+1 = In, con la sola eccezione di β c , che rimane bloccato a 1. In figura 2.2 si noti inoltre che, incrementando il codice di controllo di 1, vengono inserite due porte NAND nel percorso di propagazione del segnale tra In e Out. Pertanto, similmente alla DCDL NAND-based analizzata all’inizio del capitolo, la risoluzione pu`o essere scritta come tNANDLH + tNANDHL , ovvero 2tNAND , mentre il ritardo minimo risulta tmin ≈ 3tNAND (maggiore di quello dell’altra struttura dove era di 2tNAND ). 2.2 Propriet` a di commutazione glitch-free L’operazione di commutazione senza glitch `e concettualmente semplice da dimostrare. Si assuma una commutazione del codice di controllo da c = k a c = h. Nello stato iniziale della linea, α2i = β 2i = In e α2i+1 = β 2i+1 = In, ad eccezione di β k , che rimane bloccato a 1. Si supponga di commutare prima il k +1-esimo DE dal post-turn-state al turn-state. In queste condizioni, si pu` o osservare che β k commuta da 1 a αk . Il segnale β k `e l’ingresso della porta NAND ”4” del k -esimo DE. La commutazione di β k `e priva di glitch, in quanto l’altro ingresso della porta `e bloccato a αk , pertanto l’uscita della NAND ”4” rimane uguale a αk . Dopo la commutazione del k +1-esimo DE, tutte le celle sono o in pass-state o in turn-state. In queste condizioni `e possibile cambiare liberamente lo stato dei DE da pass-state a turn-state, dato che questo cambiamento non influisce lo stato logico dei segnali αi e β i . Dopo questa fase l’h+1-esimo DE pu`o essere commutato dal turn-state al post-turn-state. Tale commutazione `e ancora priva di glitch, dato che solo il segnale β h commuta da αh a 1. 9 Capitolo 2. Analisi della DCDL NAND-based Questo meccanismo, oltre al fatto di dover necessitare di una commutazione 3-step della DCDL, presenta anche l’inconveniente di essere lento e pu` o portare ad una non semplicissima progettazione di un circuito di pilotaggio per i bit di controllo della DCDL. Un’analisi pi` u dettagliata della DCDL (presente nell’Appendice I di [1]), mostra che una condizione sufficiente per ottenere un’operazione glitch-free nella DCDL `e quella di ritardare tra di loro i segnali di controllo Si e Ti , in modo che siano rispettati i seguenti vincoli temporali (che nei prossimi capitoli saranno validati con una serie di simulazioni): (1) ∆s = tS HL - tT LH > tNAND ; (2) ∆t = tS LH - tT HL < 3tNAND . 10 Capitolo 3 Circuito di pilotaggio In questo capitolo saranno descritti gli elementi circuitali che ho utilizzato per la realizzazione del circuito di pilotaggio dei bit di controllo della mia linea di ritardo e saranno mostrati i risultati delle simulazioni effettuate per riuscire a rispettare i vincoli temporali sui segnali Si e Ti visti alla fine del precedente capitolo. Per l’implementazione del circuito e per le simulazioni ho utilizzato il software LTspice IV. Figura 3.1: Circuito di pilotaggio per i bit di controllo della DCDL Per evitare il glitching della DCDL, i segnali Si e Ti devono essere loro stessi privi di glitch. Seguendo questo ragionamento, si assume che i segnali Ti siano generati come uscita di un flip-flop, mentre ogni segnale 11 Capitolo 3. Circuito di pilotaggio Si `e ottenuto usando un flip-flop seguito da un circuito NAND-based che presenta diversi ritardi di propagazione (tp LH 6= tp HL ), in modo da poter rispettare i vincoli (1) e (2) visti in precedenza. Un inconveniente di questo circuito di pilotaggio `e rappresentato dalla complessit` a realizzativa, poich´e, per ogni segnale Si , `e necessario un circuito formato da tre porte NAND (in aggiunta ai due flip-flop). 3.1 Progettazione del Flip-flop I flip-flop sono circuiti elettronici elementari, definiti anche bistabili, poich´e possiedono solamente due stati stabili. Un flip-flop come quello realizzato `e detto Master-Slave, ha due ingressi (D e ck) ed un segnale d’uscita (Q); ck rappresenta il segnale di temporizzazione, o clock. Ad ogni fronte attivo del clock (solitamente quello di salita, ma pu`o capitare anche che sia quello di discesa), l’uscita Q memorizza il valore corrente di D e lo mantiene fino al successivo fronte attivo (un flip-flop non `e mai trasparente, ovvero non segue mai l’andamento dell’ingresso). Figura 3.2: Andamento dei segnali di un Flip-flop 12 Capitolo 3. Circuito di pilotaggio Figura 3.3: Flip-flop realizzato con LTspice IV Come mostrato in figura 3.3, il flip-flop `e stato realizzato ponendo in cascata due D-latch, trasparenti su livelli opposti del clock. Il primo, detto Master, `e trasparente per ck = 0, mentre il secondo, denominato Slave, `e trasperente per ck = 1. Gli invertitori presenti nei D-latch, cos`ı come tutti gli altri invertitori presenti in questo elaborato, sono stati realizzati in tecnologia CMOS 28-nm. Considerando l’implementazione di tutti i transistori a lunghezza minima (LN = LP = Lmin = 28 nm, dove i pedici N e P indicano rispettivamente i mosfet a canale N e a canale P), considerando la larghezza standard per questa tecnologia e volendo progettare i transistori del flip-flop in modo da avere uguali tempi di propagazione (ovvero WP = 2.5WN ) abbiamo che le dimensioni degli invertitori sono: WN = 45 nm e WP = 112.5 nm. Per la generazione dei segnali di ck e ck, che rappresentano i segnali di abilitazione delle porte di trasmissione presenti nel circuito, si `e utilizzato necessariamente un ulteriore invertitore. Ci`o presuppone, per`o, che il segnale ck arrivi ritardato rispetto al segnale ck e se questo ritardo diventa apprezzabile, pu` o capitare che i due segnali ck e ck ci trovino allo stesso valore logico e la porta di trasmissione si trova in uno stato di funziona- 13 Capitolo 3. Circuito di pilotaggio mento intermedio tra la conduzione e l’interdizione. Questo problema `e detto overlap dei segnali di clock. Figura 3.4: Overlap segnali di clock Il problema si pu` o risolvere, o quantomeno ridurre notevolmente, facendo in modo il ritardo di ck rispetto a ck risulti trascurabile. E per farlo, utilizziamo un invertitore molto pi` u grande rispetto a quelli usati per i D-latch in modo che il segnale risulti pi` u veloce: WN = 90 nm, WP = 225 nm. Il funzionamento del Flip-flop `e mostrato in figura 3.5, dove in verde abbiamo il segnale di ck, in blu l’ingresso D e in rosso l’uscita Q. Figura 3.5: Funzionamento Flip-flop Per completare l’analisi del Flip-flop restano da calcolare altri due tempi caratteristici: il clock-to-Q e il tempo di setup. Il clock-to-Q rappresenta la distanza temporale tra una variazione del fronte attivo del clock e la conseguente variazione del segnale d’uscita e in figura 3.6 `e mostrato come in questo circuito il suo valore si assesti attorno ai 5 ps. 14 Capitolo 3. Circuito di pilotaggio Figura 3.6: Clock-to-Q Il tempo di setup rappresenta il tempo precedente al fronte attivo del clock in cui l’ingresso D deve rimanere stabile, affinch´e l’uscita Q riesca a memorizzare un valore logico alto o basso e non uno intermedio. Il calcolo `e stato fatto attraverso una simulazione parametrica in LTspice IV. Si `e posto come parametro il tempo di arrivo del segnale d’ingresso. L’analisi `e stata effettuata utilizzando un generatore di clock con periodo 1 ns e tempo di salita di circa 1 ps. Si supponga inoltre di avere una commutazione del dato a circa 20 ps prima del fronte attivo del clock. Considerando un tempo di misura di due periodi di clock si `e fatto variare il tempo di arrivo del dato in un intervallo che va da 0 a 20 ps con passo di 1 ps. Da questa analisi evinciamo che, se il tempo di arrivo del segnale d’ingresso `e sui 990 ps e quello del fronte attivo del clock `e sui 1.01 ns, l’uscita riesce ancora a seguire l’ingresso, ma, come mostrato in figura 3.7, se la commutazione del dato d’ingresso avviene a circa 1 ns, l’uscita non riesce pi` u a commutare sul fronte considerato. Figura 3.7: Mancata commutazione in uscita per tempo di setup troppo piccolo Da ci` o possiamo concludere che tSETUP ≥ 10 ps. 15 Capitolo 3. Circuito di pilotaggio 3.2 Progettazione circuito NAND-based Anche le porte NAND, cos`ı come gli invertitori, sono state costruite tutte in tecnologia CMOS. Figura 3.8: Porta NAND realizzata in tecnologia CMOS La rete di pull-up `e realizzata mettendo in parallelo due mosfet a canale P, mentre la rete di pull-down `e stata realizzata mettendo in serie due mosfet a canale N. Queste due reti, in tecnologia CMOS, devono essere costruite rispettando la seguente condizione: per qualsiasi combinazione degli ingressi, una ed una sola delle due reti deve essere in conduzione (offrendo un cammino verso l’alimentazione o verso massa), mentre l’altra deve essere interdetta. La dimensione dei transistori e il segnale d’ingresso al circuito di pilotaggio sono stati ovviamente scelti per far s`ı che fossero rispettati i due vincoli temporali, che permettono di evitare il glitch sul segnale d’uscita: (1) ∆s = tS HL - tT LH > tNAND ; (2) ∆t = tS LH - tT HL < 3tNAND . Dopo una serie di simulazioni, per i transistori delle NAND (che ho progettato identiche tra di loro) ho scelto le seguenti dimensioni (ricordando 16 Capitolo 3. Circuito di pilotaggio sempre che, per tutti i transistori, ho scelto la lunghezza minima di 28 nm): WN = 100 nm e WP = 250 nm. Per il segnale d’ingresso, invece, ho scelto un generatore con le seguenti caratteristiche: Tdelay = 3 ns (tempo di arrivo del dato), Ton = 5 ns (tempo di attivazione del livello logico alto), Tperiod = 12 ns (periodo del segnale). 3.3 Risultati delle simulazioni sul circuito In figura 3.9 `e mostrato il circuito di pilotaggio implementato in LTspice IV sul quale sono state effettuate le simulazioni. Figura 3.9: Circuito di pilotaggio implementato in LTspice IV Il primo parametro calcolato `e stato il tempo di propagazione di una porta NAND, ricordando che esso `e ottenuto attraverso la formula tNAND = (tNANDHL + tNANDLH )/2. Le figure 3.10 e 3.11 mostrano proprio il valore di tNANDHL e tNANDLH , rispettivamente. Figura 3.10: Tempo di propagazione High-Low della porta NAND 17 Capitolo 3. Circuito di pilotaggio Figura 3.11: Tempo di propagazione Low-High della porta NAND Essendo tNANDHL ≈ 5.33 ps e tNANDLH ≈ 3.69 ps, possiamo concludere che tNAND ≈ 4.5 ps. Sulla base di questi risultati, si pu`o mostrare come le scelte progettuali illustrate nel precedente paragrafo riescono effettivamente a soddisfare i vincoli temporali imposti. I grafici seguenti mostrano il valore di ∆s e ∆t rispettivamente. Figura 3.12: Grafico del vincolo temporale ∆s Notiamo come il vincolo sia praticamente rispettato (salvo un certo margine dovuto a fattori non considerati in questa analisi come, ad esempio, le capacit` a parassite dei circuiti): ∆s ≈ 13 ps (≈ 3 · 4.5 ps). Figura 3.13: Grafico del vincolo temporale ∆t Anche in questo caso il vincolo temporale `e perfettamente rispettato, con ∆t ≈ 4.6 ps. 18 Capitolo 4 Progettazione della linea di ritardo Come gi` a descritto in precedenza, la DCDL NAND-based considerata per la progettazione prevede una sequenza di uguali elementi di ritardo, ognuno dei quali formato da sei porte NAND identiche tra loro, disposte in modo da formare lo schema mostrato in figura 4.1. Figura 4.1: Elemento di ritardo LTspice IV 19 Capitolo 4. Progettazione della linea di ritardo 4.1 Progettazione DE Tutte le porte NAND sono state progettate in tecnologia CMOS 28-nm ed `e stata utilizzata una tensione di alimentazione di 1.0 V per tutti i componenti del circuito. Per le simulazioni e il calcolo dei parametri caratteristici `e stata considerata una DCDL composta da quattro elementi di ritardo, implementata sempre utilizzando il software LTspice IV. Figura 4.2: DCDL utilizzata progettata in LTspice IV Tutta la DCDL `e stata dimensionata in modo da ottimizzare il tempo di risoluzione tR . Le porte NAND presentano un rapporto 2WP /WN = 1.5, invece del classico WP = 2.5WN dove, al solito, WP e WN rappresentano le larghezze di PMOS e NMOS, rispettivamente. I segnali Si e Ti , che identificano i bit di controllo del ritardo della DCDL, sono generati dai circuiti di pilotaggio analizzati nel capitolo precedente. Come dimostrato in precedenza, questi segnali devono rispettare una precisa tempificazione, mostrata in figura 4.3, al fine di evitare il glitch sul segnale di uscita. 20 Capitolo 4. Progettazione della linea di ritardo Figura 4.3: Tempificazione dei bit di controllo del ritardo 4.2 Simulazione della commutazione glitch-free Per le simulazioni ho fatto commutare i circuiti di pilotaggio in modo da avere una commutazione del codice di controllo da c = 1 a c = 2 (e viceversa). La configurazione dei bit di controllo per entrambi i codici di controllo `e mostrata nelle tabelle che seguono: DE Si Ti Stato 0 1 2 3 0 1 1 1 1 1 0 1 Pass Turn Post-turn Turn Tabella 4.1: Configurazione bit di controllo per codice di controllo c = 1 DE Si Ti Stato 0 1 2 3 0 0 1 1 1 1 1 0 Pass Pass Turn Post-Turn Tabella 4.2: Configurazione bit di controllo per codice di controllo c = 2 La simulazione, effettuata sempre con il software LTspice IV, `e stata fatta durare 26 ns e di seguito sono mostrate le uscite sia in caso di commutazione Low-High, sia nel caso di commutazione High-Low. 21 Capitolo 4. Progettazione della linea di ritardo Figura 4.4: Segnale d’uscita L-H della DCDL Figura 4.5: Segnale d’uscita H-L della DCDL Le figure 4.4 e 4.5 evidenziano come sia stato effettivamente evitato il glitch sul segnale d’uscita. 4.3 Simulazione con forzamento di glitch Per completezza, ma soprattutto per validare quanto mostrato nel paragrafo precedente, ho effettuato un’ulteriore simulazione in cui, per`o, i bit di controllo Si e Ti non rispettano i vincoli temporali su ∆s e ∆t pi` u volte imposti all’interno di questo elaborato. In particolare ho scelto: ∆s ≈ 40 ps (> tNAND ) e ∆t ≈ 30 ps (> 3tNAND ). Figura 4.6: Segnale d’uscita della DCDL con glitch In figura 4.6 ho evidenziato in maniera precisa il punto un cui avviene il glitch, mentre in figura 4.7 viene fatto vedere come il glitch sia un distur22 Capitolo 4. Progettazione della linea di ritardo bo non propriamente impulsivo, ma con una durata abbastanza rilevante (nella simulazione effettuata la durata del glitch `e di circa 23 ps). Figura 4.7: Durata temporale glitch Le due simulazioni confermano che, per evitare il glitch, una condizione sufficiente `e quella di rispettare i vincoli temporali, gi`a espressi: (1) ∆s = tS HL - tT LH > tNAND ; (2) ∆t = tS LH - tT HL < 3tNAND . 4.4 Ritardo prodotto dalla DCDL Il ritardo prodotto dalla DCDL `e sicuramente il parametro pi` u importante, ovvero quello che caratterizza la struttura progettata. Figura 4.8: Ritardo prodotto dalla DCDL Come evidenziato in figura 4.8, il ritardo generato dalla DCDL progettata `e di circa 21 ps. Il dimensionamento delle NAND dei DE ci permette, inoltre, di dire che la risoluzione della DCDL pu`o essere scritta come tR = 2tNAND , valore che, in questa DCDL, `e di circa 10 ps. 23 Capitolo 4. Progettazione della linea di ritardo 4.5 Potenza dissipata Per gli invertitori CMOS, l’unico contributo significativo `e dato dalla dissipazione di potenza dinamica. La dissipazione di potenza statica `e trascurabile (considerata praticamente nulla), ma ad essere precisi `e presente un piccolissimo contributo legato a fenomeni del secondo e del terzo ordine dovuti al fatto che, anche se in interdizione, all’interno dei mosfet scorre una debolissima corrente di sottosoglia che genera una piccolissima dissipazione di potenza statica). La dissipazione di potenza dinamica, invece, `e dovuta allo switch dei singoli dispositivi e si pu`o definire come il rapporto tra l’energia erogata dal generatore di corrente e il periodo del segnale. Figura 4.9: Potenza dissipata dalla DCDL Come mostrato in figura 4.9, la potenza dissipata dalla DCDL progettata `e PD ≈ 14.75 nW. 24 Capitolo 5 Conclusioni In questo breve elaborato ho descritto come sia possibile progettare una piccola linea di ritardo digitale, utilizzando il software LTspice IV, sia per la progettazione che per le simulazioni. Ho posto l’attenzione sul problema del glitching e sulle soluzioni adottate per evitarlo. A questo proposito, si `e fatto riferimento ad una topologia di recente presentazione che riesce ad evitare il glitch, mantenendo una struttuta NAND-based, semplicemente ricavando due vincoli temporali sui due set di bit di controllo del ritardo, a loro volta generati da un particolare circuito di pilotaggio, anch’esso analizzato e progettato. Infine sono stati analizzati tutti i risultati prodotti e confrontati con i vincoli di progetto dati. Per quanto riguarda la risoluzione, il risultato ottenuto (tR ≈ 10 ps) `e abbondantemente al di sotto del vincolo che chiedeva una risoluzione massima nell’ordine dei 100 ps. Anche se il risultato ottenuto non `e del tutto veritiero, poich´e si sono trascurati alcuni parametri presenti nella realt`a (come ad esempio le capacit`a parassite), la progettazione `e da ritenersi soddisfacente. 25 Capitolo 5. Conclusioni Riguardo il ritardo massimo, era richiesto nell’ordine dei 10 ns. Considerando che, avendo usato una DCDL con quattro elementi di ritardo, si `e ottenuto un ritardo t ≈ 21 ps, posso concludere affermando che, per produrre un ritardo apprezzabile, occorrono pi` u di un migliaio di elementi di ritardo, se si considerano gli stessi parametri utilizzati in questo elaborato. 26 Ringraziamenti 27 Bibliografia [1] Davide De Caro, ”Glitch-Free NAND-Based Digitally Controlled Delay-Lines”, IEEE Transactions On Very Large Scale Integration (VLSI) Systems, Vol. 21, No.1, January 2013. [2] Mary Paul, Amrutha E., ”Power Reduction and Glitchfree MUX-based Digitally Controlled Delay Lines”, International Conference on Recent Innovations in Engineering (ICRIE’14). [3] S. Kokilamani, K. R. Nimisha, ”Delay Locked Loop Using Glitch Free Nand-based DCDL”, International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering, Vol. 3, Issue 4, April 2014. [4] Adel S. Sedra, Kenneth C. Smith, “Circuiti per la microelettronica”, 4ed. 2012, EdiSES. [5] Nicola Petra, Lucidi del corso di ”Elettronica Generale”, Cdl Ing.Informatica, Universit`a degli Studi ’Federico II’ Napoli, a.a. 2013/14. [6] http://it.wikipedia.org/wiki/Glitch 28
© Copyright 2025 ExpyDoc