Laboratorio 3: Celle di memoria RAM

Laboratorio 3: Celle di memoria RAM
Ing. Ivan Blunno
21 aprile 2005
1
Cella RAM statica a 4 transistor
Realizzare il circuito di figura 1 rappresentante una cella di RAM statica a
4 transistor. Assegnare alle resistenze di pull-up R1 ed R2 il valore di 1M Ω
(1meg). Tutti i transistor hanno lunghezza e larghezza di canale pari ad 1µ
(W = 1u, L = 1u). Si ricorda di definire il modello dei transistor assegnando i
seguenti valori per le capacità parassite di drain a source: cbs = 1f e cbd = 1f .
Le tensioni di soglia saranno vto = 1 per i transistor NMOS e vto = −1 per
i transistor PMOS. Le capacità C1 e C2 sono le capacità parassite delle linee
e dovranno essere pari a 150f F . Le capacità C3 e C4 hanno il solo scopo
di assegnare il valore iniziale memorizzato nella cella (che altrimenti sarebbe
indeterminato). Assegnare a C3 valore iniziale 0 ed a C4 valore iniziale 5V.
Assegnare ad entrambi una capacità pari a 1f F .
I nodi P e W sono gli ingressi di precharge e word line. Collegare ad
entrambi un generatore di tensione a impulsi (VPWL). Scegliere come periodo
(PER) per entrambi il valore di 100ns, come durata dell’impulso (PW) il valore si
30ns e come valori dei tempi di ritardo di salita e di discesa (TR e TF) il valore di
1ns. Poiché la precarica deve precedere la lettura ed i due impulsi non devono
sovrapporsi è necessario scegliere due tempi di ritardo iniziale diversi (TD). Si
scelga 1ns per il segnale di precharge e 45ns per il segnale di word select. Si
noti inoltre che il segnale di precharge entra sul gate di due PMOS mentre il
segnale di word select entra su due NMOS. Per questa ragione il primo dovrà
avere V 1 = 5 e V 2 = 0 mentre per il secondo questi valori dovranno essere
scambiati.
NOTA: I nodi di substrato dei transistor NMOS vanno collegati a massa
mentre quelli dei PMOS vanno collegati all’alimentazione.
1.1
Simulazione di un ciclo di lettura
1. Simulare il circuito descritto al paragrafo precedente per un ciclo e verificare che la lettura porta ad avere un 1 sull’uscita D ed uno 0 sull’uscita
DN.
1
P
R1
R2
C1
C2
C3
C4
W
D
DN
Figura 1: Cella RAM statica a 4 transistor
2. Collegare l’ingresso di precarica P all’alimentazione (precarica interdetta)
e assegnare ai condensatori parassiti delle linee C1 e C2 il valore iniziale
0. Verificare come il tempo durante il quale il segnale W resta ad 1 non è
suffciente a portare le due linee ai valori di regime.
1.2
Simulazione di un ciclo di scrittura
Mantenendo la precarica interdetta (nel ciclo di scrittura questa fase non è necessaria) collegare la linea D a massa e la linea DN all’alimentazione e verificare
che al termine del ciclo di scrittura il valore contenuto nella cella (tensioni ai
capi delle capacità parassite C3 e C4) è cambiato.
2
Cella RAM statica a 6 transistor
Modificare il circuito di figura 1 sostituendo alle due resistenze due transitor
PMOS con gli ingressi collegati a quelli dei rispettivi NMOS.
2.1
Simulazione di un ciclo di lettura
Ripetere le simulazioni del paragrafo 1.1. In particolar modo verificare che per
questo tipo di cella il ciclo di precarica non è necessario, ma può essere utile
per avere il valore alto sulle linee di dato pari a 5 volt (senza precarica il valore
2
massimo che si può raggiungere sarà pari a VDD − VT n = 4V per via del pass
transistor).
2.2
Simulazione di un ciclo di scrittura
Ripetere la simulazione del paragrafo 1.2
3
Cella RAM dinamica a 4 transistor
La cella dinamica a 4 transistor può essere ottenuta semplicamente dalla cella
statica a 6 transistor eliminando i due transistor PMOS di pull-up.
3.1
Simulazione di un ciclo di lettura
1. Ripetere le simulazione del paragrafo 1.1 e verificare come il ciclo di precarica sia necessario a garantire il corretto funzionamento della cella in
fase di lettura.
2. Provare a deteriorare il contenuto della cella di memoria, assegnando ad
esempio un valore iniziale al condensatore C4 pari a 3V invece di 5V.
Verificare che il ciclo di lettura ripristina un valore corretto di tensione
nella capacità.
3.2
Simulazione di un ciclo di scrittura
Ripetere la simulazione del paragrafo 1.2
4
Cella RAM dinamica a 1 transistor
Si realizzi il circuito di figura 2. Si utilizzino come capacità di linea (C1 e C2) un
valore di 150f F . Si utilizzi come capacità di memoria C3 un valore di 50f F . Non
potendo utilizzare più di 10 transistor non è possibile precaricare il condensatore
C2. È dunque necessario dare a questo condensatore un valore iniziale di 2.5V .
Realizzare gli inverter tri-state che compongono il sense amplifier come mostrato
in figura 3.
ATTENZIONE: questa volta il transistor di precharge è collegato a 2.5V
e NON a 5V !!!
4.1
Simulazione di un ciclo di lettura
Per poter effettuarre la simulazione è necessario generarsi i segnali di sense (S e
S) che attivano gli inverter tri-state. Questi segnali devono iniziare dopo l’inizio
della fase di word select e terminare contemporaneamente al termine della fase
3
2.5V
P
C1
C3
C2
W
S
S
Figura 2: Cella RAM dinamica ad 1 transistor
S
S
Figura 3: Inverter tri-state
4
di word select. È possibile che alcuni condensatori non riescano a raggiungere
il valore di regime perché i tempi di carica sono troppo brevi. Per risolvere il
problema si possono allungare i tempi di carica oppure aumentare le larghezze
di canale (W) dei transistor.
1. Simulare il ciclo di lettura ponendo la condizione iniziale di C3 prima a
5V e poi a 0V . Verificare come sulla linea, prima della fase di sense, il
salto di tensione sia molto basso.
2. ripetere la simulazione precedente ponendo la condizione iniziale di C3
pari a 2.7V e verificare se il circuito funziona ancora. Verificare che al
termine della fase di sense il valore presente nel condensatore C3 è stato
ripristinato a 5V.
3. Ripetere le simulazioni precedenti utilizzando un condensatore di memoria
(C3) più piccolo e verificare che il circuito funzioni ancora.
5