Capitolul 1 Proiectarea sistemelor digitale Tematica  Prezentare generală  Memorii  PLA  PAL  FPGA Proiectarea sistemelor digitale Prezentare generală Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI : volum mare.

Download Report

Transcript Capitolul 1 Proiectarea sistemelor digitale Tematica  Prezentare generală  Memorii  PLA  PAL  FPGA Proiectarea sistemelor digitale Prezentare generală Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI : volum mare.

Slide 1

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 2

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 3

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 4

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 5

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 6

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 7

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 8

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 9

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 10

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 11

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 12

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 13

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 14

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 15

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 16

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 17

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 18

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 19

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 20

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 21

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 22

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 23

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 24

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 25

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 26

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 27

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 28

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 29

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 30

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 31

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 32

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 33

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 34

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 35

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 36

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 37

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 38

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 39

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 40

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 41

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 42

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 43

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 44

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 45

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 46

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 47

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 48

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 49

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 50

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 51

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 52

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 53

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 54

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 55

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 56

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 57

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 58

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 59

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 60

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 61

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 62

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 63

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 64

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 65

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 66

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 67

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 68

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 69

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 70

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 71

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 72

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 73

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 74

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75


Slide 75

Capitolul 1

2010

Proiectarea sistemelor digitale

1

Tematica


Prezentare generală
 Memorii
 PLA
 PAL
 FPGA

2010

Proiectarea sistemelor digitale

2

Prezentare generală
Dezavantajele implementării prin interconectarea de circuite integrate SSI/MSI
:
volum mare al implementării;
consum mare de energie;
disipare mare de căldură;
număr foarte mare de interconexiuni;
viteză de lucru relativ scăzută datorită lungimii conexiunilor externe și a
punctelor de sudură;
fiabilitatea scade proporțional cu creșterea complexității;
timp mare alocat proiectării prin metodele clasice;
testare şi depanare dificile.

2010

Proiectarea sistemelor digitale

3

Prezentare generală
În cazul unor circuite logice de mare complexitate și/sau produse în număr
foarte mare, realizarea sub forma de circuit integrat este mult mai atractivă.
Există două variante de abordare și anume:
Realizarea unor circuite integrate dedicate – ASIC (Application Specific
Integrated Circuits), a căror proiectare la nivel fizic este realizată la
producător.
Realizarea unor circuite integrate de uz general a căror structură poate fi
configurată în funcție de necesități prin „programarea” la utilizator –
PLD (Programmable Logic Devices).

2010

Proiectarea sistemelor digitale

4

Prezentare generală ASIC
Asigură performanțele cele mai bune pentru aplicația considerată
deoarece prin proiectarea la nivel fizic se are în vedere tocmai
optimizarea vitezei de lucru, fiabilității, disipării de energie,
imunității la perturbații electromagnetice. De asemenea, în cazul
unor producții de serie mari, prețul de cost unitar devine foarte bun.
Principalele dezavantaje ale ASIC îl reprezintă durata mare a ciclului
de dezvoltare a circuitului și prețul ridicat al proiectării circuitului
integrat, estimat între 50000$ și 1000000$ în funcție de
complexitatea și performanțele circuitului proiectat.
Orice modificare după începerea producției de serie este practic
imposibilă, eliminarea unor greșeli de proiectare logică costând
aproape tot atât cât și proiectarea inițială. Din această cauză
utilizarea ASIC nu este posibilă în faza de proiectare/dezvoltare a
unui dispozitiv logic.
Metoda devine rentabilă doar pentru producția de serie mare
deoarece în acest caz costul proiectării tehnologice a circuitului se
distribuie pe toate modulele realizate.
2010

Proiectarea sistemelor digitale

5

Prezentare generală PLD
Au o structura foarte generală, configurabilă la utilizator şi au fost introduse
la mijlocul anilor `70 cu scopul de a oferi circuite integrate foarte flexibile în
utilizare la un preț de cost rezonabil.
Este necesar să facem distincție între utilizarea termenului programare în
software și în hardware. În primul caz un program este încărcat și executat pe
un hardware cu structura bine definită (vezi paragraful 6.6.4) în timp ce în al
II-lea caz programarea presupune de fapt configurarea circuitului la nivel fizic.
Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv
PLA (Programmable Logic Array). Ele utilizau numai porți logice AND și OR
permițând doar implementarea unor CLC de complexitate medie.
Destul de repede această limitare a fost înlăturată prin includerea într-un
singur modul a unei structuri PAL/PLA cu câte un bistabil pentru fiecare ieșire,
asigurând implementarea într-un singur modul a unor CLS simple.

2010

Proiectarea sistemelor digitale

6

Prezentare generală PLD
La începutul anilor `80 au fost introduse așa numitele macrocelule (macrocell)
care includ un bistabil, porți logice și multiplexoare. Structura unei macrocelule
este la rândul ei programabilă ceea ce permite implementatrea mai multor regimuri
de lucru.
Dispozitivele a căror ieșire este prevăzută cu o macrocelulă au primit ulterior
numele de GAL (Generic PAL). Uneori se utilizează și denumirea PALCE (PAL
CMOS Electrically eraseble/ programmable).
La ora actuală circuitele de tip PAL, PLA, GAL sunt referite în literatura de
specialitate ca SPLDs (Simple PLDs). De fapt, sub formă de circuit integrat
independent mai sunt produse doar circuitele GAL/PALCE.
O etapă importantă o reprezintă trecerea la producerea unor circuite cu mai
multe GAL pe aceeași pastilă de siliciu. Aceste circuite înglobează și logică
auxiliară pentru interconectarea Galurilor dar și pentru a oferi facilități
suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) și au
devenit populare datorită performanțelor foarte bune la un preț scăzut (chiar și sub
1$).

