Sei sulla pagina 1di 15

Progetto Automatico dei Sistemi Digitali

Caratterizzazione logica della violazione del tempo di setup in un flip-flop di tipo D mediante timed automata

Studenti:

Sferrazza Giovanni

Docente:

Prof. Favalli Michele

Corso:

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

INTRODUZIONE:
Normalmente nel livello dastrazione logica vengono trascurati molteplici fenomeni tipici del livello circuitale, tuttavia in taluni casi risulta interessante poter considerare fenomeni puramente legati al livello elettrico anche nel livello dastrazione logico, compatibilmente con i metodi atti a descrivere un circuito a quel livello. Scopo di questo progetto quello di poter considerare a livello logico, il tempo di setup per un flip-flop di tipo D e i relativi comportamenti elettrici legati alla violazione di tale vincolo. Il progetto si sviluppa quindi in due fasi, dapprima sono state svolte simulazioni elettriche atte a caratterizzare la risposta del circuito, mentre nella seconda fase si trovato un modello logico che meglio considerasse quanto ottenuto dalla prima fase.

CARATTERIZZAZIONE ELETTRICA :
Per la caratterizzazione elettrica stata utilizzata la libreria di componenti FreePDK45nm, dalla quale stato utilizzato oltre al flip-flop D anche gli altri componenti necessari a rendere le simulazioni realistiche. Il simulatore adottato, ai fini della compatibilit con i modelli BSIM4 level 54 presenti nella libreria, HSPICE. Agli ingressi e alle uscite del Flip-Flop sono stati inseriti dei buffer in modo tale da considerare un plausibile carico capacitivo, e quindi il circuito da simulare diventa il seguente:
V5 1Vdc
3

U16 2 C13 0.001p

0
1

INVX1 V6 1Vdc
3

0
U17 1Vdc 1 2 C14 0.001p
3

V2

U13 2 C10 0.001p

0
1

INVX1

0
V7 1Vdc
3

INVX1

0
U18 1Vdc 1 2 C15 0.001p
3

V3

U14 2 C11 0.001p

0
1

INVX1

0
V8 1Vdc
3

INVX1

0
U19 1Vdc 1 2 C16 0.001p
3

V4

U15 2 C12 0.001p

0
1

INVX1

0 0

INVX1 V15 V13


3

1Vdc U6

1Vdc 1

0 0
PARAMET ERS:
PW = 1.728n V1 = 0 V2 = 1v TD = 0.25n TR = 5p TF = 5p PW = {PW} PER = 2n 1Vdc 1 V17
4

U10 1 D CLK

G ND VDD

2
V

5
V

INVX1
V

DFFPOSX1

0 0
V14
2

U1 V10 3 1Vdc 1 U20 2 C6 0.001p

CLKBUF1

V1 = 0 V2 = 1v TD = 0 TR = 5p TF = 5p PW = 0.5n PER = 1n

V16

INVX1

0 0

V11
3

1Vdc 1

U21 2 C7 0.001p

INVX1

V12
3

1Vdc 1

U22 2 C8 0.001p

INVX1

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Laspetto pi importante per questo livello dastrazione di poter caratterizzare il flip-flop in presenza di una violazione sul tempo di setup. Sono stati considerati separatamente il caso in cui la violazione del tempo di setup avvenga in corrispondenza di una transizione alta o di una bassa del dato D, questo al fine di poter osservare eventuali asimmetrie nella risposta del circuito. Le simulazioni sono state eseguite mediante lutilizzo della .PARAM, prevedendo di effettuare prima una scrittura corretta del dato nel flip-flop e successivamente la scrittura del simbolo opposto al precedente con un incremento progressivo della violazione sul tempo di setup, garantendo comunque il vincolo sul tempo di hold. Quindi i segnali in ingresso e in uscita al flip-flop utilizzati nella simulazione sono quelli delle figure seguenti:

Si scrive correttamente il simbolo 0 e dopo si osserva leffetto della scrittura del simbolo 1 con violazioni del tempo di setup crescenti

Si scrive correttamente il simbolo 1 e dopo si osserva leffetto della scrittura del simbolo 0 con violazioni del tempo di setup crescenti

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Restringendo lanalisi al range di maggiore interesse della simulazione sono stati ottenuti i seguenti risultati, dove stato misurato il tempo che intercorre tra il 50% del fronte positivo del clock, quindi linstante di campionamento, e listante in cui luscita Q raggiunge il 50% della sua transizione, denominando tale parametro p e graficandolo in funzione del parametro t, che a sua volta la differenza tra il fronte positivo del clock e il fronte di commutazione del dato in ingresso D.

