La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 VI.1. Considerazioni generali VI.2. RAM statiche VI.3. RAM dinamiche VI.4.Memorie a sola lettura Esempi ed esercizi Capitolo VI Memorie a semiconduttore.

Presentazioni simili


Presentazione sul tema: "1 VI.1. Considerazioni generali VI.2. RAM statiche VI.3. RAM dinamiche VI.4.Memorie a sola lettura Esempi ed esercizi Capitolo VI Memorie a semiconduttore."— Transcript della presentazione:

1 1 VI.1. Considerazioni generali VI.2. RAM statiche VI.3. RAM dinamiche VI.4.Memorie a sola lettura Esempi ed esercizi Capitolo VI Memorie a semiconduttore G.- F. Dalla Betta, G. Soncini. Appunti di Elettronica 2.

2 2 Generalmente un sistema digitale richiede oltre ad una rete logica combinatoria anche la capacità di immagazzinare dati: la parte di memoria normalmente e’ la piu’ ingombrante sui chip le memorie hanno sempre spinto le tecnologie a progredire. Vi sono essenzialmente due famiglie di memorie, le memorie RAM (Random Access Memory) e le ROM (Read Only Memory). 1.RAM Dati immagazzinati volatili Permettono la lettura e scrittura dei dati Suddivise in due categorie: RAM statiche e dinamiche 2.ROM I dati sono permanentemente immagazzinati e possono solamente essere letti Dati immagazzinati non volatili Parametri fondamentali: Costo per bit (legato alla Capacita’ totale) Tempi di accesso VI.1.Considerazioni generali

3 3 Tipica organizzazione di una memoria (architettura) La memoria é solitamente organizzata secondo una struttura a matrice suddivisa in righe e colonne, in cui ogni cella é in grado di immagazzinare un bit. Per accedere ad una cella si selezionano, tramite i due decoder, la riga e la colonna voluta e in seguito si procede con l’operazione di lettura o scrittura, eseguita contemporaneamente anche su un gruppo di bit. Le operazioni di scrittura-lettura dei bit avvengono tramite le colonne (dette bit-lines), mentre le righe della matrice servono per selezionare le celle di memoria (vengono chiamate word-lines). 2 N x 2 M celle

4 4 La struttura base in grado di immagazzinare un bit é costituita da due invertitori in serie posti in retroazione (latch). Per accedere (scrivere o leggere) al dato contenuto nella cella tramite la bit line é necessario almeno un interruttore controllato dalla corrispondente word line. Solitamente vengono impiegati due accessi complementari (2 bit line C e C e 2 interruttori). VI.2.Memorie RAM statiche (SRAM) Le memorie RAM si dividono in RAM statiche e RAM dinamiche. Partiamo dalle prime. Le memorie RAM statiche (SRAM) sono in grado di mantenere il dato immagazzinato per un tempo indefinito (finché viene fornita l’alimentazione) senza bisogno di alcuna operazione di refresh.

5 5 Cella SRAM in CMOS La cella SRAM a 6 transistor (6-T SRAM) qui riportata presenta alcune problematiche: infatti durante la fase di lettura si vuole determinare lo stato della cella tramite i transistor di accesso senza alterare lo stato presente nella cella, mentre in fase di scrittura si vuole forzare, sempre tramite gli stessi transistor d’accesso, la cella nello stato desiderato. Il latch viene realizzato con due invertitori CMOS retroazionati. Solitamente per realizzare gli switch di accesso (comandati dalle word line) si impiegano transistori nMOS (piú conduttivi dei pMOS). Cella a 6 transistor (6-T)

6 6 Schema completo della SRAM in CMOS SRAM FCMOS: pur occupando piu’ area della equivalente cella con Load in poly-Si, e’ la migliore quanto a margine di immunita’ ai disturbi, consumo di potenza e tempo di accesso. Funzionamento qualitativo 1.RS=0: il latch conserva il dato, le bit line si precaricano a V DD oppure si portano a 0 (Write Circuits …) 2.RS=1: i pass transistor mettono in comunicazione le bit line con il latch...

