Sunteți pe pagina 1din 39

Capitolul 12

Sinteza cu dispozitive logice programabile


12.1 Noiuni introductive i istoric
Implementarea unor circuite logice chiar de complexitate mic prin metodele discutate anterior presupune interconectarea unor circuite integrate pe scar mic (SSI), pe scar medie (MSI) sau pe scar larg. (LSI). O astfel de abordare are cteva dezavantaje majore: volum mare al implementrii; consum mare; disipare mare de cldur; numr foarte mare de interconexiuni; vitez de lucru relativ sczut datorit lungimii conexiunilor externe i a punctelor de sudur; fiabilitate cade scade proporional cu creterea complexitii. Din aceast cauz metoda se mai utilizeaz doar pentru circuite de mic complexitate i pentru producia de serie mic sau unicate. n cazul unor circuite logice mare complexitate i/sau produse n numr foarte mare, realizarea sub forma de circuit integrat este mult mai atractiv. Exist dou variante de abordare i anume: 1) Realizarea unor circuite integrate dedicate, a cror proiectare la nivel fizic este realizat la productor. 201

2) Realizarea unor circuite integrate de uz general a cror structur poate fi configurat n funcie de necesiti prin programarea la utilizator. Prima abordare conduce la realizarea unor circuite integrate specifice unei aplicaii (Application Specific Integrated Circuits ASIC). Acestea asigur performanele cele mai bune pentru aplicaia considerat deoarece prin proiectarea la nivel fizic se are n vedere tocmai optimizarea vitezei de lucru, fiabilitii, disiprii de energie, imunitii la perturbaii electromagnetice. De asemenea, n cazul unor producii de serie mari, preul de cost unitar devine foarte bun. Principalele dezavantaje ale ASIC l reprezint durata mare a ciclului de dezvoltare a circuitului i preul ridicat al proiectrii circuitului integrat, estimat ntre $50000 i $1000000 n funcie de complexitatea i performanele circuitului proiectat. Orice modificare dup nceperea produciei de serie este practic imposibil, Eliminarea unor greeli de proiectare logic costnd aproape tot att ct i proiectarea iniial. Din aceast cauz utilizarea ASIC nu este posibil n faza de proiectare/dezvoltare a unui dispozitiv logic. Metoda devine rentabil doar pentru producia de serie mare deoarece n acest costul proiectrii tehnologice a circuitului se distribuie pe toate modulele realizate. O alternativ la utilizarea ASIC o reprezint utilizarea circuitelor logice programabile (Programmable Logic Devices PLDs), cu o structura foarte general, configurabil la utilizator 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 distincie ntre utilizarea termenului programare n software i n hardware. n primul caz un program este ncrcat i executat pe un hardware cu structura bine definit (vezi paragraful 6.6.4) n timp ce n al II-lea caz programarea presupune tocmai configurarea circuitului la nivel fizic. 202