Si osserva leffetto della scrittura del simbolo 1 con violazioni del tempo di setup crescenti

Si osserva leffetto della scrittura del simbolo 0 con violazioni del tempo di setup crescenti

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

La curva di maggiore interesse indubbiamente p (t) dove per entrambi i casi si osservano essere presenti quattro regioni: Una regione di funzionamento corretto nella quale se pur ritardando il fronte di commutazione del dato D, rispetto al fronte positivo del clock, p rimane costante a 78,6 ps fino a t =78 ps nel caso del campionamento del simbolo 1, e costante a 98ps fino a t =86 ps nel caso del campionamento del simbolo 0. Una seconda regione in cui il dato D viene campionato comunque correttamente, ma il ritardo p aumenta rapidamente fino al valore 115.56ps per t=28ps nel caso del simbolo 1 e p fino a 119.58ps per t=69ps nel caso del simbolo 0. Si osserva facilmente come il flip-flop abbia una maggiore robustezza rispetto la violazione del tempo di setup nel campionare un valore logico alto. Nella terza regione, successiva ai punti evidenziati nei grafici e citati al punto precedente, il dispositivo raggiunge un valore duscita con un ritardo nettamente superiore ai casi precedenti e non sempre il valore campionato corretto. Questa situazione da attribuire a fenomeni di meta stabilit del circuito e note le limitazioni del simulatore nel trattare tali casi, i risultati in questa regione devono intendersi incerti. Nellultima regione il dispositivo campiona sempre un valore errato del dato in ingresso a causa delleccessiva violazione di tsu. Tali risultati corrispondono in parte con quello che ci si doveva aspettare dalla simulazione, infatti se si considera la classica struttura master-slave di un flip-flop di tipo D e se ne valuta il tsu :

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Non rispettando tsu si rientra proprio nel caso in cui QM viene a dipendere dallo stato degli invertitori I2 e I3, per cui ci si poteva aspettare la presenza di unulteriore regione intermedia tra quella a ritardo costante e quella in cui il ritardo cresce rapidamente, nella quale il ritardo cresca moderatamente; cos come ci si apettava unampiezza sia della seconda che della terza regione superiore a quella delle simulazioni. Tuttavia queste differenze, e quindi anche tale robustezza alla violazione del tsu, sono imputabili alla diversa realizzazione del flip-flop rispetto al classico caso accademico di un flip-flop con struttura masterslave. Al fine della modellazione logica stato ritenuto opportuno effettuare unaltra simulazione, restringendo ulteriormente il range, al fine di valutare con maggiore precisione i limiti entro i quali il flipflop campiona i dati in maniera corretta nonostante la presenza di un ritardo addizionale:

Il punto contrassegnato rappresenta il primo valore per il quale si ha un errore logico, campionando un valore alto

Il punto contrassegnato rappresenta il primo valore per il quale si ha un errore logico, campionando un valore basso

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

MODELLAZIONE LOGICA :
In questa fase bisogna modellare da un punto di vista logico il comportamento elettrico precedentemente ottenuto. Lidea base quella di considerare tre regioni di funzionamento, ovvero unificare la regione di metastabilit e quella in cui si ha la certezza derrore in ununica regione, in quanto entrambe non garantiscono la certezza di campionare un dato corretto. Mentre le altre due regioni sono date dal caso in cui il dato corretto con ritardo costante e dal caso in cui pur avendo un dato corretto questo necessita di un ritardo addizionale, che per semplicit di trattazione verr considerato il caso peggiore. Ottenendo quindi le seguenti regioni di funzionamento per i rispettivi simboli : t >78 ps 78 ps > t > 28 ps p = 78,6 ps p max = 112 ps Q corretto e p costante Q corretto e p con ritardo aggiuntivo Q errato

t < 28 ps
Nel caso di campionamento di un valore logico alto ( 1 ).

t >86 ps 86 ps > t > 69 ps

p = 98 ps p max = 120 ps

Q corretto e p costante Q corretto e p con ritardo aggiuntivo Q errato

t < 69 ps
Nel caso di campionamento di un valore logico basso ( 0 ).