7 7 Operazione di lettura nelle SRAM Supponiamo che il dato memorizzato nella cella sia ad esempio uno zero, cioe’ V 1 =0V e V 2 =V dd =5V. Lo stato della cella all’inizio dell’operazione di lettura ( subito dopo aver selezionato la word line) e’: M2, M5: OFF M1, M6: ON, Zona triodo Dopo che RS va a V dd, la tensione di C non cambia, perché attraverso M4 non scorre corrente, mentre la tensione di C inizia a scendere a causa della corrente di M3. Tuttavia la capacita’ della bit line é elevata e dunque V C scende di poco (~100’s mV).

8 8 Imponendo la condizione V 1max  V Tn si ottiene: Mentre M3 e M1 scaricano la bit line V 1 inizia a salire, quindi per non alterare il dato memorizzato nella cella durante la fase di lettura, e’ necessario garantire che V 1 non superi la tensione di soglia di M2. Allo scopo si devono dimensionare i transistor M1 ed M3 in modo opportuno. Supponiamo che dopo aver acceso i transistor d’accesso M3, M4 la tensione della bit line V C rimanga vicina a Vdd; ne consegue che M3 opera in saturazione, mentre M1 opera in zona triodo. Si ha percio:

9 9 Il valore cosi’ trovato e’ sicuramente conservativo, perche’ in realta’ una parte della corrente ID M3 fluisce nella capacita’ parassita al nodo 1 (caricandola). Rispettando questo criterio di progetto mi assicuro che M2 non si accenda e che il dato “0” resti correttamente memorizzato. Procedendo in modo analogo per quanto riguarda la fase di lettura di un 1 logico, si ottiene una condizione simile (simmetrica) per il rapporto dei fattori di forma di M2 ed M4.

10 10 Sense Amplifier Per poter leggere il dato presente nella cella e’ necessario riuscire a leggere il leggero sbilanciamento di tensione tra le due bit line. Infatti, essendo la capacita’ delle bit line elevata e la corrente fornita o assorbita dalla cella selezionata di valore ridotto, per ottenere dei tempi di lettura sufficientemente brevi, e’ necessario riuscire a rilevare sbilanciamenti di tensione tra le bit-line estremamente ridotti (pochi mV). Per fare questo si impiega un circuito detto Sense Amplifier. Possibile implementazione CMOS del Sense Amplifier

11 11 Supponiamo che dopo aver selezionato la cella da leggere le bit lines siano sbilanciate in modo che V C scenda un po’ (lettura di uno 0). Quando sale il segnale di clock (che indica l’istante in cui si vuole leggere il dato) M3 si accende ed essendo V C V GS2 ) e abbassa ulteriormente V C (retroazione positiva) spegnendo sempre di piu’ M2. Il latch cross-coupled e’ dunque in grado di amplificare la differenza di tensione tra le bit lines nel senso che ne favorisce lo sbilanciamento. L’ulteriore amplificazione del segnale differenziale e’ delegata all’amplificatore operazionale a valle. Funzionamento qualitativo

12 12 Supponiamo di voler scrivere uno “0” logico nella cella e che nella cella sia immagazzinato un “1” dall’operazione precedente. Le bit lines vengono inizializzate con il valore del dato che si vuole scrivere, cioe’ V C =0V e V C =V DD. In figura e’ riportato lo stato della cella non appena vengono accesi i due transistor d’accesso M3 ed M4 (inizio della scrittura). M1, M6 OFF M5, M2 ON, Zona triodo. Operazione di scrittura nelle SRAM V C e’ imposto dal circuito esterno di scrittura e dunque si puo’ considerare costante e di valore prossimo a zero.

13 13 Imponendo la condizione V 1