Primele PLDuri au fost numite PAL (Programmable Array Logic) respectiv PLA (Programmable Logic Array). Ele utilizau numai pori logice AND i OR permind doar implementarea unor CLC de complexitate medie (vezi paragraful 12.?? ). Destul de repede aceast limitare a fost nlturat prin includerea ntr-un singur modul a unei structuri PAL/PLA cu cte un bistabil pentru fiecare ieire, asigurnd implementarea ntr-un singur modul a unor CLS simple. La nceputul anilor `80 au fost introduse aa numitele macrocelule (macrocell) care includ pe lng un bistabil i pori logice i multiplexoare. Structura unei macrocelule este la rndul ei programabil ceea ce permite implementatrea mai multor regimuri de lucru. Dispozitivele a cror ieire este prevzut 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 aceeai pastil de siliciu. Aceste circuite nglobeaz i logic auxiliar pentru interconectarea Galurilor dar i pentru a oferi faciliti suplimentare. Astfel de circuite au fost denumite CPLD (Complex PLD) i au devenit populare datorit performanelor foarte bune la un pre sczut (chiar i sub $1). 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 performane ridicate.

203

Un sumar cu evoluia i clasificarea PLD este prezentat n tabelul din Fig. 12.1.
Dispozitive logice programabile (PLD) PAL PLA PLD simple (SPLD) PAL/PLA cu CBB GAL PLD complexe (CPLD) FPGA Fig. 12.1

ninte de introducerea pe scar larg a PLD prezentate anterior, pentru implementarea unor CLC uzuale cu o vitez de lucru relativ mic se utilizau frecvent module de memorie a cror coninut poate fi programat n funcie de necesiti. Chiar dac la ora actual utilizarea direct a memoriilor n sinteza schemelor logice este rar folosit, nelegerea tehnologiilor de realizare a acestora i a modului de utilizare n diverse aplicaii este important pentru nelegerea funcionrii unor PLD moderne care includ i blocuri de memorie pentru implementarea diverselor CLC. Din aceast cauz n cadrul acestui capitol vor fi prezentate principalele tipuri de memorie i modul lor de interconectare i de utilizare n diverse situaii practice.

12.2 Memorii
12.2.1 Definiii, clasificri, caracteristici Prin memorie vom nelege un circuit integrat pe scar larg sau foarte larg care permite nscrierea, pstrarea i redarea unei cantiti mari de date codificate binar. Schema bloc cea mai general a unui circuit de memorie este prezentat n Fig. 12.1, unde An-1...A0 intrrile de adres; 204

O0...Ok-1 ieirile/intrrile de date C1, C2, C3 comenzi pentru validarea modulului, activarea ieirilor i selecia regimului de lucru (citire, tergere sau scriere). Numrul i funciile realizate de semnalele de comand depind de tehnologia de realizare i de tipul concret de memorie.

C1 C2 C3

An-1 An-2 MEM Dk-1 Dk-2


Fig. 12.2

A0

D0

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 stri stabile interpretate ca 0 respectiv 1. n cazul general manipularea biilor nu se face la nivel de celul de memorie ci la nivel de grup de celule. O colecie de celule de memorie care pot fi citite sau scrise simultan poart numele de locaie sau cuvnt. Numrul de celule care formeaz o locaie reprezint lungimea locaiei. Din punctul de vedere al utilizatorului memoria poate fi privit ca o list de locaii cu aceeai lungime (Fig. 12.3). Fiecare locaie este identificat printr-un numr ntreg unic numit adresa locaiei. Din motive de optimizare a structurii memoriei, numrul locaiilor dintr-o memorie este ntotdeauna 2n, unde n este numrul liniilor de 205

adres. De asemenea, din acelai motiv, adresele sunt numere ntregi binare consecutive n plaja 00...0 11...1.
0 1

... ...
. . . . . . . . .
D1 Fig. 12.3

... ...

. . . . . .
Dk-1

. . .
2n-1 D0

... ... ...

Observaie! O celul de memorie nu este necesar un bistabil n sensul celor discutate n paragraful 8.3 ea putnd fi un fuzibil sau antifuzibil, un condensator, un domeniu feromagnetic etc. Organizarea memorie ca n Fig. 12.3 reprezint organizarea logic a memoriei. Aa 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, diferena fiind transparent pentru acesta. Schema bloc general a unui modul de memorie este prezentat n Fig. 12.4 [??]. Aria celulelor de memorie este elementul central al oricrui circuit de memorie. Diferena ntre organizarea organizarea logic a memoriei i structura ariei de memorie este dictat de aspecte tehnologice. Se 206

prefer ca aria celulelor de memorie s fie ct mai echilibrat posibil. De exemplu pentru o memorie cu organizarea 131072x8 bii se va prefera probabil o structur intern de forma 512x256x8 bii deoarece este mult mai simplu s se realizeze decodificarea n dou etape (selecia a 512 linii cu un decodificator n prima etap i apoi selecia cuvntului de 8 bii din 256 cuvinte posibile cu un multiplexor vectorial n a doua etap) dect s se construiasc un decodificator DEC 17/131072.
Semnale de comanda

circuite control scriere/citire

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

aria celulelor de memorie

o linie cu M coloane MUX

un cuvant de k biti

n+m m

NxM

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

circuite tampon intrare/ iesire

date k

k
DEMUX

Fig. 12.4

Circuitele de control scriere/citire genereaz toate semnalele necesare operaiilor de scriere, citire, tergere, refresh. La memoriile actuale aceste circuite sunt foarte sofisticate i performante. Difer fundamental n funcie de tipul de memorie, tehnologia utilizat i chiar productor. MUX i DEMUX sunt multiplexoare respectiv demultiplexoare vectoriale [???]. Circuitele tampon de intrare ieire (input/output buffers) reprezint interfaa ntre memoria propriuzis i mediul nconjurtor i realizeaz urmtoarele funcii: 207

controleaz sensul de transfer al datelor ctre exterior n cazul citirii i ctre interior n cazul scrierii; compatibilizeaz nivelul tensiunilor interne cu nivelul tensiunilor externe; controleaz trecerea ieirilor n stare de impedan ridicat n scopul conectrii la o magistral.

Din punctul de vedere al necesitii conectrii memorie la o surs de alimentare pentru pstrarea informaiei, se disting: 1) memorii fixe (nevolatile, NVRAM)) n care datele odat nscrise sunt pstrate un timp nedeterminat chiar n absena susei de alimentare. 2) memorii volatile a cror coninut se altereaz ntr-un timp foarte scurt dup deconectarea de la sursa de alimentare. Memoriile fixe pot fi clasificate dup numrul de reprogramri pe care-l accept n memorii OTP (one-time programmable) n care datele pot fi nscrise o singur dat; memorii reprogramabile n care datele pot fi rescrise de un numr oarecare de ori. Scrierea ntr-o memorie fix este o operaie complex care implic tergerea vechiului coninut i apoi reprogramarea memoriei. Acest ciclu stergere scriere duce n timp la degradarea memoriei. Chiar i n cazul memoriilor modernen nmumrul de rescrieri este limitat (ntre 1000 i 1000000 ori). Pentru detalii vezi paragraful 12.2.2. Memoriile volatile Cunoscute i sub numele de memorii RAM (Random Access Memory) pot fi grupate n dou mari categorii

208

memorii RAM statice (SRAM) care pstreaz coninutul nemodificat att timp ct sunt conectate la sursa de alimentare; memorii RAM dinamice al cror coninut se altereaz destul de repede chiar i n cazul n care circuitul este alimentat i din aceast cauz este necesar mprosptarea periodic a connutului memoriei (operaia de refresh). Dei necesitatea operaiei de refresh complic schema de control i logica extern, memoriile RAM dinamice s-au impus n implementarea calculatoarelor daturit densitii mult mai mari a celulelor de memorie pe 1mm2 de pastil de siliciu. n cadrul lucrrii vor fi detaliate numai memoriile fixe, dar multe dintre concluziile formulate sunt valabile i n cazul utilizrii memoriilor volatile utilizate n sinteza unor circuite logice. Indiferent de tipul de memorie considerat, exist cteva caracteristici pe care utilizatorul trebuie s le aib n vedere atunci cnd decide utilizarea unei anumite memorii. Principalele caracteristici ale unei memorii sunt: Capacitatea memoriei numrul maxim de bii ce pot fi pstrai n memorie la un moment dat. Se msoar de obicei n bii dar pentru memoriile mari se accept i Kbii, Mbii sau Gbii. Organizarea logic a memoriei adic numrul de locaii i lungimea unei locaii (topate locaiile au aceeai lungime). Este o caracteristic foarte important n practic deoarece memorii cu aceeai capacitate pot avea organizri diferite. De exemplu o memorie cu capacitatea 4096 bii poate fi organizat ca o memorie 1024x4 bii sau ca o memorie 512x8bii.

209

Timpul de acces adic timpul scurs n procesul de citire a datelor ntre momentul modificrii adresei i momentul n care se garanteaz valori corecte la ieire. Ali parametri utili n practic sunt: Tensiunile de alimentare; Tipul ieirilor (cu colector n gol sau tri-state). La ora actual ieirile memoriilor sunt tri-state. Viteza de nscriere a datelor. Andurana numrul maxim garantat de scrieri ntr-o memorie fix reprogramabil. Durata de pstrare a datelor adic timpul maxim garantat pentru pstrarea nealterat a coninutului unei memorii fixe n condiii bine precizate de exploatare i pstrare. Alterrile pot s apar datorit scurgerii sarcinilor, modificrii structurii materialelor din care este realizat circuitul, ocurilor mecanice sau electromagnetice, expunerea la radiaii etc. Datele din literatura de specialitate sunt destul de vagi i se refer n special la condiiile care favorizeaz alterarea coninutului memoriei. n general se accept ca termen limita un interval de 1020 ani. Nivelul la care se poate modifica informaia (bit, locaie, bloc). Circuitele de memorie fac parte dintre cele mai complexe circuite integrate i larga lor utilizare a impus ncercarea standardizrii de ctre marile firme productoare n colaborare cu asociaia Joint Electron Device Engineering Council (JEDEC). Standardizarea se refer la asignarea pinilor i caracteristicile semnalelor externe i nu la tehnologia de realizare. De aceea module compatibile la nivelul interfeei cu mediul pot s difere substanial n

210

ceea ce privete structura intern, valorile unor tensiuni, flexibilitate, filosofia de scriere a datelor etc. Noile linii de circuite integrate introduse ncepnd cu anii `90 au un pronunat caracter de proprietar totui majoritatea circuitelor produse respect nc standardele JEDEC. O clasificare a memoriilor este prezentat n Fig. 12.5.
memorii

