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.