Sei sulla pagina 1di 27

Universit` a degli Studi di Trento

` DI INGEGNERIA FACOLTA Elettronica

Report progetto

Static RAM 6T

Candidato:

Matteo Ragni
Matricola 161822

Anno Accademico 2012-2013

Indice
1 Teoria della SRAM 1.1 Struttura di una SRAM 6T 1.2 Operazione di standby . . . 1.3 Operazione di lettura . . . . 1.4 Operazione di scrittura . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

3 4 5 5 8 11 11 11 11 13 13 13 15 15 16 17 18 20 22 23 24 24 24 24 25

2 Simulazione 2.1 Dimensionamento . . . . . . . . . . . . . 2.1.1 Vincoli progettuali . . . . . . . . 2.1.2 Disequazioni di vincolamento . . 2.2 Simulazione in PSPICE . . . . . . . . . 2.2.1 Tempo di salita delle bitline . . . 2.2.2 Simulazione completa . . . . . . Inizializzazione del circuito . . . Write(1) . . . . . . . . . . . . . . Read(1) . . . . . . . . . . . . . . Write(0) . . . . . . . . . . . . . . Read(0) . . . . . . . . . . . . . . 2.2.3 Static Noise Margin dell'inverter 3 Allegati 3.1 Schematic (SRAM 6T) 3.2 Schematic (latch) . . . 3.3 SPICE Libs . . . . . . nMOS . . . . . pMOS . . . . . 3.4 Matlab Script . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Capitolo 1

Teoria della SRAM


L'acronimo SRAM indica il tipo di memoria statica ad accesso casuale (Static Random Access Memory). Il termine statico sottolinea come la cella non necessiti della operazione di refresh tipica di memorie dinamiche (DRAM). Una RAM solitamente organizzata in forma matriciale, suddivise in righe e colonne. Ogni cella in grado di mantenere un bit di informazione. L'accesso al singolo bit eettuato mediante due decodicatori di indirizzo, uno rispetto alla riga (decoder di riga - decoder di word line ) e uno rispetto alla colonna (decoder di colonna - decoder di bitline ). Questa struttura permette di eettuare operazioni di lettura e scrittura anche su pi celle contemporaneamente.
Word Line Bit Line

Word Line Decoder


Cella RAM

Address Bus Demux Bit Line Decoder

Figura 1.1:

Struttura di una RAM

Nelle memorie statiche il dato immagazzinato sotto forma di dierenza di potenziale in un circuito retroazionato composto da due invertitori (latch ). Questa struttura consente di immagazzinare il dato per un tempo virtualmente innito, mantenendo molto bassi i consumi statici di potenza nella fase di standby. La complessit di una singola cella ne innalza notevolemente il prezzo. Nelle memorie dinamiche il dato immagazzinato sotto forma di una dierenza di potenziale ai capi di un condensatore; la struttura di queste memorie e la non-idealit dei circuiti decreta la necessit di eseguire operazioni di refresh (lettura - negazione - scrittura) a intervalli regolari, al ne di mantenere il dato inalterato. Il vantaggio risiede nella struttura semplicata delle DRAM rispetto alle SRAM, che permette di ottenere, ad un prezzo notevolemente inferiore, una meggiore densit di dati a parit di area. Oltre alla necessit di eettuare le operazioni di refresh, necessario sottolineare il consumo statico di potenza elevato di questa tecnologia. 3

Elettronica

BitLine WL WL

BitLine

BitLine

WL

Figura 1.2:

Dierenza tra una SRAM e una DRAM

1.1

Struttura di una SRAM 6T

Entriamo nel dettaglio di una SRAM, visualizzandone lo schema:


VDD Mp3 PC PC VDD Mp4

VDD Mp1

VDD Mp2

Mn3 CBL1 CA WL Mn1 Mn2 CB

Mn4 CBL2 WL

Mn5

DATA

DATA

Mn6

Figura 1.3:

Schema di una cella SRAM. La zona centrale evidenziata centrale identica il latch, all'interno del quale sono distinguibili chiaramente i due inverter FCMOS.

Il dato, contenuto all'interno del latch, formato dai due invertitori FCMOS al centro dello schema. Solitamente si utilizzano questo tipo di inverter, dato l'ottimo margine di immunit ai disturbi. Gli switch di accesso alla word line sono comandati mediante due transistor nMOS, che generalmente presentano una conduttivit maggiore rispetto ai transistori pMOS, anche se la loro collocazione porta ad evidenti problemi:
la dierenza di potenziale tra Source e Bulk porta ad una variazione della tensione di soglia (eetto

Body);