fixe

Volatile (RAM) statice (SRAM) dinamice (DRAM)

OTP ROM PROM

MTP

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

Fig. 12.5

12.2.2 Memorii fixe O memorie fix are ca funcii de baz pstrarea i redarea datelor aa c eforturile de mbuntire a acestui tip de memorie au fost orientate n special ctre creterea capacitii i scderea timpului de acces. Deoarece scrierea se realizeaz foarte rar, timpul de scriere este n unele situaii (mai ales la modelele vechi) cu mult mai mare dect timpul de acces iar procesul de nscriere a datelor a implicat mult timp dispozitive speciale (programatoare de memorii). Dezvoltarea unor noi tehnologii de realizare a memoriilor fixe i n special rspndirea memoriilor flesh a schimbat complet prioritile i la ora actual se dezvolt un mare numr de noi variante 211

constructive (multe n faz de cercetare) care permit nscrierea datelor direct la locul de utilizare, la viteze comparabile cu viteza de scriere a memoriilor volatile. Memoriile fixe sunt cunoscute n general ca memorii ROM (Read Only Memory). Corect aceast denumire se aplic celor mai vechi circuite de memorie OTP, al cror coninut era nscris la productor n procesul de fabricaie. Datele nscrise nu mai puteau fi modificate niciodat. Utilizarea acestor memorii implic cteva dezavantaje majore: utilizarea nu este rentabil dect n cantiti mari deoarece utilizatorul trebuie s suporte toate cheltuielile de proiectare tehnologic; timpul scurs ntre proiectarea logic a coninutului 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 dect prin reproiectare. Aceste dezavantaje au determinat abandonarea utilizrii ROM dup anul 2000. O alt variant OTP sunt memoriile PROM (Programmable ROM) al cror coninut poate fi nscris o singur dat, la utilizator, cu ajutorul unui dispozitiv special numit programator de memorii. Memoriile PROM au fost inventate n 1956 de ctre Wen Tsing Chow la cererea United States Air Force. Patentul a fost inut secret deoarece echipau rachete balistice fiind folosite pentru pstrarea coordonatelor intei. Termenul de ardere (burn) memoriei folosit frecvent ca sinonim pentru programarea memoriilor fixe apare n patentul original deoarece programarea presupunea distrugerea unor diode interne printr-un supracurent cu scopul ntreruperii unor conexiuni. Acelai colectiv a creat i primul programator de memorii. 212

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 programrii prin aplicarea unei tensiuni cu valori mult mai mari dect tensiunea de alimentare (tipic 1221V) PROM cu antifuzibile cu o structur asmntoare cu acelor prezentate anterior numai c legtura ntre linii i coloane este realizat prin antifuzibile. Antifuzibilul este un circuit electronic format din doi electrozi metalici separai de un strat semiconductor care n faza iniial nu conduce curent dar, dup aplicarea unui cmp electric puternic, n materialul semiconductor dintre cei doi electrozi metalici se formeaz un canal conductor permanent. Principalele avantaje ale memoriilor PROM sunt: sigurana n funcionare; pstrarea datelor pe un termen nelimitat; pre de cost redus; posibilitatea de utilizare n activiti de cercetare/ dezvoltare; timp de acces ntre 35ns i 65ns (acceptabil n multe aplicaii). n Fig. 12.6 este prezentat o memorie PROM ipotetic cu fuzibil i organizare 8x4 bii. Fuzibilul simbolizat n schem poate fi realizat ntr-una dintre cele dou forme din Fig. 12.7. Rezistenele joac rolul de limitatoare de curent. Programarea acestei memorii pentru coninutul figurat n tabelul din Fig. 12.8 este cea din Fig. 12.9.

213

Vcc
R 0 DEC A2 A1 A0 1 2 3 4 5 6 7 fuzibil Circuite tampon OE# R R R

O0

O1

O2

O3

Fig. 12.6

Fig. 12.7 O0 0 1 2 3 4 5 6 7 O1 O2 O3

0 1 1 1 0 1 1 1

1 0 1 0 1 0 1 1
Fig. 12.8

1 1 0 0 1 1 1 0

0 0 0 0 0 1 1 1

214

Vcc
R 0 DEC A2 A1 A0 1 2 3 4 5 6 7 R R R

OE#

O0

O1

O2

O3

Fig. 12.9

