Sunteți pe pagina 1din 6

1

Introducere

Apariia circuitelor integrate digitale i creterea complexitii lor ntr-un ritm uluitor a permis realizarea unor sisteme care au revoluionat nu numai electronica, dar i societatea n general. n acest capitol introductiv se analizeaz apariia i dezvoltarea sistemelor numerice i a circuitelor integrate n general, urmrind i ncadrarea circuitelor care fac obiectul acestei cri n mulimea circuitelor digitale.

1.1 Apariia i dezvoltarea sistemelor numerice


Matematicianul englez George Boole (18151864) a elaborat pe la 1850 un nou capitol n matematic, cunoscut astzi sub numele de Algebra Boolean. Intenia lui a fost de a descoperi o modalitate de reprezentare i testare riguroas a argumentelor logice i filozofice, pornind de la ipoteza c o anumit propoziie nu poate fi dect adevrat sau fals. Abia la sfritul anilor 1930, Claude Shannon, pe atunci absolvent al celebrului Massachusetts Institute of Technology, a demonstrat n teza sa de masterat c Algebra Boolean poate fi utilizat pentru reprezentarea operaiilor logice n circuitele digitale. nc de la sfritul secolului al XIX-lea au fost concepute sisteme numerice relativ simple folosind contactele releelor electromagnetice. Dei nc din anul 1883, unul dintre asistenii lui Edison a descoperit c poate detecta electronii emii de filamentul unui bec cu incandescen cu ajutorul unui electrod suplimentar, marele inventator nu realizeaz semnificaia acestei descoperiri, aa c mai trec nc dou decenii pn cnd fizicianul englez Sir John Fleming construiete prima diod cu vid. n anul 1906, fizicianul american Lee de Forest introduce un electrod suplimentar care s controleze fluxul de electroni prin tub, obinnd trioda. Din acest moment, existau dispozitivele care au permis construcia sistemelor electronice, att analogice ct i digitale. Unul dintre cele mai reprezentative i mai complexe sisteme numerice realizate cu tuburi electronice, citat cel mai mult n literatur, este primul calculator electronic, cunoscut sub numele de ENIAC (Electronic Numerical Integrator And Calculator).

1. INTRODUCERE