Si ritenuto opportuno modellare i comportamenti descritti con un timed automata. Ai fini di rendere pi semplice lautoma stata assunta lipotesi che nel medesimo istante di tempo vari un solo segnale dingresso; cosa che non rappresenta nessuna limitazione in quanto si ipotizza una risoluzione dei timer molto elevata. Inoltre non viene considerata alcuna transizione del dato D successiva al campionamento finch il clock non ritorni basso, essendo positive edge triggered, ci nellautoma tenuto in considerazione con lo stato IDLE. Lidea generale stata quella di utilizzare due timer per misurare il tempo di permanenza nello stesso livello del dato D a partire da una sua transizione dopo il fronte negativo del clock, fin tanto che o cambia il dato o il clock campiona: quindi discriminando lo stato dusicta. Le uscite possibili corrispondo alle tre regioni sopra individuate, e nello specifico allo stato master corrisponde il caso in cui il dato campionato correttamente e p costante, lo stato delay corrisponde al caso in cui Q corretto e p con ritardo agguntivo, lo stato di error comune ad entrambi i simboli e corrisponde al caso in cui Q errato. Si riporta di seguito lautoma in cui il primo ingresso il clock e il secondo il dato D.

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Lautoma stato ottenuto sulla base delle simulazioni elettriche in funzione degli stimoli che meglio mettessero a risalto la violazione del tempo di setup; tuttavia opportuno valutare laccuratezza del modello ottenuto con stimoli diversi da quelli finora considerati. Visto che i precedenti stimoli prevedevano di effettuare prima una scrittura corretta del dato nel flip-flop e successivamente la scrittura del simbolo opposto al precedente con un incremento progressivo della violazione sul tempo di setup, garantendo comunque il vincolo sul tempo di hold, adesso si deciso di valutare il modello prevedendo di scrivere un dato in maniera corretta nel flip-flop, subito dopo portare lingresso nel livello logico opposto per poi riportarlo allo stato memorizzato, prima del fronte del clock, con un tempo via via minore. Ecco quindi i grafici di tali simulazioni:
Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Si ha il primo caso di errore quando il dato rimasto alto per soli 26.6ps prima del fronte di clock

Si ha il primo caso di errore quando il dato rimasto basso per soli 63ps prima del fronte di clock

Da quanto emerge da queste due simulazioni il modello risulta essere coerente, infatti il modello prevede che se si permane in uno stato logico alto per un tempo inferiore a 28ps si ha una situazione di errore, la simulazione mostra il primo errore per un tempo di 26.6ps; dualmente per il livello logico basso si ha il primo errore per un tempo di 63ps contro i 69ps previsti dal modello. Tuttavia questi casi non sono sufficienti a convalidare il modello rispetto ogni possibile caso presentabile, ecco perch sono stati eseguite alcune simulazioni con forme donda in ingresso al dato D, generate in
Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

maniera pseudo-casuale. Tale segnale deve rispettare il tempo di hold, non preso in esame, e deve avere durata degli stati logici compatibile con il periodo di clock. La simulazione eseguita la seguente:

Sequenza di test pseudo casuale, (utilizzata per convalidare entrambi i modelli logici).

Anche in tale situazione il modello risulta coerente con la simulazione elettrica, vista per la complessit nel mostrare riscontro e al fine di rendere pi agevole la verifica, rendendola semiautomatica, stato scritto un software in linguaggio C. Il software prende in ingresso un file di testo ottenuto da Cosmosscope salvando la waveform corrispondente alla funzione ritardo; ovvero la funzione ottenuta graficando sullasse y il tempo di propagazione di Q rispetto il fronte del clock e sullasse x il tempo che intercorre tra il 50% del dato stabile in ingresso e il fronte del clock. Elabora il file testo in funzione del modello presente nel software, corrispondente a quello dellautoma prima presentato, e restituisce in un file di testo, per ogni campionamento lo stato previsto e lerrore di sovrastima del ritardo, legato alla discretizzazione a due livelli. Inoltre in presenza di situazioni non previste dal modello il programma ne prevede lopportuna segnalazione. La robustezza del modello per controbilanciata da uneccessiva sovrastima del tempo di ritardo, quantificabile in termini statistici con il software realizzato, e legata allutilizzo di due soli livelli. Per sopperire a tale eccesso, si previsto di quantizzare il ritardo con pi livelli, quindi tramite MATLAB, dopo aver importato le misure si eseguita unoperazione di fitting con un polinomio di grado 9, al fine di eliminare le fluttuazioni dei risultati e poi si eseguita una quantizzazione non uniforme.

I modelli ottenuti con un intervallo di confidenza del 95%, sono stati quantizzati in maniera non uniforme nel seguente modo:
Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Quantizzazione della funzione ritardo nel caso di fault 1

Quantizzazione della funzione ritardo nel caso di fault 0

Adesso lerrore di sovrastima, per il tratto di curva a ritardo non costante, uguale per ogni livello di quantizzazione e pari al massimo a 6,35ps nel caso del simbolo 1 e 10,08ps nel caso di simbolo 0.

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Quindi le seguenti regioni di funzionamento per i rispettivi simboli diventano ora:

t >78 ps 78 ps > t > 43 ps