14 14 VI.3.Memorie RAM dinamiche (DRAM) 1) Cella a 4 transistor 2) Cella a 3 transistor 3) Cella a 1 transistor Nell’intento di realizzare memorie ad altissima capacita’ (con struttura della cella semplificata) si e’ arrivati alle memorie dinamiche, in cui l’informazione e’ memorizzata in una capacita’. Come noto, in questo caso, serve periodicamente un Refresh. Standard attuale. Stacked cap.

15 15 DRAM con cella a 3 transistor Il dato e’ memorizzato come carica sulla capacita’ parassita C 1 A seconda del valore memorizzato, M n2 puo’ essere acceso o spento. I pass transistor M n1 /M n3 consentono la scrittura/lettura del dato. Ci sono linee dati separate per lettura e scrittura. Il funzionamento richiede un clock a 2 fasi non sovrapposte.  1 : precharge: PC=1, RS/WS=0 N.B. NMOS: V C < V DD !!  2 : data read/write: PC=0, RS/WS=1

16 16 Tipiche forme d’onda segnali per DRAM a 3 transistor

17 17 PRECARICA PC=1, RS/WS=0 Attraverso i due transistori di precarica (NMOS), le capacita’ delle linee vengono caricate. Ricordiamo quanto detto per le logiche MOS dinamiche: N.B. C 2, C 3 >> C 1 La fase di precarica ha termine solo dopo che V C ha raggiunto il suo valore stazionario V Ci_MAX

18 18 Scrittura di un “1” logico 1)M D OFF, C 2 resta carica. 2) Quando WS accende M n1, parte della carica di C 2 si riversa su C 1, caricandola. Dato che C 2 >> C 1,, la tensione su C 1 si porta circa allo stesso valore della tensione che avevo in partenza su C 2 Blocco di lettura escluso 3) Quando WS torna basso spegnendo M n1, la carica resta su C 1, e la tensione V C1 e’ tale da accendere M n2.

19 19 Lettura di un “1” logico 1) Quando RS accende M n3, questo, insieme a M n2, crea un cammino conduttivo verso massa che consente di scaricare C 3 (precaricata). 2) Il circuito di lettura interpreta la caduta di tensione su C 3 come segnale alto (logica negata). Blocco di scrittura escluso N.B. L’operazione di lettura in una cella a 3 transistor non modifica il dato memorizzato, la carica su C 1 rimane indisturbata (a meno della scarica attraverso le correnti di leakage).

20 20 Scrittura di uno “0” logico 1) M D ON, C 2 si scarica. 2) Quando WS accende M n1, C 1 puo’ scaricarsi anch’essa attraverso M n1 e M n-D 3) Quando WS torna basso spegnendo M n1, sulla capacita’ C 1, resta pochissima carica e M n2 si spegne. Blocco di lettura escluso V GS2

21 21 Lettura di un “1” logico 1) Quando RS accende M n3, dato che M n2 e’ spento, non esiste un cammino conduttivo verso massa che consenta di scaricare C 3 (precaricata). 2) Il circuito di lettura interpreta la presenza di una tensione alta su C 3 come segnale basso (logica negata). Blocco di scrittura escluso N.B. Anche in questo caso l’operazione di lettura nella cella a 3 transistor non modifica il dato memorizzato.

22 22 La carica immagazzinata sulla capacita’ parassita C 1 non puo’ essere conservata per tempi troppo lunghi a causa delle correnti di perdita e di sotto-soglia del pass-transistor M n1. Per evitare di perdere l’informazione, il dato memorizzato nella cella va periodicamente letto, invertito (logica negata) e riscritto nella stessa cella (refresh). Il refresh nelle DRAM e’ eseguito per tutte le celle ogni qualche ms. Notare che l’operazione viene eseguita contemporaneamente su un’intera riga della memoria, con ovvio risparmio di tempo. Ricordiamo infine che nelle celle 3-T non c’e’ consumo di potenza statico per la conservazione dei dati. La circuiteria aggiuntiva che si occupa del refresh non contribuisce significativamente al consumo di potenza totale. REFRESH