Construit n perioada 1943-1946 la Universitatea Pennsylvania, el coninea aproape 18000 de tuburi electronice, 70000 de rezistene, 10000 de condensatoare, 7500 de relee i 6000 de comutatoare. Ocupa o suprafa de 170 m2, avea o greutate de 30 tone i un consum energetic de circa 170 kW. Avnd o frecven a ceasului de 100 kHz, el reuea s fac 5000 de adunri pe secund, sau 357 de nmuliri pentru operanzi reprezentai pe 10 cifre. Dac astzi el pare o ciudenie, la vremea respectiv era ceva cu totul revoluionar, avnd o vitez de calcul care depea de mii de ori orice sistem electromecanic existent care ncerca s fac acelai lucru. Cu ocazia aniversrii a 50 de ani de la realizarea ENIAC-ului, un grup de studeni de la aceeai universitate au ncercat s reproduc ntreaga arhitectur a calculatorului ntr-un singur chip de siliciu, folosind tehnologia momentului respectiv, adic CMOS de 0,5 m. A rezultat un chip cu lungimea de 7,4 mm i limea de 5,3 mm, care coninea 175000 de tranzistoare (nu numai cele 18000 de tuburi electronice au fost nlocuite cu tranzistoare, ci i celelalte componente, iar o parte dintre tuburi conineau mai muli electrozi i au fost nlocuite prin dou sau mai multe tranzistoare) i care funciona la frecvena maxim de 50 MHz, cu un consum energetic de civa watt. Inventarea tranzistorului la sfritul anului 1947 a marcat poate adevrata revoluie n electronic, pentru c apariia acestui nou dispozitiv a deschis calea miniaturizrii i creterii complexitii circuitelor electronice. Primul tranzistor a fost construit de ctre John Bardeen i Walter Brattain, doi cercettori de la Bell Labs i a fost denumit tranzistor cu punct de contact. Ceva mai trziu, un alt cercettor din acelai laborator, William Shockley, a realizat tranzistorul cu jonciune, dispozitivul care a fost folosit ulterior la construcia circuitelor integrate. Pentru invenia lor, cei trei au primit premiul Nobel pentru fizic n anul 1956. Primul circuit integrat a fost inventat n anul 1959, de dou echipe de cercettori care au lucrat independent. Una era condus de Robert Noyce, de la firma Fairchild, iar cealalt de Jack Kilby, de la Texas Instruments. Amndoi au avut ideea combinrii mai multor tranzistoare, diode i rezistene pe aceeai pastil de semiconductor. Noyce a creat un circuit monolitic pe siliciu, iar Kilby a construit mai degrab un circuit hibrid pe germaniu. Invenia lor a fost recompensat cu premiul Nobel foarte trziu, abia n anul 2000. Din pcate, Robert Noyce nu mai era n via la acel moment. Dac primele circuite integrate aveau numai cteva tranzistoare, n scurt timp numrul lor avea s creasc foarte repede. O msur a complexitii unui circuit integrat este numrul de tranzistoare integrate pe cipul de siliciu. Gordon Moore, unul dintre colaboratorii lui Noyce i cofondator al firmei INTEL, a fcut o previziune n anul 1965, observnd dezvoltarea tehnologiei circuitelor integrate n primii 5 ani de la apariie. El a afirmat c numrul de tranzistoare integrate ntr-un singur cip se dubleaz aproximativ la fiecare 2 ani. Chiar dac intervalul de timp a variat de la 18 luni la 2 ani, previziunea lui Moore s-a dovedit adevrat pn astzi, ajungnd s fie considerat o lege. La ora actual, att Gordon Moore ct i ali experi n tehnologia circuitelor integrate, consider c legea lui Moore va rmne funcional nc cel puin 10 - 15 ani de acum ncolo. Atunci se va atinge limita fizic fundamental care nu va mai permite creterea numrului de tranzistoare pe cip. Figura 1.1 reprezint evoluia numrului de tranzistoare pe cip, ncepnd cu anul apariiei primului circuit integrat i pn la apariia procesorului Quad Core Extreme Edition pe 45 nm de la Intel, care conine peste 820 milioane de tranzistoare! Celelalte
.

1.1 Apariia i dezvoltarea sistemelor numerice


1.000.000.000 100.000.000 10.000.000 1.000.000 100.000 10.000 1.000 100 10 Anul 1960 1970 1980 1990 2000
P 4004 P 8080 P 8086

3
QUAD CORE PENTIUM IV P 486

Evolutia numarului de tranzistoare pe cip

2010

Fig. 1.1 Numrul de tranzistoare pe cip se dubleaz la aproximativ 18 luni puncte de pe grafic marcheaz alte momente importante cnd au aprut diverse microprocesoare fabricate de firma Intel ([Maxfield, 2003], [Popa, 2002]). La ora actual, un procesor Intel Itanium 2 din seria 9000 conine 1,7 miliarde de tranzistoare. Dei apar deja limitri fizice legate de materialele folosite la construcia circuitelor integrate, apar n permanen tot felul de inovaii tehnice care mping limitele fizice tot mai departe. La nceputul anului trecut, Intel i IBM au anunat separat folosirea parial a unui nou material metalic numit hafnium, iar ali cercettori au propus folosirea unor planuri de construcie a cip-urilor pe mai multe straturi, cu nano-conexiuni verticale ntre ele. Tehnologia folosit la ora actual n construcia de circuite integrate performante este CMOS de 45nm, dei se mai folosesc nc destul de mult i tehnologiile de 65nm sau de 90nm. n viitorul apropiat se va trece la tehnologia de 32nm. Primele circuite integrate numerice implementau diferite funcii logice, de la cele mai simple, cum ar fi porile logice, i pn la circuite mai complexe, cum ar registrele sau numrtoarele. Sistemele realizate cu aceste circuite implementeaz anumite funcii stabilite iniial de proiectant i orice modificare ulterioar a funcionrii nu mai este posibil. Avem de-a face cu logica cablat, care asigur performanele maxime de vitez i complexitate structural minim, dar preul pltit este dat de lipsa de flexibilitate a sistemului. Logica programat este paradigma alternativ, care aduce flexibilitatea funcional, cu preul unei complexiti mai mari i a unei viteze mai mici. Evoluia tehnologic repune periodic n discuie oportunitatea soluiilor oferite de cele dou puncte de vedere. Cert este c, cel puin pn la ora actual, tehnologiile disponibile depesc gndirea structural a proiectanilor de sisteme numerice. Este nc justificat afirmaia din 1982 a profesorului Edward A. Feigenbaum de la Universitatea Stanford: "Hardware engineers are concept limited, not component limited". Gndirea structural n noul context funcional nu este nc la nivelul tehnologiilor disponibile ([tefan, 1991]).

