15
Progetto Automatico dei Sistemi Digitali Anno Accademico 2009/2010 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

Relazione progetto pasd

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

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

Page 2: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

INTRODUZIONE:

Normalmente nel livello d’astrazione 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 d’astrazione 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:

U1

CLKBUF1

1

2

3

4

U6

INVX1

1 2

34

U10

DFFPOSX1

D1

CLK2

VDD

3G

ND

4

Q 5

0

0

C100.001p

U13

INVX1

1 2

34

0

0

V21Vdc

0

C110.001p

U14

INVX1

1 2

34

0

0

V31Vdc

0

C120.001p

U15

INVX1

1 2

34

0

0

V41Vdc

0

V

VV

V16

TD = 0

TF = 5pPW = 0.5nPER = 1n

V1 = 0

TR = 5p

V2 = 1v

0

C140.001p

U17

INVX1

1 2

34

0

0

V61Vdc

0

C150.001p

0

U18

INVX1

1 2

34

0

0

V71Vdc

C160.001p

0

U19

INVX1

1 2

34

0

0

V81Vdc

C130.001p

U16

INVX1

1 2

34

0

0

V51Vdc

0

C60.001p

0

0

0

V101Vdc U20

INVX1

1 2

34

0

V131Vdc

0

V141Vdc

V17

TD = 0.25n

TF = 5pPW = {PW}PER = 2n

V1 = 0

TR = 5p

V2 = 1v

0

PARAMETERS:PW = 1.728n

C70.001p

0

0

0

V111Vdc U21

INVX1

1 2

34

C80.001p

0

0

0

V121Vdc U22

INVX1

1 2

34

0

V151Vdc

0

Page 3: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

L’aspetto più importante per questo livello d’astrazione è 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 l’utilizzo 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 l’effetto della scrittura del simbolo 1 con violazioni del tempo di setup crescenti

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

Page 4: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

Restringendo l’analisi 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 l’instante di campionamento, e l’istante in cui l’uscita 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 l’effetto della scrittura del simbolo 1 con violazioni del tempo di setup crescenti

Si osserva l’effetto della scrittura del simbolo 0 con violazioni del tempo di setup crescenti

Page 5: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

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 d’uscita 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.

Nell’ultima regione il dispositivo campiona sempre un valore errato del dato in ingresso a causa dell’eccessiva 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 :

Page 6: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

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 un’ulteriore 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 un’ampiezza 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 master-slave. Al fine della modellazione logica è stato ritenuto opportuno effettuare un’altra simulazione, restringendo ulteriormente il range, al fine di valutare con maggiore precisione i limiti entro i quali il flip-flop 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

Page 7: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

MODELLAZIONE LOGICA :

In questa fase bisogna modellare da un punto di vista logico il comportamento elettrico precedentemente ottenuto. L’idea base è quella di considerare tre regioni di funzionamento, ovvero unificare la regione di metastabilità e quella in cui si ha la certezza d’errore in un’unica 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 τp = 78,6 ps Q corretto e τp costante

78 ps > ∆t > 28 ps τp max = 112 ps Q corretto e τp con ritardo aggiuntivo

∆t < 28 ps Q errato

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

∆t >86 ps τp = 98 ps Q corretto e τp costante

86 ps > ∆t > 69 ps τp max = 120 ps Q corretto e τp con ritardo aggiuntivo

∆t < 69 ps Q errato

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 l’automa è stata assunta l’ipotesi che nel medesimo istante di tempo vari un solo segnale d’ingresso; 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ò nell’automa è tenuto in considerazione con lo stato IDLE. L’idea 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 d’usicta. 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 l’automa in cui il primo ingresso è il clock e il secondo il dato D.

Page 8: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

L’automa è 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 l’accuratezza 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 l’ingresso 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:

Page 9: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

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 d’onda in ingresso al dato D, generate in

Page 10: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

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 sull’asse y il tempo di propagazione di Q rispetto il fronte del clock e sull’asse 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 dell’automa prima presentato, e restituisce in un file di testo, per ogni campionamento lo stato previsto e l’errore di sovrastima del ritardo, legato alla discretizzazione a due livelli. Inoltre in presenza di situazioni non previste dal modello il programma ne prevede l’opportuna segnalazione. La robustezza del modello è però controbilanciata da un’eccessiva sovrastima del tempo di ritardo, quantificabile in termini statistici con il software realizzato, e legata all’utilizzo 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 un’operazione 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:

Page 11: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

Quantizzazione della funzione ritardo nel caso di fault 1

Quantizzazione della funzione ritardo nel caso di fault 0

Adesso l’errore 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.

Page 12: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

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

∆t >78 ps τp0 = 78,6 ps Q corretto e τp costante

78 ps > ∆t > 43 ps τp1 max = 87,9ps Q corretto e τp con ritardo aggiuntivo

43 ps > ∆t > 33 ps τp2 max = 98,1ps Q corretto e τp con ritardo aggiuntivo

33 ps > ∆t > 28 ps τp3 max = 108,1ps Q corretto e τp con ritardo aggiuntivo

∆t < 28 ps Q errato

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

∆t >86 ps τp0 = 98 ps Q corretto e τp costante

86 ps > ∆t > 72 ps τp1 max = 104,5 ps Q corretto e τp con ritardo aggiuntivo

72 ps > ∆t > 70 ps τp2 max = 110,8 ps Q corretto e τp con ritardo aggiuntivo

70 ps > ∆t > 69 ps τp3 max = 117,2 ps Q corretto e τp con ritardo aggiuntivo

∆t < 69 ps Q errato

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 all’avvio quale debba essere il numero di soglie e gli altri dati necessari a caratterizzare il modello.

Page 13: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

Il nuovo automa qui di seguito:

L’automa così ottenuto, riesce con i giusti parametri a modellare un qualsivoglia flip-flop, inoltre il modello è scalabile nei confronti dell’errore 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 l’errore tra il tempo di ritardo atteso dalle simulazioni e quello atteso dal modello logico, ottenuti con il software da noi concepito:

Page 14: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

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 l’errore 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).

Page 15: Relazione progetto pasd

Progetto Automatico dei Sistemi Digitali

Anno Accademico 2009/2010

Le statistiche estrapolate per comprendere meglio i grafici precedenti sono: PERCENTUALI SOGLIE fault 0 long: Soglia 0 equivalente a 9.800000e-11s: associati 52.054794% dei 365 campioni totali. Soglia 1 equivalente a 1.044000e-10s: associati 38.356163% dei 365 campioni totali. Soglia 2 equivalente a 1.108000e-10s: associati 5.479452% dei 365 campioni totali. Soglia 3 equivalente a 1.172000e-10s: associati 3.013699% dei 365 campioni totali. PERCENTUALI SOGLIE fault 1 long: Soglia 0 equivalente a 7.860000e-11s: associati 0.000000% dei 434 campioni totali. Soglia 1 equivalente a 8.843333e-11s: associati 64.516129% dei 434 campioni totali. Soglia 2 equivalente a 9.826667e-11s: associati 23.041475% dei 434 campioni totali. Soglia 3 equivalente a 1.081000e-10s: associati 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 l’obiettivo prefissatoci, si potrebbe comunque ampliare l’analisi 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 nell’automa. Sull’errore di quantizzazione si potrebbe invece prova a sceglie una scala di discretizzazione che invece di rendere uguale l’errore per ogni soglia, tenti su basi probabilistiche a ridurne l’errore in termini di modello.

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