Elaborato Purificato Erasmo N46001371

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