1. INTRODUCERE

1.2 Apariia structurilor programabile


Primele circuite programabile au aprut odat cu primele circuite integrate. Ele erau circuite de memorie ROM (Read Only Memory) realizate cu arii de tranzistoare bipolare. Datele sunt introduse n memorie prin programarea circuitului (care se poate face de ctre fabricant sau de ctre utilizator), iar aceast informaie poate fi numai citit atunci cnd se solicit acest lucru. Structura este de obicei definit ca un convertor de cod compus dintr-un decodificator i un codificator. Vectorul de intrare n decodificator este interpretat ca o adres, iar datele obinute la ieirea codificatorului reprezint informaia memorat la adresa respectiv. Este vorba de un circuit combinaional, care poate fi foarte bine descris printr-un tabel de adevr. Denumirea de memorie este chiar improprie, deoarece prin memorie nelegem o structur secvenial, care conine bucle de reacie capabile s memoreze informaie nou ce apare n circuit. Denumirea de memorie s-a pstrat numai datorit paradigmei organizaionale ce i descrie funcia ([Wakerly, 2002]). Memoriile ROM au evoluat pe msur ce tehnologia de realizare a lor s-a dezvoltat. Introducerea tehnologiei MOS la sfritul anilor 1960 a permis construcia memoriilor EPROM (Erasable Programmable Read Only Memory), care pot fi reprogramate de mai multe ori de ctre utilizator, prin tergerea lor cu ajutorul radiaiei ultraviolete i renscrierea informaiei dorite. Memoriile EEPROM (Electrically Erasable Programmable Read Only Memory), care pot fi reprogramate de utilizator numai prin semnale electrice, au aprut mult mai trziu. Primul prototip a fost realizat de firma Intel n 1983. ncepnd cu anul 1989, firma Toshiba perfecioneaz permanent tehnologia FLASH EEPROM, ajungnd astzi la performanele de capacitate i vitez pe care le cunoatem de la memoriile externe conectabile la calculator prin porturile USB. Memoria RAM (Random Access Memory) este un circuit secvenial. Ea permite nscrierea datelor noi din sistem la anumite adrese din memorie i citirea lor oricnd avem nevoie de acestea. La nceputul anilor 1950, deci nainte de apariia primului circuit integrat, s-a pus la punct o tehnologie de realizare a memoriilor cu acces aleator sau memoriilor RAM bazat pe inele de ferit. Fiecare inel, n funcie de starea lui de magnetizare, memora un bit de informaie. Aceast soluie, care a supravieuit pn n anii 1970, nu a grbit dezvoltarea memoriilor RAM semiconductoare, dar a impus denumirea acestei clase de circuite. Primul circuit integrat care coninea o memorie RAM static de 64 bii a fost realizat de firma Intel n 1969. Un an mai trziu aprea i memoria RAM dinamic de 1 kbit. n anul 1975, un inginer de la firma Signetics a avut ideea de a construi un circuit integrat care s foloseasc dou plane programabile pentru implementarea de ctre utilizatori a sistemelor de funcii binare. Astfel a aprut prima matrice logic programabil sau circuit PLA (Programmable Logic Array). PLA-urile sunt dispozitive combinaionale cu dou niveluri I SAU, care pot fi programate pentru a implementa orice sistem de funcii binare scrise n form disjunctiv, n limitele dimensiunilor circuitului, date de numrul de intrri/ieiri i de numrul de termeni produs. Circuitul conine dou matrice de conexiuni programabile de ctre utilizator, n funcie de schema logic pe care dorete s o implementeze. Conexiunile pot fi fuzibile (pelicule subiri de

1.2 Apariia structurilor programabile

Cr-Ni care se ntrerup la trecerea unui curent de programare de civa zeci de mA) dac circuitul este realizat n tehnologie TTL, sau pot fi celule de memorie nevolatil dac se utilizeaz tehnologia CMOS. Un caz particular de PLA, i cel mai utilizat circuit din aceast categorie, este circuitul PAL (Programmable Array Logic). Construit n anul 1978, acest circuit se deosebete de PLA prin faptul c matricea de pori SAU este fix. n plus, prin introducerea unor inversoare cu trei stri la ieiri, ieirile nefolosite pot fi configurate ca intrri, avnd astfel posibilitatea de a mri numrul de intrri. Denumirea PAL este marc nregistrat a companiei AMD (Advanced Micro Devices, Inc.). Alte circuite programabile care pot implementa o arhitectur de tip PLA sunt dispozitivele logice matriceale generice sau circuitele GAL (Generic Array Logic). Primul circuit GAL a fost construit n anul 1985. Prezena unei pori suplimentare SAUEXCLUSIV pe fiecare ieire permite comanda polaritii ieirilor. Cele mai multe dintre circuitele GAL conin i bistabile de tip D, care permit implementarea sistemelor secveniale. n plus, aceste circuite mai pot fi i terse i reprogramate folosind numai semnale electrice. Denumirea GAL este marc nregistrat a companiei Lattice Semiconductor, Inc. Toate aceste circuite programabile discutate pn acum sunt studiate n cadrul unui curs introductiv de circuite digitale i ele nu fac obiectul acestei cri. n cele ce urmeaz ne vom ocupa numai de structurile programabile complexe aprute dup anul 1985. Dezvoltarea lor s-a fcut urmrind dou direcii principale: dispozitivele logice programabile complexe sau circuitele CPLD (Complex Programmable Logic Devices) i matricele de pori programabile n cmpul utilizatorului sau circuitele FPGA (Field Programmable Gate Arrays). Un circuit CPLD este format dintr-un ansamblu de circuite programabile de tip PLA (numite de unii autori i PLD Programmable Logic Devices), realizate pe acelai cip i nsoite de o structur programabil complex de interconectare. Aceast arhitectur este superioar fa de extinderea arhitecturii vechi propuse pentru circuitele PLA. Simpla cretere a numrului de intrri/ieiri sau a numrului de blocuri logice din structur, fr a umbla la modul de interconectare, ar duce la o cretere inutil a suprafeei cipului i la o cretere dramatic a timpului de propagare. Circuitele FPGA ofer un grad sporit de integrare i sunt cele mai rspndite circuite programabile. Succesul acestor circuite este legat de arhitectur i tehnologie. Exist trei elemente constructive de baz care se repet ori de cte ori este necesar n structur: blocul logic, blocul de intrare-ieire, i resursele de interconectare ntre aceste blocuri, de fapt matrici de comutatoare programabile, numite i switchbox-uri. Blocul logic poate conine sute sau mii de pori logice i poate fi configurat diferit n funcie de aplicaie. Realizarea interconexiunilor, numit i rutare, permite o utilizare superioar a resurselor logice fa de structurile CPLD. O variant tipic de rutare const din segmente de legtur de lungime variabil, interconectabile prin switch-uri programabile electric. Alegerea numrului optim de segmente pentru legturi este un procedeu dificil, care presupune o procedur de optimizare. Alegnd un numr nepotrivit de segmente de legtur, este posibil s nu putem utiliza toate blocurile logice disponibile, ceea ce duce la irosirea inutil a resurselor oferite de circuit. Pe de alt parte, o lungime necorespunztoare a lor poate afecta performanele de frecven ale structurii ([Gontean, 1997], [Wakerly, 2002]).