la presenza a valle di Gate di altri transistor porta a dover considerare una certa capacit parassita

collegata al drain del transistor;

il pass-transistor pu avere resistenza non nulla quando spento

Per modellare in parte questi eetti, si inserisce a valle una resistenza parassita, che porta al seguente schema, che verr utilizzato per la simulazione:
Static RAM 6T | 4

Elettronica

VDD
LATCH

VDD PC
INVERTER 1 INVERTER 2

Mp3
BITLINE 1

VDD Mp1

VDD Mp2
OUT 2

PC

Mp4
BITLINE 2

IN 1

IN 2

VBL1 CBL1

Mn3
OUT 1

Mn4 V Mn1 Mn2 VB WL

VBL2 CBL2

WL

Mn5

DATA

DATA

Mn6

Figura 1.4:

Schema della cella SRAM

Si deve comunque considerare che le operazioni di scrittura e lettura passano attraverso gli stessi transistori, che porta a problemi di dimensionamento al ne di evitare alterazione del dato salvato.

1.2

Operazione di standby

Quando non previsto l'accesso alla cella per lettura o scrittura del dato, la cella si trova in condizione di standby e i transistor di word line sono in interdizione. Il dato mantenuto all'interno del latch:

Figura 1.5:

Stato del latch in standby

Eventuali perdite di energia sono sopperite dalla tensione di alimentazione del latch, questo il motivo percui il consumo statico di potenza sia cos basso. Si considera la seguente tabella della verit:
M n1 M p1 M n2 M p2 VA VB DAT A

ON OFF

OFF ON

OFF ON

ON OFF

0 1

1 0

1 0

Tabella 1.1:

Tabella DATA

1.3

Operazione di lettura

Ipotizziamo una condizione in cui il latch sia gi stato inizializzato con uno 0, mentre i condensatori delle bit line (CBL1 e CBL2 ) sono carichi Lo stato della cella, subito prima della selezione della word line il seguente:
Static RAM 6T | 5

Elettronica

VDD Mp3 PC PC

VDD Mp4

VDD Mp1

VDD Mp2

Mn3 CBL1 CA WL Mn1 Mn2 CB

Mn4 CBL2 WL

Mn5

DATA

VDD 0V OFF
Figura 1.6:

DATA

Mn6

Stato in lettura di uno 0

Dopo la selezione delle word line, la tensione della bit line 2 non varia, essendo VBL2 = VB = VDD , mentre la tensione sulla bit line 2 tende a variare essendo VBL1 = VDD > VA , che genera un passaggio di corrente attraverso il transistor Mn3 . Il risultato nale di questa situazione uno sbilanciamento tra le due bit line negativo (VBL1 BBL2 < 0) che rappresenta lo 0 nella SRAM. Condizione fondamentale per non alterare il dato memorizzato mantenere la tensione di VA sotto la tensione di soglia del transistor Mn2 . Questa condizione si traduce matematicamente in

VA VT n

SAT U RO LIN EARE Inserendo questa condizione nella equazione caratteristica dei due transistor Mn e Mn : 3 1

kn 2

W L

((VDD VA ) VT n ) =
n3

kn 2

W L

2 2 (VDD VT n ) VA VA n1

Static RAM 6T | 6

Elettronica

Figura 1.7:

Caratteristica di Mn3 e Mn1 . Criterio di progettazione di lettura. Attenzione all'elemento sull'asse delle ascisse!

da cui si ottiene la disequazione di progettazione:


CRR0 = (W/L)n3 (W/L)n1 2 (VDD 1.5 VT n ) VT n (VDD 2 VT n )2

Se tale condizione rispettata, allora si mantiene Mn2 sempre in interdizione e il valore non alterato in fase di lettura. La struttura di una SRAM evidentemente simmetrica, quindi la analisi appena eettuata pu essere trasferita alla lettura di un 1 logico, che rappresentato da uno sbilanciamento sulle bit line positivo (VBL1 VBL2 > 0).
VDD Mp3 PC PC VDD Mp4

VDD Mp1

VDD Mp2

Mn3 CBL1 CA WL Mn1 Mn2 CB