23 23 DRAM con cella a 1 transistor N.B. C 2 >> C 1 Le celle di memoria DRAM a un transistor consentono di ottenere le massime capacita’ di memorizzazione ( 1 Gbit). Va ricordato che, in questo caso, la capacita’ sui cui memorizzare il dato (C 1 ) e’ realizzata appositamente mediante un processo tecnologico dedicato (stacked capacitor).

24 24 Scrittura di un dato Scrittura di un “1” La bit line e’ portata al valore logico alto (V DD ) dai circuiti di scrittura (DATA=1), mentre la word line al valore alto (R/W=1) accende il transistor M n1, attraverso il quale C 1 puo’ caricarsi al livello logico alto (V DD -V Tn con effetto Body). Scrittura di uno “0” La bit line e’ portata al valore logico basso (0) dai circuiti di scrittura (DATA=0), mentre la word line al valore alto accende il transistor M n1, attraverso il quale C 1 puo’ scaricarsi al livello logico basso (massa).

25 25 Lettura di un dato L’operazione di scrittura e’ complicata e distruttiva, richiede cioe’ di andare anche a riscrivere il dato che si e’ letto. Funzionamento qualitativo: -si precarica la bit-line ad un segnale V REF (intermedio tra V H e V L ). -si accende M n1 mettendo in comunicazione C 1 e C 2 -la ridistribuzione di carica tra C 1 e C 2 sbilancia leggermente la tensione della bit-line in un verso o nell’altro a seconda del valore del dato presente. N.B. L’informazione memorizzata va comunque persa !! Serve il refresh ogni volta che si legge un Dato.

26 26 L’esiguita’ dei segnali in gioco rende necessari schemi di lettura complicati, che sfruttano dei Sense Amplifiers particolari, basati su latch dinamici. L’array di celle e la bit line sono divisi in due parti disposte simmetricamente rispetto ai due lati del LATCH. Ogni lato, inoltre, presenta una cella dummy che contiene una capacita’ il cui valore e’ meta’ di quello delle capacita’ delle celle di memoria. N.B. C D >> C DRAM 1-T a 256 celle

27 27 Tipiche forme d’onda segnali per DRAM a 1 transistor L’operazione di lettura consiste essenzialmente di 3 fasi distinte 1 2 3

28 28 Fase 1: PRECARICA PC=1: si precaricano le due meta’ delle bit-line al valore di riferimento, e nel contempo si scaricano le capacita’ delle celle dummy (nodi X e Y). Gli altri segnali sono inattivi. Gran parte della circuiteria e’ spenta.

29 29 Fase 2: LETTURA Una delle word-lines (es: R 128 ) va a 1, e si attiva la dummy cell sul lato opposto (con DS). a)Se il dato e’ 1, la tensione sulla half-column D sale leggermente, mentre quella sulla half-column D scende leggermente perche’ la capacita’ dummy si sta caricando. a) Se il dato e’ 0, la tensione sulla half-column D scende leggermente, anche quella sulla half-column D scende, ma di meno perche’ ho C/2, quindi posso “sentire” la differenza.

30 30 Fase 3: FINE LETTURA / RINFRESCO Escludo le dummy cell (DS/ DS = 0). Con CS=1, attivo il LATCH che “sente” e amplifica la piccola differenza di potenziale tra le due half-columns, sbilanciandole infine verso valori di tensione opposti. Dato che la word-line R 128 e’ ancora alta, cosi’ facendo rinfresco anche il dato nella cella.

31 31 VI.4.La memoria a sola lettura (ROM) E’ un componente integrato a larga scala che a rigore appartiene alla categoria delle reti combinatorie. La capacita’ di conservare le informazioni la rende pero’ una vera e propria memoria. Il cuore del circuito e’ una matrice di punti di contatto in cui vengono memorizzate le tabelle della verità delle funzioni da realizzare. Per una maggiore flessibilità d’impiego, le uscite sono ottenute ponendo in serie agli OR degli amplificatori a 3 stati aventi in comune il segnale di abilitazione CS (Chip Select). DEC A0A0 A n-1 CS O1O1 OmOm n n -2 O2O2