Principalul dezavantaj care a condus practic la eliminarea memoriilor PROM tradiionale din aplicaiile moderne const n imposibilitatea modificrii coninutului memoriei dup programare. n cadrul cursului pentru exemplificri se va utiliza modulul de memorie PROM cu organizarea 32x8 tip 82S123. Modulul are 8 ieiri 3-State controlate cu semnalul de selecie a modulului CE#. Celulele neprogramate sunt n starea logic 0. Schema bloc a modulului este prezentat n Fig. 12.10. Diagrama de evoluie a semnalelor este cea din Fig. 12.11.
CE A4 A3 A2 A1 A0

82S123
O0 O1 O2 O3 O4 O5 O6 O7
Fig. 12.10

215

A4-A0 CE#
tCE

adrese stabile

tCD

O0-O7

Hi-Z
tAA

date stabile

Fig. 12.11

Notaiile din Fig. 12.11 au urmtoarele semnificaii: tCE timpul de stabilizare a datelor dup activarea semnalului de selecie; tAA timpul de acces adic timpul scurs ntre momentul modificrii adreselor i momentul n care datele sunt stabile la ieire; tCD timpul de dezactivare a ieirilor (trecerea n stare de impedan ridicat) dup dezactivarea semnalului de selecie a modulului; Hi-Z starea de impedan ridicat; Memoriile EPROM (Erasable Programmable ROM) este o memorie fix reprogramabil inventat n 1971 de inginerul Dov Frohman. nscrierea datelor se realizeaz cu un dispozitiv special la beneficiar. Pentru a putea rescrie coninutul memoriei este necesar ca vechiul coninut s fie ters prin expunerea la raze ultraviolete (lungimea de und i timpul de expunere depind de firma productoare i nerespectarea lor poate conduce la distrugerea prematur a modulului). Pentru a realiza tergerea este necesar ca fiecare modul s fie prevzut cu o fereastr de cuar ceea ce crete sensibil preul de cost pe modul. Din aceast cauz pentru producia de serie mare au fost create memorii EPROM fr fereastr de cuar care funcioneaz n regim OTP la un pre de cost foarte bun. Acestea au nlocuit practic pn n ultimii ani memoriile PROM clasice prezentate anterior, fiind acum nlocuite la rndul lor de memoriile EEPROM. Timpul de pstrare a datelor ntr-o memorie EPROM 216

variaz ntre 10 i 20 de ani n funcie de productor (datele furnizate n literatur sunt incerte, aproape imposibil de verificat). Expunerea la lumina natural sau artificial i ocurile termice pot duce la alterarea coninutului memoriei ntr-o perioad mult mai scurt. Din aceast cauz pe durata utilizrii fereastra de cuar va fi acoperit cu o band adeziv opac. Numrul 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 bii), memoriile EPROM au fost fabricate n variante cu capacitate ntre 2 Kbii i 512 Kbii. Timpul de acces variaz n general ntre 35ns i 60ns. 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. Ele au fost create n 1983 de ctre colectivul condus de George Perlegos la firma Intel, folosind iniial tehnologia utilizat anterior pentru memoriile EPROM Ulterior acesta a creat firma Seeq Technology care a mbuntit tehnologia de fabricare , prin introducerea n fiecare modul a unor circuite electronice speciale care genereaz tensiunea ridicat necesar programrii modulului, ceea ce a simplificat n mod deosebit utilizarea acestui tip de memorie n activitile de cercetare/ proiectare i chiar n produsele de serie mare. Exist diferite tipuri de interfee electice la dispozitivele EEPROM. Principalele tipuri de interfee 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 numr de interfee seriale tipizate, dintre care cele mai cunoscute sunt SPI, I2C, Microwire, UNI/O i 1-Wire. n [???] pot fi 217

gsite detalii privind modul de utilizare a modulelor cu interfa serial. EEPROM cu interfa paralel ofer o magistral de date de 8 bii i o magistral de adrese al crei numr de bii variaz n funcie de capacitatea modulului. Suplimentar exist frecvent un semnal de selecie a modulului (chip select) i un semnal de protecie la scriere (write protect pin). Viteza de lucru este mai bun dect la interfeele seriale i modul de operare este foarte natural i simplu. Dezavantajul l reprezint numrul mare de pini (uzual peste 28) ceea ce crete gabaritul circuitelor i implicit preul de cost al aplicaiilor. Timpul de pstrare a datelor este garantat de firmele productoare la cel puin 10 ani. Valoarea minim a numrului rescrierilor, garantat de productori, este n general de ordinul 106. 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 flesh este rezervat pentru memoriile programabile la nivel de bloc de octei. Au fost inventate de Dr. Fujio Masuoka la firma Toshiba n prima jumtate a anilor 1980. Avantajul memoriilor Flash este dat n primul rnd de faptul c fa de varianta EEPROM clasic crete substanial densitatea celulelor de memorie pe unitatea de suprafa a pastilei de siliciu pe care este implementat memoria. Acest lucru se datoreaz n mare msur faptului c circuitul de tergere nu mai este implementat pentru fiecare celul ci pentru un bloc de celule (frecvent 512x8 celule). Preul de cost al memoriilor Flash este mult mai mic dect al memoriilor EEPROM cu aceeai capacitate i reprezint soluia de baz i reprezint tehnologia dominant ori de cte ori este necesar o memorie fix de capacitate mare i foarte mare. Din punctul de vedere al implementrii circuitelor logice nu prezint interes aa c nu vor fi prezentate detalii constructive sau operare. 218

La ora actual se afl n diverse faze de cercetare un numr mare de noi tehnologii pentru realizarea memoriilor integrate non-volatile, realizate pe principii diferite de cele ale memoriilor clasice prezentate anterior. Dei ca structur se apropie mai mult de memoriile DRAM, aceste memorii au avantajul unui consum practic nul de putere pentru pstrarea informaiei 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 ctre noile variante, pentru diverse segmente ale pieii ele prezint un interes destul de mare. n continuare vor fi prezentate pe scurt cele mai cunoscute tehnologii dezvoltate n ultimii ani. Memoriile FeRAM sau FRAM (Ferroelectric RAM) sunt similare constructiv memoriilor DRAM ns stratul dielectric este nlocuit cu un strat feroelectric cu scopul eliminrii volatilitii datelor. Comparativ cu memoriile Flash au cteva avantaje: consum mai mic vitez de lucru mai bun; suport un numr mai mare de cicluri tergere/scriere (peste 1016 la 3,3V);

