ESERCIZIO 16
Si simuli una cella SRAM a 6 transistori nella fase di lettura, assumendo che la
capacità di bitline CBL sia di 1 pF e la tensione di alimentazione sia di 3.3 V. In
particolare, dopo aver generato gli opportuni segnali di precarica e di attivazione
della wordline, si valuti il ritardo di propagazione assumendo che i transistori della
cella siano di dimensioni minime ed i PMOS che effettuano la precarica delle
bitline abbiano dimensioni 20/0.8.
Il circuito da simulare è il seguente
V10
3.3Vdc
0
WL
WL
M7
precharge
M4
M2
M8
precharge
Mbreakp
Mbreakp
Mbreakp
M3
V
C1
M1
M5
V
M6
Mbreakn
0
C3
1p
0
Mbreakp
Mbreakn
C2
0
0.0001f
0
1p
0
0
0
0
V6
V
precharge
WL
V5
0
dove l’elemento di memoria è costituito dalla coppia di inverter (transistori M1M4), e l’accesso alla cella è effettuato tramite i transistori M5-M6 comandati dalla
tensione di wordline. Le bitline sono schematizzate mediante due capacità
equivalenti CBL che modellizzano la capacità parassita di ciascuna bitline e delle
celle ad essa collegate.
In fase di lettura, le bitline sono precaricate alla tensione di alimentazione dai
PMOS pilotati dal segnale precharge. Tale segnale deve essere mantenuto al valore
basso durante la precarica, e successivamente deve passare al valore alto per
consentire la lettura. Tanto per fissare le idee, imponiamo che il tempo disponibile
alla precarica sia di 50 ns (in pratica i tempi consentiti sono considerevolmente più
bassi). La forma d’onda del segnale precharge è illustrata mediante la curva in blu
nella figura seguente:
Per effettuare la lettura, è necessario attivare i transistori M5-M6 imponendo che la
tensione della wordline WL effettui la transizione basso-alto dopo la fase di
precarica. Supponiamo che tale transizione avvenga all’istante t=100 ns, come
illustrato mediante la curva in verde nella figura precedente.
Prima della attivazione della wordline, la cella SRAM è isolata rispetto alle
bitline, e la coppia di inverter mantiene la tensione memorizzata in precedenza. In
particolare, affinchè tale elemento di memoria memorizzi un uno logico (ovvero, il
gate di M3-M4 sia a potenziale 3.3 V, ed il gate di M1-M2 sia a potenziale 0 V), si
introduce una capacità fittizia C3 al gate di M1-M2 di valore trascurabile (0.0001
fF) e con condizione iniziale pari a 0 V. A tal fine, basta cliccare sulla capacità ed
impostare a 0 la proprietà IC (initial condition) della capacità.
A causa della transizione dei segnali di precarica e di WL, le tensioni di bitline
(ai capi delle capacità C1 e C2) passano al valore di 3.3 entro il periodo di precarica
di 50 ns. Successivamente, a causa dell’attivazione della wordline, la bitline di
sinistra permane alla tensione di 3.3 V, mentre quella di destra viene scaricata
dall’NMOS M3 fino a zero. Tale transitorio è mostrato nella figura seguente.
Dall’analisi di questa figura, si deduce che il ritardo di propagazione in lettura,
ovvero il tempo necessario affinchè la bitline di destra abbia una tensione pari a
VDD/2, è pari a 15.1 ns.
Nei casi pratici, per velocizzare l’operazione di lettura, non si attende che la
capacità di bitline sia scaricata al valore VDD/2, ma vengono inseriti dei sense
amplifier capaci di rivelare una diminuzione della tensione di bitline decisamente
più piccola. In tal modo si riese a ridurre considerevolmente il ritardo di
propagazione. Si osservi che il ritardo in lettura complessivo della memoria SRAM
comprende anche i tempi necessari alla decodifica e al multiplexing dei dati letti
sui pin di uscita della memoria.