p0 = 78,6 ps p1 max = 87,9ps p2 max = 98,1ps p3 max = 108,1ps

Q corretto e p costante Q corretto e p con ritardo aggiuntivo Q corretto e p con ritardo aggiuntivo Q corretto e p con ritardo aggiuntivo Q errato

43 ps > t > 33 ps

33 ps > t > 28 ps

t < 28 ps
Nel caso di campionamento di un valore logico alto ( 1 ).

t >86 ps 86 ps > t > 72 ps

p0 = 98 ps p1 max = 104,5 ps p2 max = 110,8 ps p3 max = 117,2 ps

Q corretto e p costante Q corretto e p con ritardo aggiuntivo Q corretto e p con ritardo aggiuntivo Q corretto e p con ritardo aggiuntivo Q errato

72 ps > t > 70 ps

70 ps > t > 69 ps

t < 69 ps
Nel caso di campionamento di un valore logico basso ( 0 ).

In virt di queste nuove soglie stato modificato il modello precedente, aggiungendo nuovi stadi per la quale il dato in uscita corretto ma ritardato di un suo tempo caratteristico. Anche il software da noi scritto stato adattato a questo nuovo modello, ed in previsione di ulteriori modifiche si inserita la possibilit di decidere allavvio quale debba essere il numero di soglie e gli altri dati necessari a caratterizzare il modello.

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Il nuovo automa qui di seguito:

Lautoma cos ottenuto, riesce con i giusti parametri a modellare un qualsivoglia flip-flop, inoltre il modello scalabile nei confronti dellerrore sul tempo di ritardo previsto, infatti sufficiente replicare gli stati ritardi per avere maggiore accuratezza. Si potrebbe anche pensare di sostituire tutti gli stati di ritardo con un componente quale una LookUp table, ai fini di generalizzare ulteriormente il modello, anche se ci non previsto nella trattazione con una macchina a stati finiti SFM. Anche per questo modello stata prevista una fase di convalida mediante il segnale di stimolo, denominato segnale test pseudo-casuale, precedentemente utilizzato per valutare il modello a due soglie. Il modello risulta coerente con le simulazioni elettriche, e a scopo illustrativo si presentano i grafici seguenti, in cui si valuta lerrore tra il tempo di ritardo atteso dalle simulazioni e quello atteso dal modello logico, ottenuti con il software da noi concepito:

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Nel caso di campionamento di un valore logico basso ( 0 ).

Nel caso di campionamento di un valore logico alto ( 1 ).

Per poter osservare in maniera apprezzabile lerrore di quantizzazione, stata svolta una simulazione con un beanchmark di 340 periodi di clock in cui comunque lo stimolo stato generato in maniera pseudo casuale; se ne riportano i grafici corrispondenti agli errori per entrambi i simboli:

Nel caso di campionamento di un valore logico alto ( 1).

Nel caso di campionamento di un valore logico basso (0).

Anno Accademico 2009/2010

Progetto Automatico dei Sistemi Digitali

Le statistiche estrapolate per comprendere meglio i grafici precedenti sono:


PERCENTUALI SOGLIE fault 0 long: Soglia Soglia Soglia Soglia 0 1 2 3 equivalente equivalente equivalente equivalente a a a a 9.800000e-11s: 1.044000e-10s: 1.108000e-10s: 1.172000e-10s: associati associati associati associati 52.054794% dei 365 campioni totali. 38.356163% dei 365 campioni totali. 5.479452% dei 365 campioni totali. 3.013699% dei 365 campioni totali.

PERCENTUALI SOGLIE fault 1 long: Soglia Soglia Soglia Soglia 0 1 2 3 equivalente equivalente equivalente equivalente a a a a 7.860000e-11s: 8.843333e-11s: 9.826667e-11s: 1.081000e-10s: associati associati associati associati 0.000000% dei 434 campioni totali. 64.516129% dei 434 campioni totali. 23.041475% dei 434 campioni totali. 11.520738% dei 434 campioni totali.

Dai grafici si evidenziano comunque i limiti tipici della rappresentazione digitale nei confronti di un fenomeno analogico. Pur ritenendo raggiunto lobiettivo prefissatoci, si potrebbe comunque ampliare lanalisi oltre che considerando anche il tempo di hold e rispettiva risposta del circuito, si potrebbero considerare i casi in cui pur verificandosi fenomeni di metastabilit il flip-flop converge al valore corretto, introducendo nuovi stati nellautoma. Sullerrore di quantizzazione si potrebbe invece prova a sceglie una scala di discretizzazione che invece di rendere uguale lerrore per ogni soglia, tenti su basi probabilistiche a ridurne lerrore in termini di modello.

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Anno Accademico 2009/2010