32 32 Una volta stabiliti i contatti necessari, che corrispondono alle situazioni in cui le funzioni devono assumere valore 1, è possibile leggere le tabelle, naturalmente una riga alla volta e come conseguenza della presentazione in ingresso della corrispondente configurazione di valori delle variabili indipendenti. Queste ultime sono dette segnali di indirizzamento ed una loro configurazione di valori indirizzo della memoria. Sui bordi del simbolo rettangolare usato per rappresentare una ROM, i segnali di indirizzamento sono indicati con la lettera A (Address) seguita da un pedice che ne specifica il peso in una loro interpretazione come numero binario intero. Da un punto di vista tecnologico, diverse sono le tecniche impiegate per realizzare memorie a sola lettura e diverse sono quindi anche le modalità d’impiego.

33 33 R 1 R 2 R 3 R 4 C 1 C 2 C 3 C ROM CMOS (pseudo N-MOS) Tabella programmazione Problemi. - consumo di potenza statico - segnale basso V OL > 0

34 34 R 1 R 2 R 3 R 4 R 5 C 1 C 2 C ROM CMOS dinamica (precarica/valutazione) Tabella programmazione CK=0 precarico le colonne a V DD tramite i transistori p. CK=1 Scarico condizionatamente le colonne attraverso i pass transistor n.

35 35 In pratica, metto un MOS ad ogni incrocio e poi lo abilito oppure no. Il modo in cui realizzo tale programmazione determina la seguente classificazione: ROM(Read Only Memory): i punti di contatto sono realizzati su ordinazione nella fase finale di costruzione del chip (metal mask). PROM(Programmable ROM): i contatti sono all’inizio tutti stabiliti, il cliente puo’ eliminarli su apposite macchine bruciando i fusibili posti in serie al drain. EPROM (Erasable Programmable ROM): i transistori utilizzati sono particolari (gate isolato e gate di accesso) Un’opportuna apparecchiatura di programmazione consente di aprire i contatti non desiderati; la situazione iniziale è ripristinabile sottoponendo il dispositivo a radiazioni ultraviolette. E 2 PROM (Electrical Erasable Programmable ROM): simili alla precedenti ma programmabili e cancellabili con soli impulsi elettrici. FLASH: evoluzione delle E 2 PROM, consentono fino a 10 5 cicli di R/W, con tempi di prog. di pochi  s, e cancellazione in secondi.

36 36 Con questa tecnica di selezione a due dimensioni è possibile conseguire un notevole risparmio d’area sul chip. Rispetto alla selezione lineare si riduce infatti il numero totale di ingressi richiesto per gli operatori AND. Ulteriore vantaggio e’ la maggiore velocita’ di lettura (capacita’ di linea piu’ basse). DEC A0A0 A k-1 AkAk A n-1 CS Matrice 2 k · 2 3+n-k MUX 2 n-k:1 AMP. 3 STATI O1O1 O8O8 ROM MUX 2 n-k:1 In pratica e’ più conveniente realizzare matrici di programmazione quadrate. Allo scopo gli “OR” di uscita devono essere sostituiti da multiplexer per concentrare i segnali di colonna sulle linee di uscita desiderate; i MUX sono selezionati dai segnali di indirizzamento non introdotti nel decoder. O2O2

