G.- F. Dalla Betta, G. Soncini. Appunti di Elettronica 2.
Capitolo VI
Memorie a semiconduttore
VI.1.
VI.2.
VI.3.
VI.4.
Considerazioni generali
RAM statiche
RAM dinamiche
Memorie a sola lettura
Esempi ed esercizi
1
VI.1. Considerazioni generali
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
2
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.
2N x 2M
celle
• 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).
3
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.
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).
4
Cella SRAM in CMOS
Cella a 6 transistor (6-T)
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).
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.
5
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 VDD
oppure si portano
a
0
(Write
Circuits …)
2. RS=1: i pass
transistor mettono
in comunicazione
le bit line con il
latch...
7
Operazione di lettura nelle SRAM
Supponiamo che il dato memorizzato nella cella sia ad esempio uno
zero, cioe’ V1=0V e V2=Vdd=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 Vdd, 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 VC
scende di poco (~100’s mV).
8
Mentre M3 e M1 scaricano la bit line V1 inizia a salire, quindi per non
alterare il dato memorizzato nella cella durante la fase di lettura, e’
necessario garantire che V1 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 VC rimanga vicina a Vdd; ne consegue che M3
opera in saturazione, mentre M1 opera in zona triodo. Si ha percio:



2
kM 3
kM 1
2
VDD  V1  VTn 
2  VDD  VTn  V1  V1
2
2
Imponendo la condizione V1maxVTn si ottiene:
kM 3
kM 1
W 
 
 L  M 3 2  VDD  1.5  VTn   VTn


2
W 

VDD  2  VTn 
 
 L M 1

9
Il valore cosi’ trovato e’ sicuramente conservativo, perche’ in realta’
una parte della corrente IDM3 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.
kM 4
kM 2
W

L

W

L


 M 4 2  VDD  1.5  VTn   VTn

2


VDD  2  VTn 

M 2
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
Funzionamento qualitativo
Supponiamo che dopo aver selezionato la cella da leggere le bit lines
siano sbilanciate in modo che VC 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 VC <VC M1 e’ piu’
conduttivo di M2 (VGS1>VGS2) e abbassa ulteriormente VC
(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.
12
Operazione di scrittura nelle SRAM
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’ VC=0V e VC =VDD.
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.
VC e’ imposto dal circuito esterno di scrittura e dunque si puo’
considerare costante e di valore prossimo a zero.
Se M2 ed M4 sono stati disegnati con rapporti di forma opportuni
(vedi condizione precedente) allora quando M4 viene acceso V2
rimane inizialmente sotto la tensione di soglia di M1.
Per scrivere uno “0” nella cella, V1 deve scendere al di sotto della
tensione di soglia di M2; quando V1=VTn, M2 si spegne, M3 opera in
zona triodo (VDS ~ V1), mentre M5 opera in saturazione (notare che V2
rimane basso ma non a 0 V). Dunque si ha:
k pM 5
2
0  V
DD
 VTp

2

knM 3
2

2VDD  VTn  V1  V1
2
13

Imponendo la condizione V1<VTn, si ottiene:
k pM 5
knM 3
2VDD  1.5VTn  VTn

2
VDD  VTp 
Se questa condizione e’ verificata, M2 viene forzato nella zona di
interdizione durante la fase di scrittura dello “0”. Questo garantisce, di
conseguenza, che M1 si accenda modificando il dato immagazzinato.
Una condizione simmetrica vale per i rapporti di forma di M6 ed M4.
VI.3. Memorie RAM dinamiche (DRAM)
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.
3) Cella a 1 transistor
Stacked cap.
Standard attuale.
1) Cella a 4 transistor
2) Cella a 3 transistor
14
DRAM con cella a 3 transistor
Il dato e’ memorizzato come carica sulla capacita’ parassita C1
A seconda del valore memorizzato,
Mn2 puo’ essere acceso o spento.
I pass transistor Mn1/Mn3 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.
F1: precharge:
PC=1, RS/WS=0
N.B. NMOS: VC < VDD !!
F2: data read/write:
PC=0, RS/WS=1
15
Tipiche forme d’onda segnali per DRAM a 3 transistor
16
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:

VCi _ MAX  VDD  VTn _ 0    VC _ MAX  2    2  
La fase di precarica ha termine solo
dopo che VC ha raggiunto il suo
valore stazionario VCi_MAX
N.B. C2 , C3 >> C1

Scrittura di un “1” logico
Blocco di lettura escluso
18
DIN  0
1) MD OFF, C2 resta
carica.
2) Quando WS accende
Mn1, parte della
carica di C2 si riversa
su C1, caricandola.
Dato che C2 >> C1,,
la tensione su C1 si
porta
circa
allo
stesso valore della
tensione che avevo
in partenza su C2
3) Quando WS torna basso spegnendo
Mn1, la carica resta su C1, e la tensione
VC1 e’ tale da accendere Mn2.
Lettura di un “1” logico
19
Blocco di scrittura escluso
1) Quando RS accende
Mn3, questo, insieme
a Mn2, crea un
cammino conduttivo
verso massa che
consente di scaricare
C3 (precaricata).
2) Il circuito di lettura
interpreta la caduta
di tensione su C3
come segnale alto
(logica negata).
N.B. L’operazione di lettura in una cella a 3
transistor non
modifica il dato
memorizzato, la carica su C1 rimane
indisturbata (a meno della scarica attraverso
le correnti di leakage).
Scrittura di uno “0” logico
Blocco di lettura escluso
DIN  1
1) MD ON, C2 si
scarica.
2)
Quando
WS
accende Mn1, C1 puo’
scaricarsi anch’essa
attraverso Mn1 e Mn-D
3) Quando WS torna
basso spegnendo Mn1,
sulla capacita’
C1,
resta
pochissima
carica e Mn2 si spegne. VGS2<VTn
20
Lettura di un “1” logico
21
Blocco di scrittura escluso
1) Quando RS accende
Mn3, dato che Mn2 e’
spento, non esiste un
cammino conduttivo
verso massa che
consenta di scaricare
C3 (precaricata).
2) Il circuito di lettura
interpreta
la
presenza di una
tensione alta su C3
come segnale basso
(logica negata).
N.B. Anche in questo caso l’operazione di
lettura nella cella a 3 transistor non
modifica il dato memorizzato.
22
REFRESH
La carica immagazzinata sulla capacita’ parassita C1 non puo’ essere
conservata per tempi troppo lunghi a causa delle correnti di perdita e
di sotto-soglia del pass-transistor Mn1.
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.
23
DRAM con cella a 1 transistor
Le celle di memoria DRAM a
un transistor consentono di
ottenere le massime capacita’
di memorizzazione ( 1 Gbit).
N.B. C2 >> C1
Va ricordato che, in questo
caso, la capacita’ sui cui
memorizzare il dato (C1) e’
realizzata
appositamente
mediante
un
processo
tecnologico dedicato (stacked
capacitor).
Scrittura di un dato
Scrittura di un “1”
La bit line e’ portata al valore logico alto (VDD) dai circuiti di
scrittura (DATA=1), mentre la word line al valore alto (R/W=1)
accende il transistor Mn1, attraverso il quale C1 puo’ caricarsi al
livello logico alto (VDD-VTn 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 Mn1,
attraverso il quale C1
puo’ scaricarsi al livello
logico basso (massa).
24
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 VREF (intermedio tra VH e VL).
-si accende Mn1 mettendo in comunicazione C1 e C2
-la ridistribuzione di carica
tra C1 e C2 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.
25
L’esiguita’ dei segnali in gioco rende necessari schemi di lettura
complicati, che sfruttano dei Sense Amplifiers particolari, basati su
latch dinamici.
DRAM 1-T a 256 celle
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 >> C
D
26
Tipiche forme d’onda segnali per DRAM a 1 transistor
1
2
3
L’operazione di lettura consiste essenzialmente di 3 fasi distinte
27
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.
28
29
Fase 2: LETTURA
Una delle word-lines (es: R128) 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.
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 R128 e’ ancora alta, cosi’ facendo rinfresco
anche il dato nella cella.
30
VI.4. La memoria a sola lettura (ROM)
31
• 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
DEC 0
matrice di punti di contatto in
1
2
cui vengono memorizzate le A0
tabelle della verità delle
n-2
2
An-1
funzioni da realizzare.
2n-1
• Per una maggiore flessibilità
d’impiego, le uscite sono
ottenute ponendo in serie agli CS
OR degli amplificatori a 3 stati
aventi in comune il segnale di
abilitazione CS (Chip Select).
O1 O2
Om
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
ROM CMOS (pseudo N-MOS)
Tabella programmazione
R1 R2 R3 R4 C1 C2 C3 C4
1
0
0
0
0
1
0 1
0
1
0
0
0
0
1 1
0
0
1
0
1
0
0 1
0
0
0
1
0
1
1 0
Problemi.
- consumo di potenza statico
- segnale basso VOL > 0
34
ROM CMOS dinamica (precarica/valutazione)
CK=0
precarico le colonne a VDD
tramite i transistori p.
CK=1
Scarico condizionatamente
le colonne attraverso i pass
transistor n.
Tabella programmazione
R1 R2 R3 R4 R5 C1 C2 C3
1
0
0
0 0
0 0 1
0
1
0
0 0
1 0 1
0
0
1
0 0
0 1 0
0
0
0
1 0
1 0 0
0
0
0 0 1
0 1 0
In pratica, metto un MOS ad ogni incrocio e poi lo abilito oppure no. 35
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.
• E2PROM (Electrical Erasable Programmable ROM): simili alla
precedenti ma programmabili e cancellabili con soli impulsi elettrici.
• FLASH: evoluzione delle E2PROM, consentono fino a 105 cicli di
R/W, con tempi di prog. di pochi ms, e cancellazione in secondi.
• In pratica e’ più conveniente realizzare matrici di programmazione 36
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.
• 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
A0
Matrice
2k · 2 3+n-k
Ak-1
Ak
An-1
CS
MUX
MUX
2n-k:1
2n-k:1
AMP. 3 STATI
ROM
O1 O2
O8
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).
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
ROM 1024x8
ROM 1024x8
O1 O2 O3 O4 O5 O6 O7 O8
O1 O2 O3 O4 O5 O6 O7 O8
z1
z9
z2
z3 z4 z5
z6
z7 z8
z10 z11 z12 z13
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.
Esempio: Composizione modulare di una ROM di dimensioni 2048x8
con quattro ROM di dimensioni 512x8.
x3 x4 x5 x6 x7 x8 x9 x10x11
x1 x2
EN
A0 A1
DEC 2:4
3
2
1
0
A0 A1 A2 A3 A4 A5 A6 A7 A8
CS
39
ROM 512x8
O1 O2 O3 O4 O5 O6 O7 O8
A0 A1 A2 A3 A4 A5 A6 A7 A8
CS
ROM 512x8
O1 O2 O3 O4 O5 O6 O7 O8
A0 A1 A2 A3 A4 A5 A6 A7 A8
CS
ROM 512x8
O1 O2 O3 O4 O5 O6 O7 O8
A0 A1 A2 A3 A4 A5 A6 A7 A8
CS
ROM 512x8
O1 O2 O3 O4 O5 O6 O7 O8
z1 z2 z3 z4 z5 z6 z7 z8
40
z2 = Sm(0, 2, 4, 7, 8)
• Le uscite della ROM sono 2, tante
quante le funzioni da programmare,
mentre le variabili indipendenti A0 e A1
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à.
ROM2
R.C.
ROM3
z1 = 1 se NBCD > 5
ROM4
x1
x2
x4
x8
ROM1
Esercizio
Progettare una R.C. a 2 uscite, funzioni entrambe di numeri del codice
BCD, disponendo di ROM 4x2.
x8 x4 x2 x1 z1 z2
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0 1
0 0
0 1
0 0
0 1
1 0
1 0
1 1
1 1
1 0
- - - - - - -
41
x1
x2
x4
x8
A0 A1
CS ROM1
A0 A1
CS ROM2
A0 A1
CS ROM3
A0 A1
CS ROM4
O1
O1
O1
O1
O2
O2
O2
O2
z1
z2
A1 A0
0
1
EN 2
3
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 ROM1.
x1
x2
DEC
0
A0
1
2
A1
3
Prime quattro righe della
tabella della verità.
Problema: le funzioni non sono
completamente specificate ...
z1
z2