2010

Proiectarea sistemelor digitale

7

Prezentare generală PLD
Tot la mijlocul anilor `80 au fost introduse și circuitele FPGA (Field
Programmable Gate Array), cu o structura total diferită de SPLD și CPLD. Ele
sunt utilizate pe scară largă pentru implementarea unor circuite de mare
complexitate și cu performanțe ridicate.
Un sumar cu evoluția și clasificarea PLD este prezentat în tabelul de mai jos
PAL
PLA
PLD simple (SPLD)
PAL/PLA cu CBB

Dispozitive logice
programabile
(PLD)

GAL
PLD complexe (CPLD)

FPGA
2010

Proiectarea sistemelor digitale

8

Memorii
2010

Proiectarea sistemelor digitale

9

Memorii - definiții
Prin memorie vom înțelege un circuit integrat pe scară largă sau foarte
largă care permite înscrierea, păstrarea și redarea unei cantități mari de
date codificate binar.
Schema bloc cea mai generală a unui circuit de memorie este prezentată în
Fig. 10, unde
An-1...A0 – intrările de adresă;
O0...Ok-1 – ieșirile/intrările de date
C1, C2, C3 – comenzi pentru validarea modulului, activarea ieșirilor și
selecția regimului de lucru (citire, ștergere sau scriere).
Numărul și funcțiile realizate de semnalele de comandă
depind de tehnologia de realizare și de tipul concret de
memorie.

2010

Proiectarea sistemelor digitale

10

Memorii - definiții

C1
C2
C3

2010

An-1 An-2

A0

MEM
Dk-1 Dk-2

Proiectarea sistemelor digitale

D0

11

Memorii - definiții
Elementul constructiv de bază al unei memorii îl reprezintă celula de
memorie care poate memora un bit.
O celulă de memorie este un circuit electronic care are două stări stabile
interpretate ca 0 respectiv 1.
În cazul general manipularea biților nu se face la nivel de celulă de memorie
ci la nivel de grup de celule.
O colecție de celule de memorie care pot fi citite sau scrise simultan poartă
numele de locație sau cuvânt.
Numărul de celule care formează o locație reprezintă lungimea locației.
Observație! O celulă de memorie nu este necesar un bistabil în sensul celor
discutate anterior, ea putând fi un fuzibil sau antifuzibil, un condensator, un
domeniu feromagnetic etc.

2010

Proiectarea sistemelor digitale

12

Memorii - definiții
Din punctul de vedere al utilizatorului memoria poate fi privită ca o listă de
locații cu aceeași lungime (Fig. 13).
Fiecare locație este identificată printr-un număr întreg unic, numit adresa
locației.
Din motive de optimizare a structurii memoriei, numărul locațiilor dintr-o
memorie este întotdeauna 2n, unde n este numărul liniilor de adresă. De
asemenea, din același motiv, adresele sunt numere întregi binare
consecutive în plaja 00...0 ÷11...1.
Observatie! Organizarea memorie ca în Fig. 13 reprezintă organizarea
logică a memoriei. Așa cum se va vedea în continuare, structura internă a
memoriei poate să difere puternic de organizarea logică a acesteia, dar
interesele utilizatorului nu sunt afectate, diferența fiind transparentă pentru
acesta.

2010

vProiectarea sistemelor digitale

13

Memorii - definiții
0

...

1

...

.
.
.

.
.
.

...

i

.
.
.

.
.
.

...

.
.
.

...

2n-1

D0

2010

...

.
.
.

D1

...

Proiectarea sistemelor digitale

Dk-1

14

Memorii – structura generală
Semnale de
comanda

cei mai semnficativi n
biti de adresa pentru
selectia uneia dintre
adrese cele N linii

n+m

circuite control
scriere/citire

aria celulelor de memorie

n

NxM

un cuvant
de
k biti

o linie cu M
coloane
MUX

M

k

m
Cei mai putin semnficativi m biti de
adresa pentru selectia unui cuvant din
cele M coloane

circuite
tampon
intrare/
iesire

date
k

k
DEMUX

2010

Proiectarea sistemelor digitale

15

Memorii – structura generală
Aria celulelor de memorie este elementul central al oricărui circuit de
memorie.
Diferența între organizarea organizarea logică a memoriei și structura ariei de
memorie este dictată de aspecte tehnologice. Se preferă ca aria celulelor de
memorie să fie cât mai echilibrată posibil.
Exemplu: pentru o memorie cu organizarea 131072x8 biți se va prefera
probabil o structură internă de forma 512x256x8 biți deoarece este mult mai
simplu să se realizeze decodificarea în două etape (selecția a 512 linii cu un
decodificator în prima etapă și apoi selecția cuvântului de 8 biți din 256
cuvinte posibile cu un multiplexor vectorial în a doua etapă) decât să se
construiască un decodificator DEC 17/131072.

2010

Proiectarea sistemelor digitale

16

Memorii – structura generală
Circuitele de control scriere/citire generează toate semnalele necesare
operațiilor de scriere, citire, ștergere, refresh. La memoriile actuale aceste
circuite sunt foarte sofisticate și performante. Diferă fundamental în funcție
de tipul de memorie, tehnologia utilizată și chiar producător.
MUX și DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale.
Circuitele tampon de intrare ieșire (input/output buffers) reprezintă
interfața între memoria propriuzisă și mediul înconjurător și realizează
următoarele funcții:
controlează sensul de transfer al datelor – către exterior în cazul citirii și către
interior în cazul scrierii;
compatibilizează nivelul tensiunilor interne cu nivelul tensiunilor externe;
controlează trecerea ieșirilor în stare de impedanță ridicată în scopul conectării
la o magistrală.

2010

Proiectarea sistemelor digitale

17

Memorii - caracteristici
Capacitatea memoriei – numărul maxim de biți ce pot fi păstrați în
memorie la un moment dat. Se măsoară de obicei în biți dar pentru
memoriile mari se acceptă și Kbiți, Mbiți sau Gbiți.
Organizarea logică a memoriei adică numărul de locații și lungimea unei
locații (topate locațiile au aceeași lungime). Este o caracteristică foarte
importantă în practică deoarece memorii cu aceeași capacitate pot avea
organizări diferite. De exemplu o memorie cu capacitatea 4096 biți poate fi
organizată ca o memorie 1024x4 biți sau ca o memorie 512x8biți.
Timpul de acces adică timpul scurs în procesul de citire a datelor între
momentul modificării adresei și momentul în care se garantează valori
corecte la ieșire.

2010

Proiectarea sistemelor digitale

18

Memorii - caracteristici
Tensiunile de alimentare;
Tipul ieșirilor (cu colector în gol sau tri-state). La ora actuală ieșirile
memoriilor sunt tri-state.
Viteza de înscriere a datelor.
Anduranța – numărul maxim garantat de scrieri într-o memorie fixă
reprogramabilă.
Durata de păstrare a datelor adică timpul maxim garantat pentru păstrarea
nealterată a conținutului unei memorii fixe în condiții bine precizate de
exploatare și păstrare. Alterările pot să apară datorită scurgerii sarcinilor,
modificării structurii materialelor din care este realizat circuitul, șocurilor
mecanice sau electro-magnetice, expunerea la radiații etc. Datele din
literatura de specialitate sunt destul de vagi și se referă în special la
condițiile care favorizează alterarea conținutului memoriei. În general se
acceptă ca termen limita un interval de 10÷20 ani.
Nivelul la care se poate modifica informația (bit, locație, bloc).

2010

Proiectarea sistemelor digitale

19

Memorii - clasificări
Din punctul de vedere al necesității conectării memorie la o sursă de
alimentare pentru păstrarea informației, se disting:
memorii fixe (nevolatile, NVRAM)) în care datele odată înscrise sunt
păstrate un timp nedeterminat chiar în absența susei de alimentare.
memorii volatile a căror conținut se alterează într-un timp foarte scurt
după deconectarea de la sursa de alimentare.

2010

Proiectarea sistemelor digitale

20

Memorii - clasificări
Memoriile fixe pot fi clasificate după numărul de reprogramări pe care-l
acceptă în
memorii OTP (one-time programmable) în care datele pot fi înscrise o singură
dată;
memorii reprogramabile (MTP - multi-time programmable) în care datele pot
fi rescrise de un număr oarecare de ori. Scrierea într-o memorie fixă este o
operație complexă care implică ștergerea vechiului conținut și apoi
reprogramarea memoriei. Acest ciclu stergere scriere duce în timp la degradarea
memoriei. Chiar și în cazul memoriilor modernen nmumărul de rescrieri este
limitat (între 1000 și 1000000 ori).

Memoriile volatile cunoscute și sub numele de memorii RAM (Random
Access Memory) pot fi grupate în două mari categorii
memorii RAM statice (SRAM) care păstrează conținutul nemodificat atât timp
cât sunt conectate la sursa de alimentare;
memorii RAM dinamice (DRAM) al căror conținut se alterează destul de
repede chiar și în cazul în care circuitul este alimentat și din această cauză este
necesară împrospătarea periodică a conțnutului memoriei (operația de refresh).
Deși necesitatea operației de refresh complică schema de control și logica
externă, memoriile RAM dinamice s-au impus în implementarea calculatoarelor
daturită densității mult mai mari a celulelor de memorie pe 1mm2 de pastilă de
siliciu.
2010

Proiectarea sistemelor digitale

21

Memorii - clasificări
memorii

fixe

OTP
ROM
PROM

2010

Volatile (RAM)

MTP

statice
(SRAM)

dinamice
(DRAM)

EPROM
EEPROM
flash
FeRAM
MRAM
PMC
PCM
SONOS
RRAM
IBM Racetrack Memory
Proiectarea sistemelor digitale

22

Memorii fixe - ROM
O memorie fixă are ca funcții de bază păstrarea și redarea datelor așa că
eforturile de îmbunătățire a acestui tip de memorie au fost orientate în special
către creșterea capacității și scăderea timpului de acces.
Sunt cunoscute în general ca memorii ROM (Read Only Memory).
Corect această denumire se aplică celor mai vechi circuite de memorie OTP,
al căror conținut era înscris la producător în procesul de fabricație. Datele
înscrise nu mai puteau fi modificate niciodată.
Utilizarea acestor memorii implică câteva dezavantaje majore:
utilizarea nu este rentabilă decât în cantități mari deoarece utilizatorul trebuie să
suporte toate cheltuielile de proiectare tehnologică;
timpul scurs între proiectarea logică a conținutului memoriei și momentul în
care memoria este disponibilă e mare;
nu pot fi utilizate în activitatea de cercetare/dezvoltare deoarece nici o
modificare nu mai este posibilă după producerea unui modul decât prin
reproiectare.

Aceste dezavantaje au determinat abandonarea utilizării ROM după anul
2000.
2010

Proiectarea sistemelor digitale

23

Memorii fixe - PROM
O altă variantă OTP sunt memoriile PROM (Programmable ROM) al căror
conținut poate fi înscris o singură dată, la utilizator, cu ajutorul unui dispozitiv
special numit programator de memorii.
Din punct de vedere tehnologic există două variante de PROM:
PROM cu fuzibile formate în principiu dintr-o matrice de linii și coloane
interconectate prin elemente ce pot fi distruse în timpul programării prin
aplicarea unei tensiuni cu valori mult mai mari decât tensiunea de alimentare
(tipic 12÷21V)
PROM cu antifuzibile cu o structură asmănătoare cu acelor prezentate anterior
numai că legătura între linii și coloane este realizată prin antifuzibile.
Antifuzibilul este un circuit electronic format din doi electrozi metalici separați
de un strat semiconductor care în faza inițială nu conduce curent dar, după
aplicarea unui câmp electric puternic, în materialul semiconductor dintre cei doi
electrozi metalici se formează un canal conductor permanent.

2010

Proiectarea sistemelor digitale

24

Memorii fixe - PROM
Principalele avantaje ale memoriilor PROM sunt:
siguranța în funcționare;
păstrarea datelor pe un termen nelimitat;
preț de cost redus;
posibilitatea de utilizare în activități de cercetare/ dezvoltare;
timp de acces între 35ns și 65ns (acceptabil în multe aplicații).
Vcc
R

R

R

R

0
DEC

1
2

A2

3

A1

4

A0

5
6
7
fuzibil
Circuite
tampon

OE#

O0

2010

O1

O2

O3

Proiectarea sistemelor digitale

25

Memorii fixe - PROM
Vcc

O0

O1

O2

O3

0

0

1

1

0

1

1

0

1

0

2

1

1

0

0

A2

3

3

1

0

0

0

A1

4

4

0

1

1

0

A0

5

5

1

0

1

1

6

6

1

1

1

1

7

7

1

1

0

1

R

R

R

R

0
DEC

1
2

OE#

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

26

Memorii fixe - PROM
CE

A4

A3

A2

A1

A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7

2010

Proiectarea sistemelor digitale

27

Memorii fixe - PROM
A4-A0

adrese stabile

CE#

tCD

tCE

O0-O7

Hi-Z
tAA

date stabile

tCE – timpul de stabilizare a datelor după activarea semnalului de selecție;
tAA – timpul de acces adică timpul scurs între momentul modificării
adreselor și momentul în care datele sunt stabile la ieșire;
tCD – timpul de dezactivare a ieșirilor (trecerea în stare de impedanță
ridicată) după dezactivarea semnalului de selecție a modulului;
Hi-Z - starea de impedanță ridicată.

2010

Proiectarea sistemelor digitale

28

Memorii fixe - EPROM
Memoriile EPROM (Erasable Programmable ROM) este o memorie fixă
reprogramabilă.
Înscrierea datelor se realizează cu un dispozitiv special la beneficiar.
Pentru a putea rescrie conținutul memoriei este necesar ca vechiul conținut
să fie șters prin expunerea la raze ultraviolete (lungimea de undă și timpul
de expunere depind de firma producătoare și nerespectarea lor poate
conduce la distrugerea prematură a modulului).

Pentru a realiza ștergerea este necesar ca fiecare modul să fie prevăzut cu o
fereastră de cuarț ceea ce crește sensibil prețul de cost pe modul. Din
această cauză pentru producția de serie mare au fost create memorii
EPROM fără fereastră de cuarț care funcționează în regim OTP la un preț de
cost foarte bun.

2010

Proiectarea sistemelor digitale

29

Memorii fixe - EPROM
Timpul de păstrare al datelor într-o memorie EPROM variază între 10 și 20
de ani în funcție de producător (datele furnizate în literatură sunt incerte,
aproape imposibil de verificat).
Expunerea la lumina naturală sau artificială și șocurile termice pot duce la
alterarea conținutului memoriei într-o perioadă mult mai scurtă. Din această
cauză pe durata utilizării fereastra de cuarț va fi acoperită cu o bandă
adezivă opacă.
Numărul maxim de cicluri ștergere-rescriere acceptat reprezintă o dată de
catalog importantă.
Spre deosebire de memoriile PROM fabricate în variante cu capacitate
mică (zeci-sute biți), memoriile EPROM au fost fabricate în variante cu
capacitate între 2 Kbiți și 512 Kbiți.
Timpul de acces variază în general între 35ns și 60ns.

2010

Proiectarea sistemelor digitale

30

Memorii fixe - EEPROM
Memoriile EEPROM notate uneori și E2PROM (Electrically Erasable
Programmable ROM) sunt memorii fixe reprogramabile. Spre deosebire de
memoriile EPROM, stergerea se realizează pe cale electrică deci se elimină
fereastra de cuarț.
Există diferite tipuri de interfețe electice la dispozitivele EEPROM.
Principalele tipuri de interfețe sunt:
magistrală serială;
magistrală paralelă.

Avantajul magistralei seriale constă în numul mic de pini pe modul (cel
mult 8 pini) dar se complică mult modul de operare. Există un număr de
interfețe seriale tipizate.

2010

Proiectarea sistemelor digitale

31

Memorii fixe - EEPROM
EEPROM cu interfață paralelă oferă o magistrală de date de 8 biți și o
magistrală de adrese al cărei număr de biți variază în funcție de capacitatea
modulului.
Suplimentar există frecvent un semnal de selecție a modulului (chip select)
și un semnal de protecție la scriere (write protect pin).
Viteza de lucru este mai bună decât la interfețele seriale și modul de
operare este foarte natural și simplu.
Dezavantajul îl reprezintă numărul mare de pini (uzual peste 28) ceea ce
crește gabaritul circuitelor și implicit prețul de cost al aplicațiilor.
Timpul de păstrare a datelor este garantat de firmele producătoare la cel
puțin 10 ani.
Valoarea minimă a numărului rescrierilor, garantată de producători, este în
general de ordinul 106.
2010

Proiectarea sistemelor digitale

32

Memorii Flash
Memoriile Flash reprezintă o formă modernă avansată de memorii
EEPROM. Pentru a elimina confuziile de limbaj, termenul EEPROM se
utilizează pentru memoriile programabile la nivel de octet în timp ce
denumirea flash este rezervată pentru memoriile programabile la nivel de
bloc de octeți.
Avantajul memoriilor Flash este dat în primul rând de faptul că față de
varianta EEPROM clasică crește substanțial densitatea celulelor de memorie
pe unitatea de suprafață a pastilei de siliciu pe care este implementată
memoria.

Acest lucru se datorează în mare măsură faptului că circuitul de ștergere nu
mai este implementat pentru fiecare celulă ci pentru un bloc de celule
(frecvent 512x8 celule).
Prețul de cost al memoriilor Flash este mult mai mic decât al memoriilor
EEPROM cu aceeași capacitate și reprezintă soluția de bază ori de câte ori
este necesară o memorie fixă de capacitate mare și foarte mare.
Au fost inventate de Dr. Fujio Masuoka la firma Toshiba în prima jumătate
a anilor 1980.
2010

Proiectarea sistemelor digitale

33

Perspective
La ora actuală se află în diverse faze de cercetare un număr mare de noi
tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe
principii diferite de cele ale memoriilor “clasice” prezentate anterior.
Deși ca structură se apropie mai mult de memoriile DRAM, aceste memorii
au avantajul unui consum practic nul de putere pentru păstrarea informației
și o viteză de scriere superioară memoriilor EEPROM sau Flash.
Chiar dacă pentru viitorul apropiat nu se întrevede o înlocuire a memoriilor
EEPROM/Flash de către noile variante, pentru diverse segmente ale pieții
ele prezintă un interes destul de mare.

2010

Proiectarea sistemelor digitale

34

Memorii FeRAM
Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare
constructiv memoriilor DRAM însă stratul dielectric este înlocuit cu un strat
feroelectric cu scopul eliminării volatilității datelor.

avantaje:
consum mai mic
viteză de lucru mai bună;
suportă un număr mai mare de cicluri ștergere/scriere (peste 1016 la 3,3V);

dezavantaje:
densitate de stocare mai mică;
preț de cost mai mare.

Principalele aplicații – instrumente inteligente, echipament medical,
imprimante, controlere RAID, microcontrolere etc.
Efectul ferelectric care stă la baza acestei tehnologii a fost descoperit în
1920 iar dezvoltarea ei a început din 1980. Producția de serie a acestui tip
de memorie a început în 1999 la firma Fujitsu.
2010

Proiectarea sistemelor digitale

35

Memorii MRAM
Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a
cărei dezvoltare a început în anii 1990.
Elemetul de memorie este de natură magnetică și nu electrică. Fiecare celulă
este formată din două strate feromagnetice și un strat izolator. Unul dintre
straturile feromagnetice este un magnet permanent în timp ce celălalt strat
își poate schimba polaritatea în funcție de un câmp extern. Citirea datei
dintr-o celulă se realizează prin măsurarea rezistenței electrice a fiecărei
celule. Tipic, dacă cele două straturi feromagnetice au aceeași polaritate se
consideră 0 iar dacă au polarități diferite se consideră 1.
Avantaje:
puterea necesară pentru scriere este cu foarte puțin mai mare decât pentru citire;
tensiunea la scriere este aceeași cu cea pentru citire;
viteză de lucru bună;
viața foarte lungă.

Prototipul unei memorii MRAM a fost livrat în iunie 2004 de către firma
Infineon.
În 2008 satelitul japonez SpriteSat utilizează memorii MRAM în locul
memoriilor SRAM și Flash.
Principalul dezavantaj – densitate mica a celulelor pe suport.
2010

Proiectarea sistemelor digitale

36

Memorii MRAM
Dezvoltatorii de memorii MRAM au în vedere în special următoarele
categorii de aplicații:
sisteme militare;
camere digitale;
notebooks;
carduri inteligente;
telefoane mobile;
calculatoare personale;
etc.

2010

Proiectarea sistemelor digitale

37

Memorii PCM
Memorii PCM (Phase-change memory) cunoscute și sub denumirile
PRAM, PCRAM, Ovonic Unified Memory, Chalcogenide RAM C-RAM)
se bazează pe proprietatea anumitor materiale din categoria sticle de a trece
din stare cristalină în stare amorfă și invers în funcție de temperatura la care
sunt supuse.
Forma amorfă cu rezistență electrică mare este utilizată pentru a materializa
valoarea 0 în timp ce forma cristalină cu rezistență scăzută materializează
valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a
stării este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns).
Proprietățile acestor materiale au fost studiate prima oară în anii 1960, totuși
calitatea materialelor utilizate și consumul mare de putere au împiedicat
până în prezent comercializarea tehnologiei.
Versiunile cele mai noi realizate de firmele Intel și Microelectronics oferă
chiar 4 stări distincte (o stare amorfă una cristalină și două stări
semicristaline) ceea ce dublează capacitatea de stocare a fiecărei celule.
Primul circuit multinivel a fost prezentat în februarie 2008 de specialiștii de
la Intel în colaborare cu cei de la STMicroelectronics.
Tehnologia pare promițătoare în industriile aerospațiale și militare datorită
deosebitei toleranțe la radiații și a unei anduranțe foarte bune care s-ar putea
să înlocuiască memoriile EPROM în sistemele spațiale.
2010

Proiectarea sistemelor digitale

38

Memorii SONOS
Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare
memoriilor Flash dar oferă un consum mai redus și un timp de viață
mai lung. Producția este, cel puțin teoretic mai simplă. Principiul a fost
cunoscut din anii 1960 dar tehnologiile necesare nu au existat până de
curând.
Se au în vedere aplicații militatare și în industria spațială datorită
rezistenței deosebite la radiații.
Există firme care livrează dispozitive ce incorporează diverse variante
de memorii SONOS.

2010

Proiectarea sistemelor digitale

39

Memorii RRAM
Memoria RRAM (Rezistive RAM) este un nou tip de memorie NVRAM
dezvoltat de mari firme ca Fujitsu, Sharp, Samsung, Micron Technology etc.
Ideea de bază este acea că anumite materiale dielectrice, izolatoare în
principiu, pot deveni conductoare local prin formarea unui filament
conductor după aplicarea unei tensiuni suficient de ridicate. Acest filament
poate fi ulterior distrus sau refăcut prin aplicarea unor nivele de tensiune
adecvate. Lucrări din 2007 arată pentru prima oară că memorrile RRAM pot
necesita curenți de programae mai mici decât memoriile MRAM sau PRAM
fără a fi afectate celelalte caracteristici (viteza de scriere, anduranța, timpul
de păstrare).

2010

Proiectarea sistemelor digitale

40

Modificarea
organizării memoriilor

2010

Proiectarea sistemelor digitale

41

Mărirea numărului ieşirilor
Se presupune că dorim o memorie cu organizarea nxp şi dispunem doar de module
cu organizarea nxm (murmător:
Se calculează numărul de module ce vor fi interconectate cu relaţia k=
;
Se conectează în paralel cele k module în felul următor:
Intrările de adresă cu aceeaşi pondere se conectează la aceeaşi linie de adresă;
Intrările de selecţie ale modulelor se leagă la acelaşi semnal de selecţie;
Intrările de control al ieşirilor se conectează la acelaşi semnal de comandă;
Ieşirile rămân independente.
Se doreşte implementarea unei memorii cu organizarea 32x24 folosind numai module cu
organizarea 32x8. Pentru implementarea blocului sunt necesare 24/8=3 module.

Exemplu:

CS#

a4 a3 a2 a1 a0

d0d1
2010

d23
Proiectarea sistemelor digitale

42

Mărirea numărului ieşirilor
a4
a3
a2
a1
a0

C S i#

A4

A3

CS
0 1 2
d0

2010

A2

A1

A0

A4

A3

CS

M0
3 4 5 6 7
d7

0 1 2

A2

A1

A0

3 4 5 6 7

Proiectarea sistemelor digitale

A3

CS

M1

d8

A4

d 15

0 1 2
d 16

A2

A1

A0

M2
3 4 5 6 7
d 23

43

Mărirea numărului locațiilor
Se consideră că este necesară implementarea unui bloc de memorie cu
organizarea pxn folosind numai module cu organizarea mxn (mDin punct de vedere practic mărirea numărului de locaţii se reduce la
mărirea numărului de intrări de adrese. Se presupune că adresele locaţiilor
blocului sunt ca şi adresele locaţiilor modulelor de memorie numere întregi
consecuive, începând cu 00…0.
Având în vedere că numărul locaţiilor este întotdeauna o putere a lui 2, dacă
m=2q şi p=2r, rezultă imediat că pentru implementare vor fi necesare
k=p/m=2r-q module şi apar r-q intrări de adresă suplimentare.
Interconectarea modulelor se face pe baza următoarelor reguli:

2010

Proiectarea sistemelor digitale

44

Mărirea numărului locațiilor
cele mai puţin semnificative q linii de adresă se conectează fiecare pe linia de adresă
corespunzătoare ca pondere;
se adaugă un decodificator DEC (r-q)/2r-q.
cele mai semnificative linii de adresa se conecteaza la intrarile de adresa ale decodificatorului
conform respectrnd ponderile.
fiecare ieşire a decodificatorului se conectează la intrarea de selecţie a unui modul de
memorie;
ieşirile cu acelaşi nume sunt conectate la aceeaşi linie a magistralei de date. Din această cauză,
la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieşirile
activate.

Exemplu: Să se construiască un bloc de memorie cu organizarea 128x8 folosind
module de memorie u organizarea 32x8.

a6 a5 a4 a3 a 2 a 1 a 0
CS#
d 0 d1 d2 d3 d 4 d5 d 6 d 7
2010

Proiectarea sistemelor digitale

45

Mărirea numărului locațiilor
a6 a5

CS#
E1 E2

A1

A0

2

3

DEC

0

1

SEL0#
SEL1#

a4
a3
a2
a1
a0

A4
A0
M0
CS
0 12 3456 7

SEL3#
SEL2#

A4
A0
M1
CS
0 12 34 56 7

A4
A0
M2
CS
0 12 3456 7

A4
A0
M3
CS
0 12 3456 7

d0

d7
2010

Proiectarea sistemelor digitale

46

Mărirea numărului locațiilor
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul
adresa unui modul
modulul

a6

a5

a4

a3

a2

a1

a0

Hexa

0

0

0

0

0

0

0

0

1

0

1

1

1

1

00H

1FH

0

1

0

0

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

M0

M1

M2

M3

2010

Proiectarea sistemelor digitale

20H

3FH
40H

5FH
60H

7FH
47

Mărirea simultană a numărului
ieşirilor şi locațiilor
1.

Se crează un modul virtual prin mărirea numărului de ieşiri;

2.

Folosind modulele virtuale create la pasul anterior se construieşte blocul
de memorie corespunzător ca număr de locaţii ;

3.

Se construieşte harta memoriei la nivel fizic.

2010

Proiectarea sistemelor digitale

48

Mărirea simultană a numărului
ieşirilor şi locațiilor
8

5

a[4..0]
M0
CE

A4-A0
MEM00
O7-O0

D[7..0]

8

CE

A4-A0
MEM01
O7-O0

D[15..8]

8
16

M1
CE

a5

O0

A0
DEC

a6

A1

O1
O2
O3

sel0#
sel1#

A4-A0
MEM10

CE

O7-O0
D[7..0]

8

A4-A0
MEM11
O7-O0

D[15..8]

8

16

sel2#
sel3#

M2
CE

A4-A0
MEM20
O7-O0

D[7..0]

8

CE

A4-A0
MEM21
O7-O0

D[15..8]

8

16

M3
CE

A4-A0
MEM30
O7-O0

D[7..0]

8

CE

A4-A0
MEM31
O7-O0

D[15..8]

8

16
16

D[15..0]

2010

Proiectarea sistemelor digitale

49

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Utilizatorul dispune de o memorie cu LxC biţi dar are nevoie de memorii cu
organizarea nLx(C/m) biţi. Memoriile cu organizarea văzută de utilizator le
vom numi memorii virtuale deoarece la nivel fizic ele nu există.
În astfel de situaţii se utilizează o structură combinată, formată din
multiplexoare şi memorii. Multiplexoarele permit ca din punctul de vedere
al utilizatorului mai multe coloane ale memoriei să fie văzute ca o singură
coloană de lungime nL unde:
L – lungimea coloanei în memoria iniţială;
n - numărul intrărilor de date pentru multiplexorul utilizat.

Numărul de multiplexoare utilizate este dat de numărul de coloane în noua
organizare. Ieşirea fiecărui multiplexor reprezintă o ieşire din memoria
virtuală.

2010

Proiectarea sistemelor digitale

50

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 1: Se consideră că utilizatorul dispune de o memorie cu organizarea 32x8
dar are nevoie de o memorie cu organizarea 256x1. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3 MUX Y
I4
Y#
I5
I6
I7 S2 S1 S0

z

a7 a6 a5
2010

Proiectarea sistemelor digitale

51

Modificarea organizării memoriilor
cu ajutorul multiplexoarelor
Exemplul 2: Se consideră că utilizatorul dispune de o memorie cu organizarea
32x8 dar are nevoie de o memorie cu organizarea 128x2. În acest caz se poate utiliza
schema:

CE
a0
a1

A0
A1

a2

A2

a3
a4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

I0 E
I1
Y
I2
I3
I0
I1
Y
I2
I3 S1 S0

z0

z1

a6 a5
2010

Proiectarea sistemelor digitale

52

SPLD
2010

Proiectarea sistemelor digitale

53

Structura unui PLA
A3

A2

A1

A0

m

n

m

m

n

4
4
4
4
4
4
4
4
4

O0

2010

Proiectarea sistemelor digitale

O1

O2

O3

O4

54

Structura unui PAL
I0

I1

In-1

...

AND Array

.
.
.

OR Array

.
.
.

O0
O1
OL

2010

Proiectarea sistemelor digitale

55

PAL – circuit ipotetic
x0

x1

x2

x3

x4

x5

x6

CE

O1

O2

O3

2010

Proiectarea sistemelor digitale

56

PAL – exemplu de utilizare
Exemplu:

utilizând PAL din Fig. 56 să se sintetizeze sistemul de funcţii de comutaţie:

F1(t,u,v,x,y,z) = ∑(1,4,7,9,23,27,45,57,59,63)+∑d (0,14,30,33)
F2(t,u,v,x,y,z) = t u v x  uvxyz  t x z  tu v y  u v yz  uv x y  t u xz  u v x y z  x y z  t vy  uxy  u v x
F3(t,u,v,x,y,z) =∏ (5,8,15,23,31,45,46,56,58,61,63)
Pentru F1 se va considera numai partea complet specificată deoarece are 10 mintermeni (mai puţin decât
numărul de intrări într-o paoartă SAU) şi poate fi implementată direct.
1  000001 4  000100 7  000111 9  001001 23  010111 27  011011
45  101101 57  111001 59  111011 63  111111
Variabila care apare cu 1 va fi conectată direct, iar cea care apare cu 0 va fi conectată complementată.
Implementarea apare în Fig. 58.
Pentru F2 există 12 termeni P deci nu se poate face o implementare directă. Se observă însă că
numarul termenilor P poate fi redus prin cuplarea termenilor cu simplă respectiv dublă subliniere şi
aplicarea absorbţiei.
F2(t,u,v,x,y,z) = t u v x  t x z  tu v y  u v yz  uv x y  t u xz  x y z  t vy  uxy  u v x
Pentru F3 se ţine cont de faptul că:
F3(t,u,v,x,y,z) =  (5,8,15,23
2010

,31,45,46,

56,58,61,6

3)

Proiectarea sistemelor digitale

57

PAL – exemplu (schema de coneziuni)
t

u

v

x

y

z

NC

F1

F2

F3

2010

Proiectarea sistemelor digitale

58

PAL CE22V10 – schema bloc

2010

Proiectarea sistemelor digitale

59

PAL CE22V10 – macrocelula

2010

Proiectarea sistemelor digitale

60

PAL CE22V10 – regimuri de lucru

2010

Proiectarea sistemelor digitale

61

PAL CE22V10 – schema de principiu

2010

Proiectarea sistemelor digitale

62

PAL CE22V10 – detaliu

2010

Proiectarea sistemelor digitale

63

CPLD

2010

Proiectarea sistemelor digitale

64

Caracteristici
CPLD (Complex PLD) – extinde conceptul de PLD la un nivel de integrare
superior, ceea ce are ca rezultat o ȋmbunătățire a performanțelor:
creşte randamentul ȋn utilizarea pastilelor de siliciu;
creşte fiabilitatea schemelor;
scade prețul de cost;
scade complexitatea implementărilor;
scade gabaritul;
creşte viteza de lucru;
scade durata ciclului de viață a proiectelor.

Un CPLD conține mai multe blocuri logice asemănatoare ca structură unui
PAL 22V10, care comunica ȋntre ele prin semnale rutate printr-un bloc de
interconectare programabil (BIP).

2010

Proiectarea sistemelor digitale

65

CPLD – schema bloc

B lo c
lo g ic

B lo c
lo g ic

2010

B lo c
lo g ic

I/O

I/O

B lo c
lo g ic

B lo c
lo g ic

B lo c d e in te rco n e cta re p ro g ra m a b il

B lo c
lo g ic

B lo c
lo g ic

B lo c
lo g ic

Proiectarea sistemelor digitale

66

CPLD – schema bloc (detaliu)

M ce ll

B IP

I/O
M a trice
te rm e n i P

D istrib u ito r
te rm e n i P

M a cro ce lu la

B lo c lo g ic

2010

Proiectarea sistemelor digitale

67

FPGA
2010

Proiectarea sistemelor digitale

68

FPGA - caracteristici
FPGA (Field Programmable Gate Array) este un dispozitiv logic programabil
care conține o matrice bidimensională de celule logice generice şi comutatoare
(switches) programabile.
Fiecare celulă logică poate fi configurată (programată) să realizeze o funcție
simplă.
Fiecare comutator poate fi programat pentru a asigura o anumită legătură ȋntre
celulele logice.

2010

Proiectarea sistemelor digitale

69

FPGA – schema bloc

2010

Proiectarea sistemelor digitale

70

FPGA – schema bloc (detaliu)

2010

ce lu la
lo g ica

S

ce lu la
lo g ica

S

S

S

ce lu la
lo g ica

S

ce lu la
lo g ica

Proiectarea sistemelor digitale

71

FPGA – schema bloc celulă

y

i0
i1
.
.
.

LU T

D

Q

q

i n -1
clk

clk

2010

Proiectarea sistemelor digitale

72

FPGA –celulă programabila - seria XC4000

2010

Proiectarea sistemelor digitale

73

FPGA –I/O Pad - seria XC4000

2010

Proiectarea sistemelor digitale

74

2010

Proiectarea sistemelor digitale

75