dar i dezavantaje: densitate de stocare mai mic; pre de cost mai mare.

Efectul ferelectric care st la baza acestei tehnologii a fost descoperit n 1920 iar dezvoltarea ei a nceput din 1980. Producia de serie a acestui tip de memorie a nceput n 1999 la firma Fujitsu. Dup anul 2000 mai multe firme s-au artat interesate de producerea acestor memorii, fiind dezvoltate diverse variante constructive mai ales dup anul 2001. Principalele aplicaii instrumente inteligente, echipament medical, imprimante, controlere RAID, microcontrolere etc. 219

Memoriile MRAM (Magnetoresistive RAM) este o memorie NVRAM a crei dezvoltare a nceput n anii 1990. A fost prezentat de ctre productor ca o memorie universal datorit avantajelor pe care le ofer. Deosebirea fundamental fa de tipurile curente de memorii const n aceea c 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 cellalt strat i poate schimba polaritatea n funcie de un cmp extern. Citirea datei dintr-o celul se realizeaz prin msurarea rezistenei electrice a fiecrei celule. Tipic, dac cele dou straturi feromagnetice au aceeai polaritate se consider 0 iar dac au polariti diferite se consider 1. Principalul dezavantaj l reprezint densitatea mic a celulelor pe suport, dar cercetrile continu. Avantaje: puterea necesar pentru scriere este cu foarte puin mai mare dect pentru citire; tensiunea la scriere este aceeai cu cea pentru citire; vitez de lucru bun; viaa foarte lung.

Chiar dac viteza de lucru nu este la fel de bun ca la SRAM, n anumite domenii n care capacitatea memoriei este mai important dect viteza de lucru memoriile MRAM pot prezenta interes. Prototipul unei memorii MRAM a fost livrat n iunie 2004 de ctre firma Infineon. n 2008 satelitul japonez SpriteSat utilizeaz memorii MRAM n locul memoriilor SRAM i Flash. Dezvoltatorii de memorii MRAM au n vedere n special urmtoarele categorii de aplicaii: sisteme militare; camere digitale; 220

notebooks; carduri inteligente; telefoane mobile; calculatoare personale; etc.

Memorii PMC (Programmable Metallization Cell) reprezint o nou tehnologie de memorii NVRAM, dezvoltat de Arizone State University i Axon Technologies. Se bazeaz pe relocarea ionilor ntr-un electrolit solid. Mai multe firme mari i-au artat deja interesul pentru aceast tehnologie. 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 funcie 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 sczut materializeaz valoarea 1. Conform unui patent din ianuarie 2006, timpul de modificare a strii este de 5 nanosecunde, comparabil cu cel al memoriilor DRAM (2 ns). Proprietile acestor materiale au fost studiate prima oar n anii 1960, totui calitatea materialelor utilizate i consumul mare de putere au mpiedicat pn n prezent comercializarea tehnologiei. Versiunile cele mai noi realizate de firmele Intel i Microelectronics ofer chiar 4 stri distincte (o stare amorf una cristalin i dou stri semicristaline) ceea ce dubleaz capacitatea de stocare a fiecrei celule. Primul circuit multinivel a fost prezentat n februarie 2008 de specialitii de la Intel n colaborare cu cei de la STMicroelectronics. Tot n februarie 2008 au fost livrate primele prototipuri PCM sub forma unor module de 128 Mb cunoscute sub numele comercial Alverstone. 221

Tehnologia pare promitoare n industriile aerospaiale i militare datorit deosebitei tolerane la radiaii i a unei andurane foarte bune care s-ar putea s nlocuiasc memoriile EPROM n sistemele spaiale. Memoriile SONOS (Silicon-Oxide-Nitride-Oxide-Silicon) sunt similare memoriilor Flash dar ofer un consum mai redus i un timp de via mai lung. Producia este, cel puin teoretic mai simpl. Principiul a fost cunoscut din anii 1960 dar tehnologiile necesare nu au existat pn de curnd. Se au n vedere aplicaii militatare i n industria spaial datorit rezistenei deosebite la radiaii. Exist firme care livreaz dispozitive ce incorporeaz diverse variante de memorii SONOS. 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 refcut prin aplicarea unor nivele de tensiune adecvate. Lucrri din 2007 arat pentru prima oar c memorrile RRAM pot necesita cureni de programae mai mici dect memoriile MRAM sau PRAM fr a fi afectate celelalte caracteristici (viteza de scriere, andurana, timpul de pstrare). Alte tipuri de memorii fixe se afl n stadii timpurii de cercetare i nu se poate nc ti ce ofer pentru viitorul apropiat. Evident, numrul mare de firme i instituii de cercetare i nvmnt de prestigiu implicate n procesul descoperiri de noi tehnologii n domeniu ne arat c variantele actuale nu acoper toate segmentele de pia, n special n domeniile militar, spaial, telecomunicaii.

222

12.2.3 Modificarea organizrii unei memorii 12.2.3.1 Mrirea numrului de ieiri Se presupune c dorim o memorie cu organizarea nxp i dispunem doar de module cu organizarea nxm (m<p). Pentru rezolvarea problemei se procedeaz n felul urmtor: 1. Se calculeaz numrul de module ce vor fi interconectate cu ; relaia k= 2. Se conecteaz n paralel cele k module n felul urmtor: a. Intrrile de adres cu aceeai pondere se conecteaz la aceeai linie de adres; b. Intrrile de selecie ale modulelor se leag la acelai semnal de selecie; c. Intrrile de control a ieirilor se conecteaz la acelai semnal de comand; d. Ieirile rmn independente. Exemplu: Se dorete implementarea unei memorii cu organizarea 32x24 folosind numai module cu organizarea 32x8. Schema bloc a modulului de memorie virtual implementat este cea din Fig. 12.12. Pentru implementarea blocului sunt necesare 24/8=3 module. Schema de interconectare este prezentat n Fig. 12. 13.
cc Fig. 12.12
a4 a3 a2 a1 a0