37 37 Sintesi con memorie a sola lettura La sintesi a ROM di funzioni combinatorie può dar luogo a due differenti problemi progettuali: il dispositivo scelto ha un numero insufficiente di uscite (è necessario prevedere l’impiego di diverse ROM; il dispositivo scelto ha un numero insufficiente di segnali di indirizzamento. Esempio: 13 funzioni di 10 variabili con ROM 1024x8 (10 ingressi). A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 O 1 O 2 O 3 O 4 O 5 O 6 O 7 O 8 A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 O 1 O 2 O 3 O 4 O 5 O 6 O 7 O 8 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 z 1 z 2 z 3 z 4 z 5 z 6 z 7 z 8 z 9 z 10 z 11 z 12 z 13 ROM 1024x8

38 38 Per il secondo problema si deve ricorrere all’interconnessione a BUS, resa possibile dalla presenza di amplificatori a 3 stati sulle uscite del dispositivo e dal segnale comune di abilitazione (CS). Il progettista deve preliminarmente decomporre le tabelle della verità in blocchi con un numero di righe pari a quello della ROM prescelta e poi programmarne tante quanti sono tali blocchi. La multiplazione delle uscite omonime, indispensabile per ricomporre il tutto in un unico circuito, richiede poi la loro semplice interconnessione, una volta che si sia previsto un decoder per fornire a ciascuna ROM il segnale di abilitazione che le compete. Un flag RD (Read) dovrà infine disabilitare temporaneamente il decoder in corrispondenza di ogni variazione dei segnali di indirizzamento.

39 39 Esempio: Composizione modulare di una ROM di dimensioni 2048x8 con quattro ROM di dimensioni 512x8. A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 O 1 O 2 O 3 O 4 O 5 O 6 O 7 O 8 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 z 1 z 2 z 3 z 4 z 5 z 6 z 7 z 8 CS ROM 512x8 A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 O 1 O 2 O 3 O 4 O 5 O 6 O 7 O 8 CS ROM 512x8 A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 O 1 O 2 O 3 O 4 O 5 O 6 O 7 O 8 CS ROM 512x8 A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 O 1 O 2 O 3 O 4 O 5 O 6 O 7 O 8 CS ROM 512x EN DEC 2:4 x1 x2x1 x2 A 0 A 1

40 40 Esercizio Progettare una R.C. a 2 uscite, funzioni entrambe di numeri del codice BCD, disponendo di ROM 4x2. R.C. x1x2x4x8x1x2x4x8 z 1 = 1 se N BCD > 5 z 2 =  m(0, 2, 4, 7, 8) Le uscite della ROM sono 2, tante quante le funzioni da programmare, mentre le variabili indipendenti A 0 e A 1 non sono sufficienti calcolare funzioni di 4 variabili. Ciascuna ROM ha però 4 righe delle 16 a noi necessarie, quindi consente di programmare 1/4 della tabella della verità. x 8 x 4 x 2 x 1 z 1 z ROM 1 ROM 2 ROM 3 ROM 4

41 41 A 0 A 1 CS ROM 1 O 1 O 2 x1x2x4x8x1x2x4x8 A 0 A 1 CS ROM 2 O 1 O 2 A 0 A 1 CS ROM 3 O 1 O 2 A 0 A 1 CS ROM 4 O 1 O A 1 A 0 EN z1z2z1z2

42 42 Note Le uscite delle ROM possono essere multiplate senza ricorrere ad un MUX avvalendosi degli amplificatori a 3 stati interni a ciascuna ROM e comandati dal CS. Il funzionamento è corretto se e solo se i 4 comandi di CS sono mutuamente esclusivi; le configurazioni del codice 1 su 4 dovranno quindi essere alternate alla configurazione 0000 (si usa l’Enable del decoder). Programmazione vera e propria. Vediamo ad esempio la ROM 1. DEC x1x2x1x A0A1A0A1 z1z1 z2z2 Prime quattro righe della tabella della verità. Problema: le funzioni non sono completamente specificate...


Scaricare ppt "1 VI.1. Considerazioni generali VI.2. RAM statiche VI.3. RAM dinamiche VI.4.Memorie a sola lettura Esempi ed esercizi Capitolo VI Memorie a semiconduttore."

Presentazioni simili


Annunci Google