10. CIRCUITE E MEMORIE, CIRCUITE LOGICE PROGRAMABILE 10.1.Circuie de memorie Circuiele de memorie sun circuie care asigură posibiliaea de regăsire a unor informaţii reprezenae sub forma binară şi care au fos socae anerior. in punc de vedere al modului de uilizare, memoriile se clasifică asfel: - ROM, PROM, EPROM - memorii ce po fi doar ciie în sisemul care le uilizează; şergerea informaţiei ese posibilă doar în cazul EPROM şi nu ese selecivă - RAM, EEPROM - memorii ce permi aâ ciirea câ şi înscrierea informaţiei. 10.1.1 Memorii ROM Memoriile ROM (Read Only Memories) sun circuie de memorie care permi ciirea informaţiei înscrisă în prealabil de căre fabrican. Acese memorii sun nevolaile, adică informaţia nu se disruge la dispariţia ensiunii de alimenare. Srucura lor inerna ese concepuă maricial, în fiecare nod al maricii fiind memora câe bi de informaţie. Vcc A 0 A n-1 C 0 1 2 E 2 n -1 OE 0 1 2 m Figura 10.1 Srucura de principiu a unei memorii ROM 127
cap.10 Circuie de memorie, circuie logice programabile A OE OE RC A RC Figura 10.2 iagrame de imp penru o memorie ROM Liniile maricii (0 2 n -1) sun acivae de ieşirile unui decodificaor ale cărui inrări sun conecae la liniile de adresare. Coloanele maricii sun conecae la liniile de dae prin inermediul unor amplificaoare având ieşiri hree-sae. Semnalul realizează selecţia circuiului (el poae conrola şi sarea ieşirilor).semnalul OE conrolează numai sarea circuielor de ieşire. acă = 1, cuvânul aplica pe inrările de adresă deermină acivarea unei linii a maricii de memorare. acă în nodurile de pe aceasa linie exisă conexiuni pe colonele respecive poenţialul va fi deermina de ieşirile decodificaorului, respeciv 0 logic. acă nu sun realizae conexiuni în noduri, poenţialul coloanelor respecive ese corespunzăor lui 1 logic, deermina prin rezisenţele legae la Vcc. Informaţia de pe cele m coloane de dae ese prezenaă la ieşire dacă OE = 1. Penru funcţionarea corecă ese necesară saisfacerea anumior condiţii emporale (figura 10.2), principalii parameri de imp fiind cei de mai jos. RC - duraa ciclului de ciire (inervalul de imp înre două schimbări de adresă) A - impul de acces la memorie (impul scurs de la sabilirea adreselor până la obţinerea daelor de ieşire) - impul scurs de la = 1 până la obţinerea daelor la ieşire OE - impul scurs de la OE = 1 până la apariţia daelor la ieşire OH - impul de menţinere a daelor la ieşire după ce OE ese dezaciva (OE = 0). Memoriile PROM (Programmable Read Only Memories) sun circuie de memorie a căror conţinu poae fi programa o singura daă, de căre uilizaor. upă înscrierea informaţiei, aceasa nu mai poae fi şearsă. Memoriile EPROM (Elecrically Programmable Read Only Memories) au posibiliaea de înscriere repeaă a conţinuului, şergerea acesora făcându-se prin expunere la radiaţie ulravioleă. Şergerea ese neselecivă. Memoriile EEPROM sau E 2 PROM (Elecrically Erasable Read Only Memories) elimină dezavanajele circuielor EPROM: şergerea înregului conţinu, imp de şergere ridica, necesiaea scoaerii circuiului din circui penru şergere. Şergerea 128
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE informaţiei din celule de memorare se realizează în cazul EEPROM prin aplicarea unor ensiuni de comandă a şergerii, seleciv, penru o celulă sau un grup de celule. 10.1.2 Memorii RAM Memoriile RAM sun memorii volaile la care memorarea informaţiei logice se face folosind srucuri de ip circui basculan bisabil. enumirea (Random Access Memory) se daorează fapului că accesul la orice cuvân al memoriei se realizează în acelaşi inerval de imp, spre deosebire de memoriile cu acces serial, la care rebuie parcurse oae cuvinele, de la adresa prezenă la adresa doriă. Srucura unei memorii RAM ese o maricială, în fiecare nod al maricii exisând o celulă de memorare. acă celula de memorare are la bază o srucura de bisabil, memoria ese de ip saic (SRAM) iar dacă celula de memorare are la bază înmagazinarea, penru o duraă finiă, a unei sarcini elecrice pe un condensaor, memoria ese de ip dinamic (RAM) şi necesiă reîmprospăarea periodică a sarcinii elecrice pe capaciăţile de socare (refresh). Memoriile RAM prezină capaciae de inegrare mul superioară memoriilor SRAM dar necesiă o logică suplimenară penru refresh. Srucura unei memorii SRAM ese prezenaă în figura 10.3 iar diagramele de imp corespunzăoare ciirii, respeciv scrierii sun descrise in figura 10.4. A 0 EC MM I O A n n = m/2 EC A n+1 A n+2 A m operaţie 1 x neseleca 0 0 scriere 0 1 ciire Figura 10.3 Srucura de principiu a unei memorii SRAM Căile de înscriere (I daa in) şi de ciire (O daa ou) po fi separae sau po fi comune, caz în care inrarea se face prinr-o poară cu validare ( + = 0 ), iar ieşirea prinr-un amplificaor hree-sae comanda corespunzăor ( = 0, = 1). Srucura inernă poae fi dealiaă ca în figura 10.5. 129
cap.10 Circuie de memorie, circuie logice programabile A R A W SU H Figura 10.4 iagrame de imp ciire/scriere SRAM A 3 C MM A n MUX/MUX A n+1 A n+2 A m C MM RL CL MUX/MUX A n RAS CAS Figura 10.5 Srucura inernă SRAM, RAM 130
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE Cu ajuorul liniilor de adresă A n se poae seleca, prin inermediul decodificaorului C, una din liniile maricii de memorare. Biţii ce consiuie linia adresaă de decodificaor sun aplicaţi unui muliplexor/demuliplexor (MUX/MUX) comanda de semnalul. Liniile de adresă A n+1 A m selecează una dinre coloanele de dae, conecând-o la linia exernă de dae. ecodificaorul ese valida de semnalul. Un ciclu de memorie consă în selecarea unei linii (, A n ) şi apoi, după o înârziere dicaă de propagarea prin decodificaor şi maricea de memorie, selecarea unei coloane (A n+1 A m, ). Adresele liniilor şi coloanelor nu sun deci necesare simulan. Uilizând lach-uri, se poae imagina o schemă în care liniile penru A n să fie comune cu cele penru A n+1 A m, dacă n=m/2. Acesa ese principiul folosi la realizarea memoriilor RAM. Operarea se face prin aplicarea pe liniile de adresă a adresei de linie, care ese memoraă în RL pe fronul negaiv al RAS, apoi pe aceleaşi linii de adresă se aplică adresa de coloană care ese srobaă în CL pe fronul negaiv al CAS. Sensul daelor şi funcţia srucurii MUX/MUX sun deerminae de polariaea semnalului. În cazul memoriilor dinamice (RAM), având în vedere că celulele memoriei RAM funcţionează pe baza socării unei sarcini elecrice pe o capaciae şi că aceasă capaciae se descarcă în imp, ese necesară o operaţie de reîmprospăare a memoriei care să reîncarce capaciaea cel puţin o daă la 2ms. Reîmprospăarea se poae face simulan penru oae celulele de pe o linie iar procesul de reîmprospăare a informaţiei logice se numeşe refresh. Operaţiunea de refresh presupune ciirea conţinuului memoriei înaine ca acesa să se deerioreze şi reînscrierea celulelor, deci necesiă o logică suplimenară. 0 1 M1 A n m-1 M2 m m+1 2m-1 Figura 10.6 Modificarea geomeriei memoriei prin expandarea cuvânului memora 131
cap.10 Circuie de memorie, circuie logice programabile 10.1.3 Modificarea geomeriei memoriilor Prin modificarea geomeriei se realizează circuie de memorie cu număr de cuvine sau număr de biţi pe cuvân diferi de cel al circuielor disponibile. Penru modificarea numărului de biţi pe cuvân se conecează în paralel circuiele de memorie disponibile. Semnalele de conrol şi adresele sun comune, funcţionarea circuielor fiind simulană (figura 10.6). Penru modificarea numărului de cuvine, se aplică memoriilor folosie un număr de linii de adresă corespunzăor capaciăţii lor. Adresa de rang imedia superior se foloseşe penru aplicarea selecivă a semnalelor de conrol ( ) folosind o logică suplimenară cu porţi OR (figura 10.7). Liniile de dae sun comune. 10.1.4 Aplicaţii ale memoriilor în sineza dispoziivelor numerice Circuiele de memorie po fi folosie penru a sineiza circuie logice combinaţionale sau circuie logice secvenţiale, caz în care din schemă rebuie să facă pare şi circuie penru memorarea sării. Penru a realiza un circui combinaţional, variabilele de inrare se aplică pe liniile de adresă. În fiecare locaţie a memoriei se înscriu valorile funcţiilor corespunzăoare vecorului de inrare ce reprezină adresa locaţiei respecive (figura 10.8). 0 1 M1 A n m-1 A n+1 M2 Figura 10.7 Modificarea geomeriei memoriei prin expandarea numărului de cuvine (expandarea adreselor) 132
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE x 0 x 1 A 0 M 0 1 z 0 z 1 A n-1 A 0 m-1 1 0 x n-1 x 1 x 0 z m-1 z 1 z 0 1 x x x HZ HZ HZ 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 0 x n-1 A n-1 m-1 z m-1 0 1 1 1 0 1 0 Figura 10.8 Sineza unui circui combinaţional folosind memorii Penru sineza unui sisem secvenţial ese necesară obţinerea vecorului de sare, memorarea acesuia şi realizarea vecorului de ieşire, în funcţie de vecorul de sare şi de vecorul inrare. Sisemul secvenţial va fi consiui dinr-o memorie care conţine în fiecare locaţie a sa vecorii y n+1 şi z n, adresa locaţiei fiind fixaă de y n şi x n (ecuaţiile 10.1, figura 10.9). y z n+ 1 n = f(x,y = g(x,y n n n n ) ) (10.1) Xn k M y n+1 m p z n RM y n m T R Figura 10.9 Sineza unui circui secvenţial folosind memorii Semnalul R ese folosi penru researea regisrului de memorie RM, deci penru aducerea sisemului în sarea iniţială. Evoluţia sisemului ese deerminaă de ceasul T. 10.2 Marici logice programabile (PLA) PLA-urile (Prgrammable Logic Area) sun circuie care conţin o arie de porţi logice inerconecabile ce permi implemenarea unei game foare variae de CLC. În puncele de conexiune inernă sun plasae siguranţe fuzibile care po fi arse, sau nu, de căre uilizaor, obţinându-se asfel schema doriă. 133
cap.10 Circuie de memorie, circuie logice programabile Circuiul conţine o marice AN, o marice OR şi un circui de ieşire. Forma canonică disjuncivă a unei funcţii booleene ese de forma 10.2. z = n 1 σ j ( x j ) = f= 1 j= 0 f = 1 Q (n) k (10.2) Maricea AN ese consiuiă din circuie AN ce realizează ermenii Q (n) k, care au pe inrări variabilele de inrare x i, xi. Maricea OR conţine circuie conecabile la oae ieşirile circuielor AN şi permie realizarea formei canonice disjuncive, FC, a funcţiei booleene (z). Circuiul de ieşire conţine circuie XOR care permi obţinerea funcţiei logice z sau a inversei aceseia ( z) şi buffere hree-sae conrolae de un semnal de validare a ieşirii, OE, (figura 10.10). I 0 I 1 I n-1 O 0 O 1 O m-1 OE Figura 10.10 Srucura de principiu a unei marici logice programabile, PLA 134
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE PLA-urile po fi folosie şi penru sineza sisemelor secvenţiale, permiţând obţinerea vecorilor de sare y n+1 şi de ieşire z n. Penru înârzierea vecorului de sare se foloseşe un circui de memorare (bisabil sau regisru de memorie) ca şi în cazul folosirii memoriilor penru sineza CLS. 10.3 Secvenţiaoare logice programabile (PLS) PLS-urile (Programmable Logic Sequenceor) permi realizarea circuielor logice secvenţiale prin maerializarea relaţiilor cunoscue (vezi relaţiile 10.1). Schema bloc a unui asfel de circui ese prezenaă în figura 10.11. x n B x n x n AN B' y n y n AN y n CPL M y n + 1 OR OR z n z * n-1 z n-1 M' A T OE Figura 10.11 Schema bloc a unui secvenţiaor logic programabil (PLS) Semnificaţia blocurilor funcţionale şi a semnalelor din figura 10.11 ese urmăoarea: B, B' AN, AN' CPL OR, OR' M, M' A OE T - buffere de inrare - marici AN - marice complemenară (permie realizarea unei reacţii asincrone înre OR şi maricea AN în scopul minimizării numărului de ermeni AN) - marici OR - elemene de memorare (bisabile R-S) - amplificaoare hree-sae de ieşire - semnal de validare a ieşirilor - semnal de ceas Srucura maricii complemenare CPL ese prezenaă în figura 10.12. 135
cap.10 Circuie de memorie, circuie logice programabile Figura 10.12 Srucura maricii complemenare CPL acă nu se uilizează maricea CPL, siguranţele fuzibile vor fi arse în oaliaea lor. acă, de exemplu, două marici AN furnizează minermii Q 1 şi Q 2 şi ese necesară şi realizarea unui ermen Q i = Q 1 + Q2, se folosesc posibiliăţile oferie de maricea CPL (figura 10.13). Q 1 Q 2 Q i Q 1 Q 2 Q i Figura 10.13 Realizarea unor ermeni folosind maricea complemenară CPL 136