CSi#

A4 A3 A2 A1 A0 CE

A4 A3 A2 A1 A0 CE

A4 A3 A2 A1 A0 CE

M0
d7

M1
d15

M2
d23

0 1 2 3 4 5 6 7 d0

0 1 2 3 4 5 6 7 d8

0 1 2 3 4 5 6 7 d16

Fig. 12.13

223

12.2.3.2 Mrirea numrului de locaii Se consider c este necesar implementarea unui bloc de memorie cu organizarea pxn folosind numai module cu organizarea mxn (m<p). Din punct de vedere practic mrirea numrului de locaii se reduce la mrirea numrului de intrri de adrese. Se presupune c adresele locaiilor blocului sunt ca i adresele locaiilor modulelor de memorie numere ntregi consecuive, ncepnd cu 000. Avnd n vedere c numrul locaiilor 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 intrri de adres suplimentare. Interconectarea modulelor se face pe baza urmtoarelor reguli: 1. cele mai puin semnificative q linii de adres se conecteaz fiecare pe linia de adres corespunztoare ca pondere; 2. se adaug un decodificator DEC (r-q)/2r-q. 3. fiecare ieire a decodificatorului se conecteaz la intrarea de selecie a unui modul de memorie; 4. ieirile cu acelai nume sunt conectate la aceeai linie a magistralei de date. Din aceast cauz, la un moment dat, doar cel mult unul dintre cele k module de memorie poate avea ieirile activate. Pentru a putea utiliza schema propus, este necesar s se cunoasc plasarea fiecrui modul n spaiul de adrese aferent blocului de memorie. n acest scop se construiete harta memoriei ca n exemplul urmtor. Exemplu: Presupunnd c dispunem numai de module de memorie cu organizarea 32x8 se cere proiectarea unui bloc de memorie cu organizarea 128x8. Sunt necesare k=128/32=4=22 module i apar dou noi linii de adres.
Schema bloc a memoriei proiectate este cea din Fig. 12.14 iar schema de principiu a interconectrii modulelor este prezentat n Fig. 12. 15.

224

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

Fig. 12.14
a6 a5
E1 E2 A1 A0

DEC

0
SEL0# SEL1#

1
SEL2#

3
SEL3#

a4 a3 a2 a1 a0

A4 A0 M0 CE 0 12 3456 7 d0

A4 A0 M1 CE 0 12 34 56 7

A4 A0 M2 CE 0 12 3456 7

A4 A0 M3 CE 0 12 3456 7

d7

Fig. 12.15 Harta memoriei se obine innd cont de semnificaia biilor de adres. Biii superiori plasai pe intrrile de adres i menin valoarea constant pentru un modul de memorie i o combinaie a valorilor acestor bii identific n mod unic un modul de memorie. Rezult imediat c adresele pentru care fiecare modul este activat pot varia n plaja din Fig. 12.16.
a 6 a5 a 4 a 3 a2 a1 a 0
adresa unei locatii pe un modul adresa unui modul

225

modulul M0

a6 0 0 0

a5 0 0 1 1 0 0 1 1

a4 0 1 0 1 0 1 0 1

M1 0 1 M2 1 1 M3 1

a3 0 1 0 1 0 1 0 1

a2 0 1 0 1 0 1 0 1

a1 0 1 0 1 0 1 0 1

a0 0 1 0 1 0 1 0 1

Hexa 00H 1FH 20H 3FH 40H 5FH 60H 7FH

Fig. 12.16

12.2.3.3 Mrirea simultan a numrului de ieiri i a numrului de locaii n multe situaii concrete, modificarea organizrii unei memorii presupune att mrirea numrului de ieiri ct i mrirea numrului de locaii. n acest caz se procedeaz n felul urmtor: 1. Se creaz un modul virtual prin mrirea numrului de ieiri (vezi 12.2.3.1). 2. Folosind modulele virtuale create la pasul anterior se construiete blocul de memorie corespunztor ca numr de locaii (vezi 12.2.3.2). 3. Se construiete harta memoriei la nivel fizic. Exemplu: Se dorete realizarea unui bloc de memorie cu organizarea 128x16 utiliznd module cu organizarea 32x8. Pentru mrirea numrului de ieiri sunt necesare dou module conectate n paralel conform schemei din Fig.12.13 . Cu acest modul virtual cu 16 ieiri se obine schema de interconectare din Fig. 12.17 . Harta memoriei este dat prin diagrama din Fig. 12.16 . 226

a[4..0] M0 CE A4-A0 MEM00 O7-O0 8 CE A4-A0 MEM01 O7-O0 8 16

D[7..0]

D[15..8]

M1 CE A4-A0 MEM10 O7-O0 D[7..0] 8 CE A4-A0 MEM11 O7-O0 8 16

a5

A0
DEC

O0 O1 O2 O3

sel0# sel1# sel2# sel3# CE

D[15..8]

a6

A1

M2 A4-A0 MEM20 O7-O0 8 CE A4-A0 MEM21 O7-O0 8 16

D[7..0]

D[15..8]

M3 CE A4-A0 MEM30 O7-O0 8 CE A4-A0 MEM31 O7-O0 8 16 16

D[7..0]

D[15..8]

D[15..0]

Fig. 12.17

12.2.3.4 Modificarea organizii unei memorii cu ajutorul multiplexoarelor n multe situaii este necesar ca din punctul de vedere al utilizatorului organizarea unui modul de memorie s fie diferit de cea oferit de productor i anume o memorie cu mai puine coloane i mai multe locaii. De exemplu, utilizatorul dispune de o memorie 227

cu LxC bii dar are nevoie de memorii cu organizarea nLx(C/m) bii. Memoriile cu organizarea vzut de utilizator le vom numi memorii virtuale deoarece la nivel fizic ele nu exist. n astfel de situaii 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 vzute ca o singur coloan de lungime nL unde: L lungimea coloanei n memoria iniial; n - numrul intrrilor de date pentru memoria utilizat. Numrul de multiplexoare utilizate este dat de numrul de coloane n noua organizare. Ieirea fiecrui multiplexor reprezint o ieire din memoria virtual. Evident capacitatea noii memorii este identic cu cea a memoriei iniiale, deci utilizarea optim a memoriei implic m=n. O problem important este aceea a modului n care programm coninutul memoriei fizice pornind de la coninutul memoriilor virtuale. Exemplu: 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 din Fig. 12.18.
CE a0 a1 a2 a3 a4 A0 A1 A2 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 a7 a6 a5