Mn4 CBL2 WL

Mn5

DATA

VDD 0V OFF
Figura 1.8:

DATA

Mn6

Stato di lettura di un 1

Static RAM 6T | 7

Elettronica

In questo caso la condizione :


VB VT n

che porta alla relazione:


kn 2 W L ((VDD VB ) VT n ) =
n4 2

kn 2

W L

2 2 (VDD VT n ) VB VB n2

e inne alla disequazione di progetto:


CRR1 = (W/L)n4 (W/L)n2 2 (VDD 1.5 VT n ) VT n (VDD 2 VT n )2

(1.1)

Per convenienza costruttiva:


CRR0 = CRR1

Non si pu non accennare al problema dello sbilenciamento delle due bit line, che risulta essere pari a pochi mV . Per questo in applicazioni reali si aggiungono alla RAM sistemi di amplicazione di questo sbilanciamento (sense amplier).

1.4

Operazione di scrittura

IN T ERDIZION E Supponiamo di voler scrivere uno 0 logico nel latch inizializzato a 1, a cui corrispondono Mn , 1 SAT U RO SAT U RO IN T ERDIZION E M n2 , M p1 e M p2 . La prima fase richiede un caricamento delle bit line al valore che si desidera scrivere:

DAT AIN

VBL1

VBL2

0 1
Tabella 1.2:

0 1

1 0

Inizializzazione in scrittura delle bit line