1. INTRODUCERE

1.3 Comparaie ntre structurile PLD i ASIC


Clasificarea acceptat la ora actual n majoritatea lucrrilor include n categoria structurilor PLD (Programmable Logic Devices) circuitele programabile de mic complexitate, cum ar fi structurile PLA, PAL, GAL, precum i cele mai complexe, cum ar fi structurile CPLD. Cel puin n acest subcapitol, acceptm o extensie a denumirii de structuri PLD i pentru structurile FPGA. nc de la nceput, circuitele digitale neprogramabile s-au mprit n dou clase: circuite integrate de uz general, cum ar fi porile logice, bistabilele, registrele, numrtoarele etc., care erau folosite de proiectani pentru realizarea unor sisteme digitale complexe (care ajungeau cteodat la sute sau mii de circuite integrate), i circuite integrate complexe orientate pe aplicaie, cum ar fi microprocesoare, procesoare specializate, ceasuri electronice, calculatoare de buzunar etc., circuite numite i ASIC (Application Specific Integrated Circuit). Unii autori includ n clasa circuitelor ASIC i aa numitele circuite semidedicate alctuite din arii de pori logice sau din blocuri logice standard construite pe baza unor biblioteci de funcii. Proiectantul circuitului folosete un software CAD (Computer Aided Design) pentru interconectarea acestor blocuri, software care genereaz mtile necesare pentru fabricarea circuitului. Indiferent dac este vorba despre un ASIC dedicat (numit i full-custom) sau un ASIC semidedicat, cheltuielile sunt foarte mari, deoarece trebuie proiectat un set complet de mti. Eficiena acestor structuri depinde de seria de fabricaie, iar durata proiectrii lor poate depi chiar i un an. Structurile PLD conin blocuri logice care se interconecteaz prin programarea conexiunilor, fr a fi necesar proiectarea seturilor de mti. Eficiena economic este maxim, mai ales pentru serii mici de fabricaie, iar durata proiectrii se poate reduce la nivelul orelor sau cel mult al zilelor. Exist i alte particulariti care impun stiluri diferite de proiectare pentru cele dou clase de circuite. ntr-o structur ASIC se ncearc optimizarea circuitului proiectat prin minimizarea numrului de pori logice i reducerea numrului de niveluri logice pentru reducerea timpului de propagare. ntr-o structur FPGA exist pori programabile cu mai multe intrri care pot implementa orice funcie binar. Astfel, o reea de pori logice cu mai multe niveluri n ASIC se poate nlocui cu un singur bloc logic programabil n FPGA. Datorit ntrzierilor prin pori, o structur ASIC poate fi asincron, n timp ce n structurile FPGA orice bucl include un registru, pentru c ntrzierile sunt greu de controlat datorit interconectrii automate a blocurilor componente. Structurile ASIC pot avea un numr mare de semnale diferite de ceas, n timp ce la structurile FPGA, numrul semnalelor de ceas este limitat de arhitectura folosit. De obicei n structurile ASIC se folosesc latch-uri pentru memorarea datelor, iar n structurile FPGA se folosesc numai bistabile. n sfrit, un proiectant de structuri ASIC trebuie s fie preocupat i de circuitele de testare intern a lor (BIST Built In Self Test), n timp ce proiectantul de structuri FPGA nu are aceast problem. Cel mult, problematica testrii se poate transfera ctre utilizatorul structurii, care o rezolv n funcie de necesiti. Se estimeaz c n anul 2003, au fost iniiate mai puin de 5000 de proiecte ASIC, comparativ cu un numr de circa 450000 de proiecte FPGA. Iar aceast diferen se accentueaz permanent cu trecerea timpului ([Maxfield, 2004]).

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