Fig. 12.18

228

12.2.4 Utilizarea memoriilor n sinteza CLC 12.2.4.1 Prezentare general Memoriile pot fi foarte uor utilizate pentru sinteza sistemelor de funcii de comutaie. Exist mai multe metode, fiecare util n anumite cazuri concrete. Indiferent de metod, n procesul de sintez trebuie s fie rezolvate dou probleme: 1. alegerea structurii optime a schemei de implementare; 2. precizarea coninutului memoriei sau memoriilor utilizate. Observaie! Aceeai structur a schemei de implementare poate s fie utilizat pentru un numr foarte mare de funcii de comutaie diferite. Numai prin precizarea coninutului memoriei se stabilete funcia implementat. Pentru a nelege de ce poate fi utilizat o memorie pentru implementarea funciilor de comutaie vom observa c putem considera c fiecare celul a unei coloane materializeaz o funcie mintermen deci n total o memorie cu m intrri de adres genereaz 2m funcii mintermen (la un moment dat o sigur funcie este activ. Reuniunea celor 2m funcii mintermen (aria de pori AND) reprezint de fapt decodificatorul de adrese. Fiecare ieire poate fi considerat ca ieirea unei pori OR cu 2m intrri. Avnd n vedere cele de mai sus, structura unei memorii PROM ipotetice cu 4 intrri de adres i 4 ieiri poate fi reprezentat ca n Fig. 12.18. Pentru a simplifica desenul, fiecare poart AND cu m intrri este reprezentat cu o singur intrare vectorial (o magistral cu m linii) ca n Fig. 12.17.

229

Fig. 12.19
A3 A2 A1 A0

16 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15

16

16

16

O0 f1

O1 f2

O2 f3

O3 f4

Fig. 12.20

Bulinele negre simbolizeaz conexiunile ntre o linie i o coloan. n cazul porilor AND conexiunile sunt fixe. Pe fiecare linie sunt plasate cte 4 conexiuni corespunztor conectrii unei variabile directe sau negate la fiecare dintre cele 4 intrri ale porii AND. n aria de pori OR conexiunile sunt fixe n cazul memoriilor OTP dar pot fi modificate dac se utilizeaz memorii EPROM sau EEPROM. n Fig. 12.20 aceste conexiuni nu au fost figurate, ele 230

urmnd s apar prin nscrierea unui 1 n procesul de pro gramare a memoriei. Observaie! Aria de pori AND ofer toi mintermenii care se pot forma cu cele m variabile dei n realitate probabilitataea ca toi aceti mintermeni s fie utilizai este foarte mic. Numrul de intrri pe o poart OR este de asemenea mult prea mare deoarece evident niciodat nu se vor utiliza toate cele 2m intrri. n concluzie preul de cost al implementrii este prea mare n raport cu necesitile reale ale implementrii. Acest lucru a condus la apariia altor tipuri de dispozitive logice programabile, mult mai apropiate de necesitile reale i care por oferi faciliti suplimentare. 12.2.4.2 Sinteza unui sistem de funcii de comutaie cu un singur modul de memorie Fie un sistem de p funcii de comutaie depinznd de acelai set de q variabile: Structura schemei de implementare rezult n felul urmtor: 1. se alege un modul de memorie cu organizarea nxm astfel nct mp i n2q; 2. fiecrei funcii i se aloc o ieire a memoriei; 3. variabilele funciei se distribuie pe intrrile de ades ncepnd cu variabila cea mai puin semnificativ plasat pe intrarea de adres cu ponderea minim (eventualele intrri de adres libere se conecteaz la un potenial fix de obicei 0). Schema obinut este prezentat n Fig. 12.21. Coninutul memoriei se obine nscriind n fiecare coloan tabelul de adevr al funciei ataate.

231

n x0-xn-1 A0-An-1

O0

f0

.
MEM Ok-1

. .
fk-1

Fig. 12.21

Observaie! Dac numrul funciilor este mai mare dect


numrul ieirilor sau/i numrul combinaiilor variabilelor este mai mare dect numrul intrrilor de adres, se construiete modulul virtual corespunztor ca numr de ieiri i adrese conform celor prezentate n 12.x.3.1-12.x.3.3 dup care se aplic metoda de sintez asupra modulului virtual. Coninutul fiecrui modul fizic de memorie se va preciza pe baza hrii memoriei.

Exemplu: Se dorete implementarea unui convertor de cod din CBZ 8421 n CBZ Gray i a unui convertor de cod din CBZ 8421 n CBZ Johnson. Convertoarele sunt prevzute cu ieiri de eroare ce semnaleaz prin 0 logic apariia la intrare a unei combinaii ce nu aparine CBZ 8421. Din schema bloc din Fig. 12.22 se observ c pentru primul convertor sunt necesare 5 ieiri iar pentru al doilea 6 ieiri i cte 16 locaii de memorie. Cel mai mic modul de memorie disponibil are organizarea 32x8 deci poate fi utilizat. Se observ ns c dac folosim cte un modul pentru fiecare convertor, jumtate din locaii vor rmne neutilizate. Din aceast cauz se recomand n acest caz utilizarea unui singur modul de memorie prin introducerea unei comenzi de selecie a regimului de lucru. Schema de principiu folosind un singur modul de memorie PROM este cea din Fig. 12.23 iar coninutul memoriei este cel din Fig. 12.24 . Astfel de scheme pot fi utilizate pentru implementarea economic a unor sisteme de funcii de comutaie cu un numr mare de variabile pentru vitez de lucru medie sau mic.

232

b0 b1 b2 b3
J#/G

j0/g0 j1/g1 j2/g2 j3/g3 j4/NC

b0 b1 b2 b3
J#/G

A0 A1 A2 A3 A4 CE

O0 O1 O2 O3 O4 O5 O6 O7

j0/g0 j1/g1 j2/g2 j3/g3 j4/NC


NC NC ERR#

ERR#

Fig. 12.22

Fig. 12.23

Fig. 12.24

233

12.2.4.3 Implementarea unei singure funcii pe un modul de memorie n anumite cazuri se pune problema implementrii unei singure funcii cu un numr mare de variabile dispunnd de module de memorie cu mai multe ieiri. Dac avem p variabile i module de memorie cu organizarea nxm, p>n i am folosi metoda precedent, ar fi necesare 2p-n module n care am folosi o singur ieire ceea ce ar nsemna o risip inacceptabil. Chiar dac p=n, doar o mic parte a modulului de memorie ar fi utilizat. Din aceast cauz este preferabil s utilizm o schem ca cea din Fig. 12.aa. Se va alege un modul de memorie pentru care mn2p i un multiplexor cu n intrri de date. Presupunem c funcia este definit prin forma canonic disjunctiv n notaia simbolic (suma indicilor mintermenilor corespunztori valorilor 1). Valorile nespecificate nu ne intereseaz. n acest caz pentru a determina coninutul memoriei se procedeaz n felul urmtor: Se mparte fiecare indice la 2p i se determin un ct ntreg i un rest. Ctul reprezint coloana n care se nscrie 1. Restul reprezint numrul locaiei n care se nscrie 1. Exemplu: Se consider funcia
f(x7,x0)=(0,2,5,7,12,19,30,31,45,46,47,48,49,75,76,78,79,90,91,92,96,97, 98,111,123,124,125,126,145,146,147,148,149,180,181,182,183,184,195,196,197,1 98,199,222,223,224,225,226,227,245,246,247,250,253,254,255) i se cere implementarea funcie cu ajutorul unui modul d e memorie cu organizarea 32x8. Se observ imediat c pentru implementare este necesar o memorie cu organizarea 256x1 adic (8x32)x(8/8). Aceasta nseamn ca sunt necesare un modul de memorie 32x8 i un MUX 8. Schema bloc este prezentat n Fig. 12. 25.

234

Pentru a determina coninutul memoriei, fiecare indice de mintermen se va mpri la 32. Ctul indic n ce coloan iar restul n ce linie nscriem 1. Restul celulelor vor fi 0. De exemplu, pentru indicele 226 se obine 226:32=7 rest 2 deci se va nscrie 1 n coloana 7 i linia 2. Coninutul memoriei este prezentat n Fig. 12.26 .

Metoda poate fi generalizat pentru implementarea a dou sau mai multe funcii pe acelai modul de memorie.

CS x0 x1 x2 x3 x4 A0 A1 A2 A3 A4 O0 O1 O2 MEM O3 O4 O5 O6 O7 I0 I1 I2 I3 I4 I5 I6 I7

MUX

Y Y#

f f

S2 S1 S0 x6 x5 x4

Fig. 12.25

12.2.4.4 Sinteza SLS cu ajutorul memoriilor n sinteza SLS memoria poate fi utilizat doar pentru implementarea funciilor de excitaie i de ieire. Pentru memorarea strii se utilizeaz bistabile sau registre care accept regimul de lucru paralel-paralel. n cazul modelului Moore, i ieirile trebuie s fie memorate ntr-un registru pentru a garanta c nu se modific pe durata unei stri. Pe intrrile de adres se distribuie variabilele de stare i comenzile externe. Dei teoretic ordinea n care sunt distribuite variabilele de stare i comenzile externe nu are nici o importan, se recomand ca variabilele de stare s fie plasate pe adresele superioare iar comenzile externe pe adresele inferioare. Aceast distribuie permite simplificarea operaiilor de testare i depanare. 235

Schema bloc pentru sinteza SLS este prezentat n Fig. 12.27. Ca i n cazul SLC, aceeai schem permite implementarea unui numr foarte mare de SLS n funcie de coninutul memoriei.
x4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

x3
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

x2
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

x1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

x0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1

A4 A3 A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7

Fig. 12.26

236

TACT MEM An-1 . . . . . . A0 O 1 .


. . . . .

D0
. . .

Q0 E0 Qk Ek INIT#

Ok

Dk

CE

Y Ok+1 0 . . . . . . Ym-1 OK+m

D0 . . . Dm

Q0 . . . Q3

y0 . . . ym-1

TACT

Fig.12.27

Exemplu: S se sintetizeze un generator de bit de paritate impar conform specificaiilor din Exemplul 2, paragraful 11.4.4 Pentru imlementare se va utiliza un modul de memorie cu organizarea 32x8 bii, registru de deplasare i un bistabil.
Schema bloc este prezentat n Fig. 12.28
TACT
MEM

O0 y3 y2 y1 y0 SD A3 A2 A2 A1 A0 O1 O2 O3 O4 O5 O6 CE O7

SDC

D R

INIT# Y0 Y1 Y2 Y3 y0 D0 R Q0 RD y1 Q1 D1 y2 Q2 D2 y3 D3 Q3 TACT

Fig. 12.28 Pornind de la partiia de echivalen din Fig. 11.73 se deduce tabelul de evoluie a strilor pentru MER (Fig. 12.29). Pe baza acestui tabel, considernd o asignare natural a strilor i distribuia semnalelor din Fig. 12.28 se determin coninutul memoriei ca n tabelul din Fig. 12.30.

237

SP
A B C D E F G H I J K L

SD 0
B C E A H A D B F E A H

1
G I K A H A J G L K A H

E
0 0 0 1 0 0 1 1 1 1 1 1

Fig. 12.29 y3
A4
A B C D E F G H I J K L 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

y2
A3
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

y1
A2
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

y0
A1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

SD
A0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

SDC
O0
0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

O1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

O2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

O3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Y3
O4
0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Y2
O5
0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0

Y1
O6
0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0

Y0
O7
1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0

Fig. 12.30

238

239

S-ar putea să vă placă și