Nel caso preso in esame, VBL1 = 0 e VBL2 = VDD , quindi il condensatore CBL1 scarico, mentre CBL2 SAT U RO carico. Questa situazione ottenuta mediante il valore DAT A = VDD sul gate dei transistor Mn 5 IN T ERDIZION E . e M n6 La fase successiva porta in conduzione i pass-transistor della word line, Mn3 e Mn4 . Quando Mn4 passa in conduzione, VB rimane inizialmente sotto la tensione di soglia VT n . Per poter scrivere il nostro dato, VA deve scendere sotto la tensione di soglia del transistor Mn2 , al ne di portarlo in interdizione, e al di sopra della tensione di soglia di Mp2 , al ne di portarlo in conduzione. In questa condizione, Mn3 opera in zona lineare, e per questo possiamo scrivere la equazione di bilancio di corrente:
kp 2 W L ((VDD |VT p |) =
p1 2

kn 2

W L

(VDD VT n ) VA
n3

2 VA 2

Static RAM 6T | 8

Elettronica

Figura 1.9:

Scrittura di uno 0 logico

imponendo la condizione
VA VT n

si ottiene la seguente disequazione di progetto:


CRW 0 = (W/L)p1 kn 2 (VDD 1.5 VT n ) VT n = (W/L)n3 kp (VDD |VT p |)2

(1.2)

Figura 1.10:

Caratteristica di scrittura, rapporto Mp1 e Mn3

Static RAM 6T | 9

Elettronica

Come prima, grazie alla perfetta simmetria della cella, possiamo esprimere lo stesso concetto per i transistor Mp2 e Mn4 , per la scrittura di un 1 logico:
(W/L)p2 = CRW 1 = CRW 0 (W/L)n4

Figura 1.11:

Scrittura di un 1 logico

Static RAM 6T | 10

Capitolo 2

Simulazione
2.1
2.1.1

Dimensionamento
Vincoli progettuali

Il dimensionamento di una cella deve sottostare ad alcuni vincoli progettuali imposti, quali la tecnologia costruttiva e le tensioni di alimentazione. De seguito si presenta una lista di parametri di vincolo:
Tensione di alimentazione: VDD = 5V ; Capacit di bit line: CBL1 = CBL2 = 500f F ; Caratteristiche dei transistor nMOS:

     

tensione di soglia: VT n = 1V ; guadagno di corrente: kn = 50AV 2 ; fattore di eetto di substrato: n = 0.3V 1/2 ; potenziale di supercie: 2 = 0.7V ; lunghezza minima di canale: L = 1m; fattore di forma minimo: (W/L)n = 1;

Caratteristiche dei transistori pMOS:

   

tensione di soglia: VT p = 1V ; guadagno di corrente: kp = 20AV 2 ; lunghezza minima di canale: L = 1m; fattore di forma minma: (W/L)p = 1;

Capacit parassita gate inverter: CA = CB = 15f F ; Fattori di forma transistor di bit line: (W/L)p3 = (W/L)p4 = 3; Fattori di forma transistor dati: (W/L)n5 = (W/L)n6 = 4.
2.1.2 Disequazioni di vincolamento

Come detto in precedenza, per convenienza progettuale/economica, si mantiene la simmetria della cella:
(W/L)n1 = (W 7L)n2 (W/L)p1 = (W/L)p2 (W/L)n3 = (W/L)n4

11

Elettronica

applicando le disequazioni di progetto ricavate nella sezione, in lettura (equazione1.1):


2 (VDD 1.5 VT n ) VT n (W/L)n3 (W/L)n1 (VDD 2 VT n )2 2 ( V ( W/L ) DD 1.5 VT n ) VT n n 4 (W/L)n2 (VDD 2 VT n )2

e in scrittura (equazione 1.2):


(W/L)p1 kn 2 (VDD 1.5 VT n ) VT n (W/L)n3 kp (VDD |VT p |)2 ( W/L ) k 2 ( V p 2 n DD 1.5 VT n ) VT n (W/L)n4 kp (VDD |VT p |)2

andando a sostituire i valori:


2 (5V 1.5 1V ) 1V (W/L)n3 = 0.4375 0.5 (W/L)n1 (5V 2 1V )2 (W/L)n4 0.4375 0.5 (W/L)n2 50AV 2 2 (5V 1.5 1V ) 1V (W/L)p1 = 1.09375 1.5 (W/L)n3 20AV 2 (5V | 1V |)2 (W/L)p2 1.09375 1.5 (W/L)n4

Riunendo le disequazioni con i valori approssimati, si ottengono le equazioni di progetto:


(W/L)n3 (W/L)n4 (W/L)n3 (W/L)n4 = 0.5 (W/L)n1 = 0.5 (W/L)n2 = 1.5 (W/L)p1 = 1.5 (W/L)p2

applicando la condizione di simmetria si semplica il problema:


(W/L)n1 = 3 (W/L)p1 (W/L)n3 = 1.5 (W/L)p1

dalla quale risulta, impostando il pMOS al fattore di forma minimo:


(W/L)n1 = 3 (W/L)p1 = 1 (W/L)n3 = 1.5

Riassumendo le dimensioni:
(W/L) Mn1 Mn2 Mn3 Mn4 Mn5 L [m] W [m] (W/L) Mn6 Mp1 Mp2 Mp3 Mp4 L [m] W [m]

3 3 1.5 1.5 4

1 1 1 1 1
Tabella 2.1:

3 3 1.5 1.5 4

4 1 1 3 3

1 1 1 1 1

4 1 1 3 3

Dimensioni dei transistor

Static RAM 6T | 12

Elettronica

2.2
2.2.1

Simulazione in PSPICE
Tempo di salita delle bitline

La prima situazione da analizzare sicuramente il tempo di caricamento delle bitline, necessario per conoscere i possibili tempi di scrittura e lettura. Questo pu essere calcolato analiticamente, considerando Mp3 attivo, e Mn3 e Mn5 in interdizione. Il circuito equivalente :
VDD Mp3
BITLINE 1

VDD PC PC Mp4
BITLINE 2

VDD VPC
CBL2

VDD Mp1

VDD Mp2

VBL1 CBL1

Mn3 V WL Mn1 Mn2 V

Mn4

Mp4

WL

Mn5

DATA

DATA

Mn6

VBL2

Figura 2.1:

Circuito equivalente di caricamento della bit line

Il caricamento a 0.9 VDD dato dalla relazione, derivata dalla soluzione della equazione dierenziale:
2 CBL1 kp (W/L)p3 (VDD |VT p |) 2 500 1015 20 106 3 (5 | 1|) |VT p | 1 + ln VDD |VT p | 2 | 1| 1 + ln 5 | 1| 2 2 (VDD |VT p |) (VDD 0.9 VDD ) VDD 0.9 VDD = 6.68 ns

= =

2 (5 | 1|) (5 0.9 5) (5 0.9 5)

andando ad eettuare la simulazione con i modelli di MOS a livello 1 (vedi allegato ), si ottiene un valore sostanzialmente inferiore, come possibile vedere dalla gura 2.3, nel quale si evidenzia un tempo di caricamento:
R 5.38 ns

per cui si ipotizza di utilizzare un clock di periodo di 6 ns. Per semplicit, i transistor di caricamento delle bit line hanno il gate collegato direttamente a massa.

2.2.2

Simulazione completa

Di seguito, la simulazione completa, per un periodo complessivo di 78 ns. Si identicano in particolare le operazioni di lettura e di scrittura.
Static RAM 6T | 13

Elettronica

5.0V

2.5V

0V

-2.1V V(WORD_LINE) 5.0V V(DATA)-1 V(notDATA)-2

2.5V

0V V(VA) 5.0V V(VB)

2.5V

0V V(VCB1) 5.0 V(VCB2)

-5.0 0s 6ns 12ns 18ns 24ns 30ns 36ns 42ns 48ns 54ns 60ns 66ns 72ns V(VCB1)-V(VCB2)
Figura 2.2:

Risultati di simulazione

Nel primo graco in alto sono rappresentati i clock in ingresso. Nel secondo graco sono rappresentati gli andamenti di tensione nel latch. Nel terzo graco rappresentato l'andamento delle tensioni ai capi dei condensatori di bit line. L'ultimo graco rappresenta lo stato del dato salvato nel latch e la dierenza di tensione delle bit line1 . Dal le di output di PSPice si evince un consumo di potenza pari a 3mW .
1 Lo

DAT A =

stato, a partire dalla dierenza di tensione nelle bitline, pu essere ottenuto molto semplicemente con la relazione: VDD VDD sign (VBL1 VBL2 ) + .
2 2

Static RAM 6T | 14

Elettronica

Inizializzazione del circuito

Di seguito, il transitorio iniziale, con la inizializzazione a 0 del latch:

5.0V

2.5V

0V

-2.1V V(WORD_LINE) 5.0V V(DATA)-1 V(notDATA)-2

2.5V

0V V(VA) 5.0V V(VB)

2.5V

0V V(VCB1) 5.0 V(VCB2)

-5.0 0s V(VCB1)-V(VCB2) Time


Figura 2.3:

6ns

12ns

Init

Write(1)

Scrittura di un 1 logico nel latch inizializzato a 0.


Static RAM 6T | 15

Elettronica

5.0V

2.5V

0V

-2.1V V(WORD_LINE) 5.0V V(DATA)-1 V(notDATA)-2

2.5V

0V V(VA) 5.0V V(VB)

2.5V

0V V(VCB1) 5.0 V(VCB2)

-5.0 29ns 30ns V(VCB1)-V(VCB2)


Figura 2.4:

36ns Time

42ns

Write(1)

Read(1)

Lettura dell'1 logico appena scritto nel latch, utilizzando un tempo di lettura pari a 6s.
Static RAM 6T | 16

Elettronica

5.0V

2.5V

0V

-2.1V V(WORD_LINE) 5.0V V(DATA)-1 V(notDATA)-2

2.5V

0V V(VA) 5.0V V(VB)

2.5V

0V V(VCB1) 5.0 V(VCB2)

-5.0 41ns 42ns V(VCB1)-V(VCB2)


Figura 2.5:

48ns Time

54ns

Read(1)

Write(0)

Scrittura di uno 0 logico nel latch.


Static RAM 6T | 17

Elettronica

5.0V

2.5V

0V

-2.1V V(WORD_LINE) 5.0V V(DATA)-1 V(notDATA)-2

2.5V

0V V(VA) 5.0V V(VB)

2.5V

0V V(VCB1) 5.0 V(VCB2)

-5.0 53ns 54ns V(VCB1)-V(VCB2)


Figura 2.6:

60ns Time

66ns

Write(0)

Read(0)

Lettura di uno 0 logico nel latch.


Static RAM 6T | 18

Elettronica

5.0V

2.5V

0V

-2.1V V(WORD_LINE) 5.0V V(DATA)-1 V(notDATA)-2

2.5V

0V V(VA) 5.0V V(VB)

2.5V

0V V(VCB1) 5.0 V(VCB2)

-5.0 65ns 66ns V(VCB1)-V(VCB2)


Figura 2.7:

72ns Time

78ns

read(0)

Questo ultimo read(0) risulta essere particolarmente comodo per denire il tempo di lettura di un dato. Il tempo di lettura in parte denito dai tempi caratteristici della cella, e in parte dal circuito (sense amplier) a valle. Nota la tensione minima per eettuare la lettura (per un valore solitamente pari a pochi mV ), si pu denire il tempo necessario per la lettura, molto pi breve rispetto ai 6s della simulazione. Per avere un tempo di lettura pari a 0.5s, il sense amplier a valle deve essere in grado di distinguere il segno di uno sbilanciamento di tensione delle bitline pari a 500mV .
Static RAM 6T | 19

Elettronica

2.2.3

Static Noise Margin dell'inverter

Di seguito sono eseguite delle simulazioni sull'inverter per valutarne lo SNM, utilizzando gli stessi parametri per i transistor della cella SRAM. Poich la valutazione di questo elemento pressocch impossibile mediante la versione Demo di PSPice A/D 9.1, i dati della simulazione (*.dat) sono stati elaborati in Matlab 2013. Di seguito la curva caratteristica degli inverter in cascata:

5.0V

4.0V

01

3.0V

10

2.0V

1.0V

0V 0V

1.0V
Figura 2.8:

2.0V

3.0V

4.0V

5.0V

Curva caratteristica degli inverter

Il SNM identicato gracamente dal massimo quadrato inscritto nelle curve caratteristiche. Per poter calcolare il valore massimo del diametro del quadrato, si ruotano le dua curve di 45 e si esegue la sottrazione2 . Il valore massimo della curva ottenuta sottoposta al valore assoluto rappresenta il valore della diagonale del quadrato. Moltiplicando il valore per il coseno di 45 si ottiene il valore di SNM:
VA VB

45 |VA-VB|

Figura 2.9:

Calcolo del SNM

Di seguito i risultati sperimentali:


2 In pratica, si sta utilizzando una matrice di rotazione in R2 applicata a /4, quindi: V Rot = sin(/4) VA + cos(/4) VB . Non importante ruotare l'asse delle ascisse, potendo utilizzare invece l'indice dell'array in Matlab.

Static RAM 6T | 20

Elettronica

Static Noise Margin 6 VB VA SNM

4 VB [ V ]

2 VA [ V ]

Figura 2.10:

SNM, ricavato dalla analisi Matlab

SN M = 1.26 V

Static RAM 6T | 21

22

3.1

Vdd

Vdd

Vdd PMOS
+

Allegati

PMOS PRECHARGE
-

Capitolo 3

PRECHARGE Mp4

5V

VDD

Mp3

WORD_LINE PRECHARGE

Vdd

Schematic (SRAM 6T)

WORD_LINE

PMOS
-

PMOS
+

WL

Mp1 VB VA Mn2 Cb 15f ic=0 NMOS Cbl2 500e-15 ic=0


+ -

Mp2 Mn4 NMOS VCB2 DATA

Elettronica

VCB1

NMOS

Mn3

Inverter1

Inverter2

Cbl1 500f ic=0

Mn1

W1

Ca 15f ic=0

NMOS

notDATA

+ -

W0

Mn5 Page Size: A4

Mn6 DATA NMOS

+ -

Init

notDATA

NMOS STATIC-RAM 6T

Matteo Ragni, 161822 Corso di Laurea in Ingegneria Meccatronica Corso di Elettronica Simulazione di RAM Statica 6T

Static RAM 6T | 23
September 12, 2013 Page 1 of 1

Revision:

v1.0

Elettronica

3.2

Schematic (latch)

PMOS M1

PMOS M3

Q
+ + -

nQ

nnQ TestCl2 15f ic=5 NMOS M4

V3

5V

VDD

TestCl 15f ic=0 NMOS M2

3.3
nMOS
1

SPICE Libs

11

16

21

26

. MODEL NMOS ( LEVEL =1 + PHI =0.600000 + TOX =2.1200 E -08 + XJ =0.200000 U + TPG =1 + VTO =0.7860 + DELTA =6.9670 E -01 + LD =1.6470 E -07 + KP =9.6379 E -05 + UO =591.7 + THETA =8.1220 E -02 + RSH =8.5450 E +01 + GAMMA =0.5863 + NSUB =2.7470 E +16 + NFS =1.98 E +12 + VMAX =1.7330 E +05 + ETA =4.3680 E -02 + KAPPA =1.3960 E -01 + CGDO =4.0241 E -10 + CGSO =4.0241 E -10 + CGBO =3.6144 E -10 + CJ =3.8541 E -04 + MJ =1.1854 + CJSW =1.3940 E -10 + MJSW =0.125195 + PB =0.800000)

pMOS
. MODEL PMOS ( LEVEL =1 + PHI =0.600000 + TOX =2.1500 E -08 + XJ =0.200000 U + TPG = -1 + VTO = -0.9403 + DELTA =8.5790 E -01

Static RAM 6T | 24

Elettronica

14

19

24

+ + + + + + + + + + + + + + + + + + +

LD =1.1650 E -09 KP =3.4276 E -05 UO =214.4 THETA =1.4010 E -01 RSH =122.2 GAMMA =0.5615 NSUB =2.4270 E +16 NFS =3.46 E +12 VMAX =3.9310 E +05 ETA =1.5670 E -01 KAPPA =9.9990 E +00 CGDO =2.7937 E -12 CGSO =2.7937 E -12 CGBO =3.5981 E -10 CJ =4.5952 E -04 MJ =0.4845 CJSW =2.7917 E -10 MJSW =0.365250 PB =0.850000)

3.4

Matlab Script

% Analisi dell ' inverter % Estrapolazione del Static Noise Margin dal . dat file
4

% readdat : scaricabile a % http :// www . mathworks . it / matlabcentral / fileexchange /21452 - pspice - binary - import clear all ; close all ; [ data , text ] = readdat ( 'D :\ workspace \ SPICE \6 t \ InverterTest . dat ' ); % Estrapolazione delle posizioni richieste for i = 1: size ( text ) if strcmp ( text ( i ) , 'V ( nQ ) ') VnQpos = i ; end if strcmp ( text ( i ) , 'V ( nnQ ) ') VnnQpos = i ; end end VnQ = double ( data (: , VnQpos )); VnnQ = double ( data (: , VnnQpos )); clear i text data VnQpos VnnQpos ;

14

19

24

% Rappresentazione della caratteristica figure , plot ( VnQ , VnnQ , VnnQ , VnQ ); % Interpolazione mediante spline % Parte della caratteristica tagliata per evitare problemi di % derivate infinite in curve fitting V = [0.1:0.001:4.9]; VnQFit = fit ( VnnQ , VnQ , ' smoothingspline ' ); VnnQFit = fit ( VnQ , VnnQ , ' smoothingspline ' ); VnQFit = VnQFit ( V ); VnnQFit = VnnQFit ( V ); figure , plot (V , VnQFit ,V , VnnQFit );

29

34

39

% Le curve sono ruotate di 45 gradi

Static RAM 6T | 25

Elettronica

VnQRot = - sin ( pi /4).* V '+ cos ( pi /4).* VnQFit ; VnnQRot = - sin ( pi /4).* V '+ cos ( pi /4).* VnnQFit ;
44

% Calcolo della funzione di margine di rumore StNM = cos ( pi /4)*( abs ( VnQRot - VnnQRot )); display ( ' ===================== ') display ( ' STATIC NOISE MARGIN : ') StNMmax = max ( StNM ); disp ( StNMmax ) display ( ' ===================== ') % Plot finale x = [0.1:4.8/( size ( StNM ,1) -1):4.9];

49

54

59

figure ( ' color ' , ' white ') , ... plot (x , VnQFit , 'r ') , hold on , ... plot (x , VnnQFit , 'b ') , hold on , ... plot (x , StNM , 'k ') , hold on ,... plot (x , ones ( size ( StNM ) ,1).* StNMmax , 'k -. '), ... grid on , ... legend ( ' VB ', ' VA ' , ' SNM ') , ... xlabel ( ' VA [ V ] ') , ylabel ( ' VB [ V ] ') , ... title ( ' Static Noise Margin ')

Static RAM 6T | 26

Bibliograa
[1] Adel S. Sedra, Kenneth C. Smith, Circuiti per la microelettronica, Ed. Ingegneria 2000, 1996 [2] G.-F. Dalla Betta, G. Soncini, Appunti di Elettronica 2, Memorie a semiconduttore [3] The VLSI System Center, Introduction to VLSI, SRAM Circuit Design, Lecture 6 [4] G. Cramer, P.-C. Huang, Area-performance tradeos in sub-threshold SRAM designs, EE241 [5] OrCAD, PSPice 9.1 user guide [6] R. Perfetti, Circuiti elettrici, Zanichelli, 2010 [7] Frank Sommerhage, PSPice binary import, Download

27