arhitecturi reconfigurabile

Download Arhitecturi reconfigurabile

If you can't read please download the document

Upload: paunescu-mihai

Post on 12-Aug-2015

98 views

Category:

Documents


3 download

TRANSCRIPT

UNIVERSITATEA TEHNIC GH. ASACHI IAI FACULTATEA DE AUTOMATIC I CALCULATOARE

Arhitecturi reconfigurabile pentru procesarea digital a semnalelorInteligen artificial- referat -

Bogdan Romanescu

- 2004/2005 -

Abstract. Avansurile tehnologice n domeniul VLSI i al programelor de proiectare au dus la expansiunea aplicaiilor de prelucrare a semnalelor digitale n ultimul deceniu. Dei ASICurile(application-specific integrated circuits) i PDSP-urile(programmable digital signal processors) rmn modalitile de implementare pentru majoritatea aplicaiilor DSP, au aprut noi sisteme bazate pe arhitecturi reconfigurabile. Aceste platforme flexibile, care ofer o mbinare a eficienei hardware-ului i a programabilitii software-ului, sunt n continuu proces de maturizare pe msur ce capacitatea dispozitivelor programabile urmeaz Legea lui Moore i tehnici de proiectare automatizat devin disponibile. Odat cu evoluia acestor tehnologii, msuri tiinifice i comerciale au fost luate pentru a le optimiza consumul de energie, reduce costul i mri performanele. Aceast lucrare prezint un sumar al direciilor de cercetare i al sistemelor dezvoltate pentru DSP folosind tehnici de reconfigurare. Dei fiecare din implementrile bazate pe PDSP, ASIC sau arhitecturi reconfigurabile ofer avantaje, este de ateptat ca combinaii ale acestor abordri s ofere soluiile optime.

1. Introducere De-a lungul istoriei calculatoarelor, aplicaiile ce tratau procesarea digital a semnalelor(DSP) au mpins limitele puterii de calcul, n special n domeniul aplicaiilor de timp real. n timp ce semnalele procesate variau de la aplicaii media(vorbire, sunete i video), pn la aplicaii specializate ca undele radar sau sonare, cele mai multe calcule realizate de sistemele de procesare a semnalelor aveau aceleai trsturi definitorii. Inevitabila folosire a paralelismului la nivelul datelor prezent n multe aplicaii DSP a fcut din algoritmii DSP candidaii ideali pentru implementarea hardware, n special datorit capabilitilor VLSI n continu expansiune. n ultimul timp, DSP-ului se acord o atenie deosebit datorit cerinelor tot mai ridicate n domeniul multimedia i a comunicaiilor de mare vitez att pe fir ct i wireless. Ca rspuns la aceste cerine, cercetarea n domeniul noilor implementri ale circuitelor aritmetice complexe a fost intensificat. Dac aria de aplicabilitate acoper un spectru larg, parametrii de baz a majoritii operaiilor DSP rmn aceeai: necesitatea de performane n timp real sub constrngerea parametrilor sistemului int i, n majoritatea cazurilor, necesitatea de adaptare la schimbarea seturilor de date i a condiiilor de calcul. n general, scopul performanei ridicate a sistemelor variind de la componente integrate radio de cost redus i pn la sisteme radar dedicate, a dus la dezvoltarea aplicaiilor i chip set-urilor dedicate domeniilor. Dezvoltarea i costurile unei astfel de abordri sunt n general mari, ceea ce conduce la necesitatea unei abordri noi relativ la arhitecturile de calcul care au aceleai trsturi de calcul ca i cele cu funcionalitate fix, dar sunt integrate n pachete ce pot fi customizate. Al doilea scop, cel al adaptabilitii sistemelor, este n general tratat prin folosirea procesoarelor DSP programabile software. Dei aceste platforme ofer o folosire flexibil datorit software-ului adecvat i economiei la nivelul dimensiunilor, dezvoltatorii de aplicaii i compilatoare trebuie s-i adapteze modul de abordare al arhitecturilor funcie de resursele aflate la dispoziie. Aceast flexibilitate este de multe ori obinut n detrimentul performanei i al eficienei consumului de energie. Dup cum se poate observa n Fig. 1, calculatoarele(prin aceasta nelegnd arhitecturile de calcul) reconfigurabile ofer un compromis ntre avantajele performanei sistemelor cu funcionalitate fix i flexibilitatea celor cu substrat programabil software. Ca i ASIC-urile, aceste sisteme sunt reprezentative pentru capacitatea de a implementa circuite specializate direct n 1

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

hardware. Adiional, ca i procesoarele programabile, calculatoarele reconfigurabile conin resurse funcionale ce pot fi uor modificate dup implementarea n cadrul aplicaiei, ca urmare a schimbrii parametrilor i datelor de lucru. Pn n prezent, core-ul elementelor de procesare ale majoritii calculatoarelor reconfigurabile a fost FPGA-ul(field-programmable gate array). Aceste dispozitive de calcul programabile la nivel de bit ofer ample resurse de logic i registre care pot fi adaptate pentru a suporta nivelul ridicat de granularitate a paralelismului multor aplicaii pipeline DSP. Cu capacitile curente depind un milion de pori/dispozitiv, este posibil implementarea unei logici funcionale consistente pe fiecare dispozitiv. Dei sunt potrivite pentru anumite clase de aplicaii, FPGA-urile reprezint doar o posibilitate n cadrul gamei de posibile dispozitive reconfigurabile bazate pe blocuri funcionale. Un numr de alternative reconfigurabile sunt prezentate din punct de vedere academic i comercial.

Figura 1. Implementri DSP Lucrarea trateaz evoluia arhitecturilor reconfigurabile relativ la procesarea digital a semnalelor. Ea include o evaluare istoric a arhitecturilor reprogramabile i mediilor de programare DSP. Se poate observa c pe msur ce tehnologia progreseaz, diversitatea aplicaiilor suportate de aceste arhitecturi, ct i performanelor platformelor bazate pe ele, a sporit semnificativ. Calculatoarele reconfigurabile pentru DSP rmne un domeniu activ de cercetare pe msur ce nevoia de integrare cu tehnologii tradiionale DSP(ca PDSP-urile) crete, iar scopul automatizrii la nivel nalt a compilrii DSP este din ce n ce mai important. 1.1. Definiii Urmtoarele definiii sunt folosite pentru a descrie diferite atribute legate de calculul reconfigurabil: Reconfigurabil sau Adaptiv n contextul calculului reconfigurabil, acest termen indic c funcionarea logic i interconectarea unui sistem de calcul sau dispozitiv poate fi adaptat pentru a se potrivi unei anumite aplicaii prin programare post-fabricaie de ctre utilizator. Run-time(sau Dinamic) Reconfigurabil Funcionalitatea logic a sistemului i/sau interconectivitatea poate fi modificat n timpul aplicaiei. Aceast schimbare poate fi determinat de datele folosite sau poate fi anterior programat. Paralelism de granularitate nalt Funcionalitatea logic i interconectivitatea poate fi programat la nivel de bit. Resurse cuprinznd multiple logici la nivel de bit pot fi combinate pentru a forma uniti funcionale paralele. Specializare - Funcionalitatea logic poate fi adaptat s execute exact operaiile dorite. Un exemplu este sinteza unui filtru hardware cu o valoare constant prestabilit.

2

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

2. Istoria implementrilor DSP 2.1. Opiunile pentru implementarea sistemelor DSP ncepnd din anii 1960, dezvoltarea implementrii DSP a fost decis de 3 factori: 1. paralelismul la nivelul datelor 2. specializarea specific a aplicaiilor 3. flexibilitatea funcional. n general, deciziile proiectrii sistemelor DSP au necesitat un compromis ntre aceste 3 scopuri. Rezultatul a fost o varietate de implementri hardware specializate, mpreun cu instrumentele de dezvoltare corespunztoare, creat pentru DSP, incluznd procesare asociat, procesare bit-serial i procesare sistolic.

Tabelul 1. Comparaie ntre diferite implementri DSP Dup cum se prezint n tabelul 1, diferite metrici de cost au fost concepute pentru a compara diferitele implementri DSP. Performana a fost de cele mai multe ori cea mai critic cerin a sistemelor, n special deoarece sistemele DSP aveau de multe ori constrngeri de timp real. n ultimele 2 decenii, costul a devenit n schimb mai semnificativ, datorit migraiei dinspre domeniul militar i tiinific ctre cel low-cost al aplicaiilor consumator. n ultimii 10 ani, consumul energetic a devenit o alt msur important, pe msur ce tehnicile DSP sunt disponibile n sisteme portabile, alimentate de baterii precum telefoanele celulare, CD-playere i laptopuri. n final, flexibilitatea s-a dovedit a fi un element cheie n departajarea sistemelor DSP deoarece permite schimbri ale funcionalitii sistemului n diferite momente ale ciclului de funcionare. Rezultatele acestui compromis ntre costuri au dus la 4 opiuni de implementare, incluznd ASICuri(application specific integrated circuits), PDSP-uri(programmable digital signals processors), microprocesoare de uz general i structuri hardware reconfigurabile. Fiecare implementare prezint o mbinare diferit a celor 4 trsturi: performan, cost, consum i flexibilitate. Pentru majoritatea aplicaiilor DSP specializate, sistemele implementate trebuie s includ unul sau mai multe circuite dedicate aplicaiei pentru a ndeplini constrngerile de performan i consum. Dei ciclii de proiectare ai ASIC-urilor sunt lungi, datorit sintezei automate i a instrumentelor de verificare, acest proces este simplificat. Deoarece majoritatea specificaiilor ASIC-ului sunt realizate la nivel comportamental sau registre-transfer, funcionalitatea i performanele ASIC-urilor sunt mai uor de conceput i verificat. O alt tendin, poate mai important, este folosirea core-urilor pre-definite cu o funcionalitate bine stabilit. Unele din aceste core-uri sunt n fapt PDSP-uri sau microcontrolere RISC, pentru care este necesar scrierea software-ului i stocarea lui pe chip. ASIC-urile au un avantaj important prin aria i consumul lor, iar pentru multe arhitecturi de mari dimensiuni, costul per poart pentru un anumit nivel de performan este mai mic dect cel al FPGA-urilor de mare vitez. Aceste caracteristici sunt extrem de importante pentru operaii influenate de consumul de energie, n special n comunicaii mobile i senzoristic la distan. Din pcate, natura fix a ASIC-urilor le mrginete reconfigurabilitatea. Pentru implementri ce trebuie s se adapteze la schimbarea datelor de intrare i condiiilor de operare, componente programabile software trebuie introduse n sistemul destinaie, reducnd astfel nivelul de paralelism disponibil. n plus, pentru dispozitive cu consum sczut de energie sau implementri de prototipuri, costurile NRE(ale efortului de implementare) pentru ASIC-uri s-ar putea s nu justifice performanele mbuntite obinute. Domeniul de aplicaii ale PDSP-urilor poate fi identificat prin urmrirea dezvoltrii lor liniare. n 1980, Texas Instruments a introdus primul PDSP. Aceste procesoare iniiale erau CISCuri bazate pe pipeline-uri mbuntite cu o serie de faciliti i instruciuni ce suportau operaiile de 3

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

2.2. Domeniul aplicaiilor DSP

n ultimii 30 de ani, spectrul aplicaiilor DSP s-a schimbat considerabil, crend premisele dezvoltrii de noi sisteme reconfigurabile. n momentul de fa, DSP-urile pot fi gsite n interfeele calculator-om precum plci video, plci de sunet i sisteme de recunoatere vocal. Deoarece omul este o component activ a acestor sisteme, specificaiile pentru ele difer de cele de nalt tehnic ca modemuri DSL pentru Broadcom sau chipuri pentru recepie CDMA. O alt aplicaie recent a DSP-urilor o reprezint circuitele de citire ale harddiskurilor i ale unitilor CD/DVD.

4

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

filtrare i de transformare. Una din cele mai importante schimbri aduse de a doua generaie de PDSP-uri a fost adaptarea arhitecturii Harvard, prin separarea bus-ului de instruciuni de cel de date. Aceasta optimizare a dus la reducerea blocajului arhitecturii von Neumann, oferind o cale liber datelor de la memoria local ctre pipeline-ul procesorului. Multe din DSP-urile iniiale permiteau stocarea programelor pe memorie ROM on-chip, i aveau posibilitatea de a accesa memorie extern suplimentar dac acest lucru era necesar. Unle DSP-uri aveau zone ROM destinate coeficienilor, exploatnd astfel natura static a coeficienilor transformrilor i filtrelor. Procesoarele DSP actuale sunt resurse porgramabile care ofer posibilitatea updatrii pe msur ce standardele de procesare se schimb. Paralelismul la PDSP-uri nu e folosit pe scar larg, i const n general n suprapunerea operaiilor de extragere a instruciunilor(fetch), de lucrul cu date i de calcul a adreselor. De asemenea, unele PDSP-uri folosesc seturi modificate de instruciuni pentru anumite domeniii dedidcate. Modurile de adresare sunt standardizate pentru a simplifica implementarea filtrelor i a transformatelor, i logicii de control pentru bucle. Noile DSP-uri hibride conin diferite faciliti de procesare i I/O, incluznd interfee pentru procesare paralel, uniti de programare VLIW, i ci de date flexibile. Pin adugarea memoriilor dedicate on-chip, DSP-urile pot atinge limi mari de band pentru interconectare. Datorit folosirii lor pe scar larg, costurile de producie sunt sczute i interfeele de uz comun pot fi astfel adugate. n ciuda acestor avantaje, DSP-urile au totui o serie de limitri. n general, pentru rezultate optime, aplicaiile trebuie scrise innd cont de resursele DSP-ului. Dei exist sisteme ce realizeaz o compilare de nivel ridicat, n general este dificil s se obin maparea intenionat. n plus, interfaarea cu memoria ar putea fi nepotrivit pentru unele aplicaii, crend o gtuire a transferului de date ctre unitile funcionale. Anii 1990 au adus introducerea DSP-urilor n aplicaiile comerciale. Lupta pentru sectorul de pia al DSP-urilor s-a dus ntre productorii de PDSP-uri, ASIC-uri i dezvoltatorii celor 2 tipuri de procesoare de uz general, microprocesoare desktop i microcontrollere high-end. Procesoarele de uz general, precum Intel Pentium, pot realiza majoritatea prelucrrii semnalelor pentru aplicaii desktop(procesare audio i video), n special din momentul n care procesorul este deja rezident n sistem i are interfee I/O optimizate i soft aferent. Dar aceste procesoare nu sunt o alternativ realist pentru sistemele dedicate datorit costului lor i lipsei de eficien n consumul electric. A doua categorie de procesoare de uz general, microcontrollerele prezentau soluii de implementare direct datorit interfeelor de date i a flexibilitaii deosebite n aplicaii. Un compromis legat de implementarea hardware a DSP-urilor a fost realizat prin conceperea de standarde specifice domeniului att n formatele programabile ct i la ASIC-uri. Datorit volumului mare al unora dintre aplicaii, s-a considerat a fi mai productiv creerea de PDSP-uri specifice fiecrui domeniu de pe pia. Aceasta a dus la disponibilitatea de resurse ieftine ce puteau fi adaptate prin software. Au fost dezvoltate ASIC-uri i pentru funcii mai generale precum decodarea MPEG n care standardele au fost concepute pentru a permite unui numr mare de aplicaii s foloseasc aceleai funcii de baz. Platformele reconfigurabile pentru DSP ofer o soluie intremediar ntre ASIC-uri, PDSPuri i procesoarele de uz general sau dedicate, prin adaptarea reconfigurabilitii i a performanelor funcie de aplicaie. Urmrind necesitatea aplicaiilor DSP actuale, tendinele actuale ale arhitecturilor reconfigurabile sunt explorate.

Produsele consumator de uz curent low-cost i low-power folosesc intens DSP-uri. Multimedia i comunicaiile wireless sunt bazate de asemena pe DSP-uri. Telefoanele celulare, att cele GSM ct i CDMA, sunt susinute de structuri speciale, dei n acest domeniu se remarc tendine spre PSDP-uri. Modemuri pentru DSL, cabluri, LANuri i comunicaii wireless, toate au la baz egalizoare i receptoare adaptabile. Playerele DVD folosesc DSP-urile pentru evitarea interferenei simbolurilor, permind codarea mai multor bii n aceeai arie de disc. n domeniul video, camerele digitale au devenit alternative viabile fa de cele clasice tocmai prin suportul editrii imaginilor i al software-ului ncorporat. Dezvoltarea sistemelor DSP a fost indirect cauzat de creterea produselor electronice de uz curent. Aceste sisteme cuprind staii de comutare pentru infrastructuri celulare, terestre, de satelit sau cablu. Noi aplicaii militare i tiinifice aplicabile n domeniul luptelor(sisteme avansate de arme i detecie), se bazeaz pe implementri DSP robuste, ce trebuie s funcioneze n condiii dificile i beneficiind de resurse limitate. n toate aceste aplicaii, procesarea datelor este considerabil mai sofisticat dect clasicile filtre i transformri care caracterizau DSP-urile n 1960-1970. n general, performanele sunt mai importante datorit creterii ratei datelor i a complexitii algoritmilor. n plus, se pune un mai mare accent pe flexibilitate i diversificarea funcionalitii bazat pe condiiile de operare. Consumul electric i costul sunt de asemenea importante deoarece ele afecteaz costul total al sistemului i performana sa n ansamblu. Cu toate c noi direcii de aplicabilitate a DSP-urilor au fost abordate n ultimii ani, practicabilitatea lor a fost limitat de dominaia PDSP-urilor i de reinerea designerilor de a aborda n cadrul proiectelor bazate pe ASIC-uri metode de design nestandard. Recent ns, datorit noilor programe de design i a folosirii nucleelor proprietar n implementrile DSP, unele din aceste idei noi au nceput s fie adoptate. Ele includ arhitecturi sistolice, aritmetic alternativ (RNS, LNS, serial-digital), optimizarea lungimii cuvintelor, transformri paralele, partiionare memoriei i tehnici de optimizare a consumului. n continuare vom vedea cum aceste tehnici pot uura depirea unor probleme comune la DSP-uri. n multe cazuri, tehnici de baz ale proiectrii ASIC-urilor sau dispozitivelor specifice pot fi refolosite pentru a configura aplicaii ale arhitecturilor reconfigurabile prin evaluarea limitrilor tehnologiilor folosite. 3. Scurt istorie a arhitecturilor reconfigurabile De la introducerea lor la mijlocul anilor 1980, FPGA-urile(field programmable gate arrays) au devenit un subiect central de cercetare i experimentare. Era acestor arhitecturi a fost deschis de introducerea primului FPGA bazat pe SRAM de ctre Xilinx Corporation n 1986. Aceste dispozitive reconfigurabile iniiale oferite de Xilinx i Altera conineau o colecie de blocuri logice programabile de granularitate nalt interconectate prin metalizri i switchuri programabile. Funcionalitatea logic a fiecrui bloc este specificat prin intermediul unei memorii programabile mici, denumit tabel de cutare(lookup table), controlat printr-un numr limitat de intrri(de obicei mai puine de 5) care genereaz o singur ieire boolean. n plus, fiecare bloc conine unul sau mai multe flip-flopuri pentru memorare. Dac primele arhitecturi FPGA aveau un numr mic de blocuri logice(tipic, mai puine de 100), noile dispozitive au ajuns n curnd la capaciti de peste zeci de mii de LUT-uri i coninnd milioane de pori logice. Dup cum se arat n figura 2, perechi LUT-uri de granularitate mare i flip-flopuri sunt frecvent grupate n blocuri interconectate pentru a beneficia de avantajul localizrii spaiale a circuitelor. Interconexiunile ntre blocuri sunt asigurate de o serie de segmente de metalizri prezente n canalele dintre blocuri. Tranzistoare i multiplexoare programabile pot fi folosite pentru a realiza att conectivitatea bloc-segment ct i cea segment-segment.

5

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Figura 2. Un bloc logic Xilinx Vertex. Fiecare bloc logic conine 2 LUT-uri. Interesul n domeniul arhitecturilor reconfigurabile a sporit odfat cu dezvoltarea i maturizarea FPGA-urilor. Acesta a fost influenat de creterea exponenial a capacitii la nivel de poart i al performanei crescute datorit micorrii dimensiunilor pastilei de siliciu i al mbuntirii tehnologiilor de fabricaie. n figura 3 sunt prezentate numrul de pori pentru FPGAuri concepute pe LUT-uri ale companiei Xilinx. Se poate observa c acest nu a respectat legea lui Moore de-a lungul ultimului deceniu. Aceast creterea n capacitate a fcut posibil implementarea ntr-un singur chip FPGA a filtelor i a procesoarelor RISC. De-a lungul acestui interval, performana sistemelor a crescut i ea exponenial. Dac la mijlocul anilor 1980, o performan de 2-5Mhz era considerat acceptabil, astzi FPGA-urile ating viteze de pn la 60 MHz i superioare. Datorit naturii programabile a acestor dispozitive, penalizarea n performan fa de implementrile directe n ASIC este n general o constant ntre 5 i 10. La puin timp dup intrarea pe piaa comercial a FPGA-urilor, proiectanii au abordat noi metode de a introduce tehnici de programare n cadrul sistemelor. Evoluia aceast a fost semnificativ influenat de 2 proiecte: Splash II i PAM(Programmable Active Memories). Fiecare din aceste 2 proiecte a abrodat probleme fundamentale legate de mediul de programare, interfaa cu utilizatorul i managamentul configuraiei prin folosirea modelelor pre-existente n zone cu scop dedicat i al comunicrii cu logica reconfigurabil.

Figura 3. Creterea capacitii n pori a FPGA-urilor

Splash II este un calculator paralel multi-FPGA care folosete comunicarea sistolic pentru realizarea transferului de date ntre FPGA-uri. Fiecare plac a sistemului Splash II conine 16 6

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

4. Istoria arhitecturilor reconfigurabile i a DSP-urilor

Odat cu apariia primelor sisteme reconfigurabile, aplicaiile DSP au servit ca teste n dezvoltarea acestora i a software-ului aferent. Aici sunt incluse o varietatea de abordri de proiectri DSP ce au fost mapate pe astfel de structuri. Este uzual ca proiectarea unui sistem complet DSP s fie accentuat prin interfeele I/O i memorii, prin compilarea la nivel nalt i 7

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

procesoare FPGA Xilinx XC4000, fiecare cu SRAM asociat. Spre deosebire de predecesorii si multi-FPGA, Splash era limitat la comuncaii sistolice ntre vecini i avea o reea de comunicaie pentru transferul de date multi-hop i broadcast. Dezvoltarea aplicaiilor software implic descrierea VHDL a circuitelor pentru fiecare procesor sistolic. Acest proces trebuie s in cont de constrngerile de performan i de arie ale FPGA-uilor folosite. Dup procesul de creare al procesoarelor, software-ul trebuie s asigure sincronizarea comunicaiei la nivelul ntregului sistem. Sistemul nu este reconfigurabil dinamic n timpul operaiilor. Pentru aplicaii cu caracteristici SIMD, a fost creat un compilator pentru automatizarea procesului de partiionare i sincronizare a interfeelor cu SRAM-urile locale. Numeroase aplicaii DSP au fost mapate pe Splash II, ele incluznd i algoritmi audio i video. Aceste aplicaii sunt descrise n capitolul 4. Sistemele Programmable Active Memory DECPeRLe-1 erau compuse din procesoare FPGA aranjate n reele bidimensionale avnd memorii aliniate de-a lungul perimetrului matricii. PAMurile erau destinate crerii aparanei unei memorii funcionale pentru microprocesorul gazd, iar acest lucru reiese i din modul de programare al lor. Astfel, ele puteau fi accesate ca i memorii prin intermediul unui FPGA de interfaare, valorile scrise fiind considerate intrri, iar cele citite, ca rezultate. Matricea PAM i succesorul ei, Pamette, sunt conectate cu staia gazd prin intermediul unui bus special. Un aspect fundamental al arhitecturilor reconfigurabile este capacitatea de a-i reconfigura funcionabilitate ca rspuns la schimbarea condiiilor de lucru i a datelor prelucrate. Dac FPGAurile bazate pe SRAM aveau rate sczute de reconfigurare de ordinul milisecundelor, arhitecturile actuale permi reconfigurarea n timpul prelucrrii. FPGA-uri dinamic reconfigurabile (DPGA) conin conexiuni multiple i logic de configurare pentru fiecare locaie programabil a dispozitivului. Aceste arhitecturi sunt concepute pentru a realiza reconfigurarea n cteva perioade de ceas de ordinul nanosecundelor. Pentru a promova reconfigurabilitatea la un pre sczut, au fost introduse familiile de FPGA-uri care permit o reconfigurare parial din resurse de memorie externe chip-ului. Problema ntlnit n conceperea acestor arhitecturi o reprezint dezvoltarea compilatorului care s realizeze partiionarea i planificarea ordinii n care calculele se vor efectua i a circuitelor ce trebuie modificate. Alte abordri software includ definirea de subrutine hardware i reconfigurarea dinamic a setului de instruciuni. Cu toate acestea, dezvoltarea tehnicilor de compilare pentru aceste arhitecturi este de-abia la nceput. Procesul de compilare este ngreunat de ctre structura granular nalt a FPGA-ului i de dispersarea resurselor logice ntre diferite dispozitive cu numr limitat de pini aflate pe o singur platform de calcul. n special, deoarece majoritatea calculatoarelor reconfigurabile conin multiple dispozitive reconfigurabile, modalitile de partiionare ale arhitecturii reprezint un aspect important pentru toate sistemele de compilare. Multe sisteme de compilare au urmrit tradiionalul curs dat de multiple dispozitive ASIC, implicnd partiionarea constrns de numrul de pini i sinteza individual folosind compilarea RTL. Pentru a depi constrngerile legate de pini i a folosi la maxim resursele logice, a fost nevoie ori de o interconectare intern excesiv ori de creterea resurselor I/O. De exemplu, alocarea funcional poate fi fcut innd cont de resursele logice rmase i de interconectrile libere disponibile. Apoi, o programare la nivel funcional i de comunicaie este realizat pentru a utiliza la maxim resursele rmase. De asemenea, comunicarea cu memoria este un parametru crucial, deoarece comunicarea cu memoria este mai degrab o resurs crucial fa de conectarea inter-FPGA.

aspecte de timp real, mai degrab dect prin raportare la performanele individuale ale circuitului. Din acest motiv, un mare numr de implementri FPGA ale fuciilor DSP clasice precum filtrarea i transformrile ce nu erau implementate direct n hardware-ul sistemului, au fost omise. 4.1 Implementri aritmetice cu FPGA La puin timp dup introducerea la mijlocul anilor 1980 a FPGA-urilor, s-a creat un interes deosebit n folosirea acestor sisteme pentru DPS, n special pentru filtrarea digital ce poate folosi avantajul unor constante dedicate implementate n hardware. Deoarece majoritatea abordrilor legate de filtrare presupun folosirea nmulirii, atenia s-a concentrat n implementri eficiente att n virgul fix, ct i mobil. Multe din implementrile iniiale pe FPGA ale nmulitoarelor foloseau structuri adaptate dup cele din nceputurile LSI i reflectau restriciile de arie din primele dispozitive FPGA. Pe msur ce capacitaile FPGA-urilor au crescut, tipurile nmulitoarelor s-au diversificat.

Figura 4. Sumator i nmulitor bit-serial Din momentul introducerii FPGA-urilor, aritmetica bit-serial a fost folosit intens pentru realizarea nmulirilor. Dup cum se arat n figura 4, multiplicarea bit-serial este implementat folosind o matrice liniar sistolic, potrivit pentru granularitatea ridicat a FPGA-ului. 2 valori sunt intrri n nmulitor, incluznd o valoare paralel n care toi biii sunt introdui simultan i una secvenial n care biii sunt introdui serial. n general, o rat de eantionare a datelor de o valoare la fiecare M cicli de ceas poate fi suportat, unde M este lungimea cuvntului de intrare. Fiecare celul a matricii sistolice este implementat folosind unul pn la patru blocuri similare celui prezentat n figura 2. Abordrile bit-seriale au avantajul c necesitile de comunicaie sunt independente de lungimea cuvintelor. Ca urmare, FPGA-urile de capacitate sczut le pot folosi. Datorit naturii lor pipeline, nmulitoarele bit-seriale implemenatte n FPGA au un raport arie-timp excelent. Multe din aceste structuri bit-seriale sunt folosite n filtrarea impulsurilor finite. Datorit dublei funcionaliti a tabelelor lookup ca i memorii, aritmetica distribuit(AD) a fost i ea o implementare pentru FPGA-urile bazate pe LUT-uri. Deoarece este posibil gruparea mai multor LUT-uri mpreun ntr-o memorie mai mare, LUT-uri mari pentru AD pot fi uor create. n general, artimetica distribuit necesit includerea unei constante fixe de intrare n hardware, fcnd astfel posibil pre-calcularea eficient a tuturor ieirilor posibile. Un exemplu de astfel de multiplicator distribuit este prezentat n figura 5. Astfel, un sumator rapid poate fi folosit pentru sumarea produselor pariale obinute din urma citirii. n unele cazuri, va fi util ca LUT-urile s fie implementate ca RAM astfel nct noile constante s poat fi scrise n timpul execuiei programului.

8

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Figura 5. nmulitor distribuit n general, multiplicatoarele paralele implementate n FPGA-uri bazate pe LUT-uri au o vitez de 6x fa de cele bit-seriale, n detrimentul unei penalizri de arie de 2.5x. Implementri specifice ale nmulitoarelor paralele includ implementri fr transport i pipeline paralel. Pe msur ce dezvoltarea FPGA-urilor s-a intensificat, s-a acordat un interes deosebit acurateii calculelor efectuate n FPGA, ndeosebi calculelor n aritmetica virgulei mobile. n general, aceste operaii sunt dificil de implementat n FPGA datorit complexitii implementrii, dar i necesarului mare de resurse hardware. Pentru aplicaii necesitnd precizie sporit, virgula mobil este o necesitate. n [2] s-a ncercat realizarea unei prime abordri n FPGA care s respecte standardul IEEE754 pentru adunare i nmulire. Aria i performanele au fost comparate pentru diferite implementri ca shift-i-adun, transport-salvare i multiplicatoare combinaionale. Un studiu asemntor a fost realizat n [3] care folosea sumatoare/scztoare, multiplicatoare i mpritoare de 18 bii n virgul mobil n filtre 2D FFT i filtre sistolice FIR implementate pe structuri Spalsh II, pentru a evita depirile i mprumuturile din virgula mobil. Acest studiu a fost extins la 32 bii pentru multiplicatoare bazate pe sumatoare bit-paralele i multiplicatoare seriale. 4.2. Implementri reconfigurabile ale sistemelor DSP Majoritatea studiilor recente n structuri reconfigurabile s-a axat pe tehnici avansate precum reconfigurabilitatea dinamic i arhitecturi dedicate, n contrast cu studiile de pn acum centrate pe folosirea efectiv a paralelismului i specializri aplicaiilor . n general, un mare numr de aplicaii DSP au fost implementate pe arhitecturi reconfigurabile coninnd unul sau mai multe FPGA-uri. Aceste aplicaii reprezint varii domenii i reprezint puncte de plecare n cercetrile viitoare n domeniu. Procesarea imaginilor. Structura pipeline i granularitatea ridicat a hardware-ului reconfigurabil este ndeosebi util n procesarea imaginilor. Procesarea imaginilor n timp real necesit ci de date specializate i pipeline-uri ce pot fi implementate n structuri FPGA. n [4] i [5] sunt descrise astfel de rutine de procesare a imaginilor implementate pe o structura Splash II. Aplicaii ca compresia imaginilor bazat pe piramida Gauss, filtrarea imaginilor cu transformate 1D i 2D i conversia imaginilor folosind operaii DFT sunt abordate. Aceste studii au fost extrinse pentru a permite implementarea 2D DCT pe platforma Splash II. Construcia distribuit a acestui sistem cu numeroase porturi I/O s-a dovedit a fi deosebit de util n obinerea ratelor de transfer mari. Datorit eficienei n implementarea sistolic a algoritmilor ce necesit operaii repetate cu date shiftate n matrici liniare, imaginile pot fi rapid propagate prin pipeline-ul sistemului. Aplicaiile de procesare 9

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

sunt implementate ca blocuri sistolice, cu fiecare FPGA lucrnd ca procesor sistolic i cu grupuri de FPGA-uri realiznd sarcini comune. i alte platforme reconfigurabile sunt folosite pentru prelucrarea imaginilor. n [6], o versiune comercial a PAM, avnd la baz turbo-canalul Pamette, este interfaat cu o camer CCD i un filtru polarizant cu cristale lichide pentru a realiza o polarimetrie solar. Aplicaia este sincronizat cu software-ul de pe staia Alpha. n [7], un sistem multi-FPGA este folosit pentru procesarea vizualizrii obiectelor 3D prin proiecia razelor luminoase. Aceste implementri au caracteristici favorabile n comparaie cu arhitecturile clasice bazate pe sistemle microprocesor. n [8] este descris un sistem n care un DCT bidimensional este implementat folosind un singur FPGA ataat unui bus de date conectat la o cartel de procesare. Aceast implementare folosete aritmetic distribuit i este iniial programat n VHDL i apoi compilat folosind sinteza RTL. n [9] este prezentat o aplicaie cu FPGA bazat pe busul PCI cu convoluie 1D i 2D. n final, n [10] este descris un sistem cu un singur FPGA ce realizeaz interpolarea imaginilor. Acest sistem folosete n principal aritmetica bit-serial i exploateaz reconfigurabilitatea dinamic pentru a inter-schimba poriuni de calcul localizate n hardware-ul reconfigurabil. Fiecare operaie de calcul are aceeai structur operaional, deci timpul de reconfigurare este minim. Procesarea semnalelor video. Ca i procesarea imaginilor, aceasta necesit o lrgime de band mare i capacitate de procesare a datelor obinute de la echipamentul video analog. Pentru a ndeplini aceste cerine, platformele reconfigurabile au fost special modificate. Sistemul PAM a fost prima platform folosit n aplicaii video. Un sistem PAM programat pentru a realiza nregistrri stereo a fost folosit n aplicaii necesitnd hri 3D ale suprafeelor ca n cazul explorrilor planetare. Un algortim de identificare stereo a fost implementat i s-a dovedit a fi mult mai rapid dect abordrile bazate pe programare DSP. Aceast abordare folosea reconfigurabilitatea dinamic prin reconfigurarea hardware ntre 3 taskuri n timpul rulrii. O aplicaie interesant a FPGA-urilor n computingul video este descris n [11]. O trasformat stereo este implementat pe 16 FPGA-uri prin alinierea imaginilor mpreun pentru a determina adncimea ntre imagini. Linii de date scanate sunt preluate din memoriile adiacente i preluate de FPGA pentru comparri. Pentru ilustrarea avantajelor unui sistem video bazat pe FPGA, n [12] este descris o platform avnd la baz un transputer T805 cuplat cu un FPGA pentru a realiza urmrirea obiectelor. Un codificator video FPGA, reconfigurabil dinamic ntre 3 subfuncii(Estimare Micrii, DCT i Quantizare), valorific reconfigurabilitatea funciilor, fa de mutarea datelor prezente n hardware. Procesarea vorbirii i audio. Dac procesarea audio necesit o lime de band mai mic dect cea video i a imaginilor, aplicaiile audio pot beneficia de specializarea cii de date i a pipeline-ului. De exemplu, n [13], un sintetizator de sunet ce produce sunete de pn la 44.1kHz(256 voci diferite) este implementat folosind un sistem PAM multi-FPGA. Fiind iniial proiectat pentru sinteza aditiv bazat pe LUT-uri, aceast implementare include faciliti pentru a permite sinteza modulaiei n frecven i/sau distorsiuni neliniare. Implemenatrea fizic a PAM ca sistem de procesare de sine-stttor a facilitat interfaarea cu casetofoane i amplificatoare audio. Sistemul s-a dovedit cu o mrime mai performant dect cele de nalt rezoluie bazate pe DSP. Alte proiecte de dimensiuni mai mici au adus de asemena contribuii n acest domeniu. n [14] este descris o metodologie de a realiza procesarea audio folosind un FPGA dinamicreconfigurabil. Producerea ecoului audio este facilitat de schimbarea dinamic a coeficienilor filtrelor i a parametrilor dintr-o memorie SRAM. Dispozitive auxiliare DSP sunt folosite pentru generarea acestor coeficieni. n [15] este descris un ingenios un corelator ncruciat pentru astronomie radio. Acest sitem atinge rate de pn la 250 MHz n cadrul FPGA prin pipeline-izarea intens a fiecrui calcul. Pentru a realiza procesarea vorbirii, o platform multi-FPGA, Tabula Rasa[16], a fost programat pentru a realiza cutri Markov ale aspectelor vorbirii. Acest sitem este ndeosebi interesant deoarece permite partiionarea comportamental i coninea un mediu integrat pentru specificaii, sintez, simulare i evaluare a fazelor de proiectare. 10

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Recunoaterea obiectelor. Un alt aspect important al aplicaiilor DSP aplicat pe platforme Splash II este recunoaterea obiectelor[17]. Pentru aceasta, imaginile sunt separate n coloane i comparate cu templateuri pre-calculate stocate ntr-o memorie local mpreun cu datele video din pipeline. Prin intermediul comunicaiei inter-vecini, pixelii parcuri sunt comparai cu template-urile stocate sub form de sume pariale. Dup ce o imagine este spart n buci, sistemul Splash II realizeaz o detecie de nivel 2 prin identificarea seciunilor de imagine ce corespund obiectelor din templateuri. n general, folosirea FPGA-urilor ofer o ans unic de a adapta rapid recunoaterea obiectelor la noi algoritmi, lucru imposibil cu ASIC-uri. Pentru a obine performane ridicate, template-urile sunt adaptate la detaliile tehnologiei folosite. Codificarea informaiilor. n sistemele de comunicaie moderne, raportul semnal-zgomot face din codarea datelor un aspect important al comunicaiei. Drept urmare, codarea convoluional poate fi folosit pentru a mbunti acest raport innd cont de restrngerile asupra lungimii codificrii fr a afect consumul de putere. Una din primele aplicaii ale arhitecturilor reconfigurabile n comunicaii a implicat proiectul PAM[18]. Un sistem PAM era folosit pentru a urmri cele 214 stri posibile ale unui codificator Viterbi, permind calculul a 4 stri ntr-o perioad de clock. Flexibilitatea sistemului fcea posibil evaluarea rapid a noilor algoritmi de codare. Un decodificator Viterbi a fost de asemena creat i implementat folosind 36 FPGA-uri, fiind capabil de rate de decodificare de pn la 1Mbit/s. 4.3. Tendine ale arhitecturilor reconfigurabile i compilatoarelor DSP n ultimul deceniu, majoritatea sistemelor destinate DSP-ului au avut la baza FPGA-uri i au fost programate folosind RTL i limbaje structurale de descriere hardware. Dac aceste metodologii au fost suficiente n faza iniial a prototipizrii, arhitecturi i limbaje de programare mai evoluate sunt necesare n viitor. Ele sunt n primul rnd necesare pentru a susine reconfigurabilitatea dinamic i compilarea la nivel nalt. Tendine arhitecturale. Majoritatea arhitecturilor comerciale FPGA sunt optimizate pentru o comportare eficient ntr-o gam larg de aplicaii. Totui, n ultima vreme, ele s-au schimbat ctre anumite domenii specifice. Arhitecturi specializate FPGA pentru DSP. Diferite arhitecturi FPGA dedicate DSP au fost propuse n ultimii 10 ani. n [19], o arhitectura programabil de nalt granularitae folosete o celul logic dedicat bazat pe LUT. Celula este optimizat pentru a realiza eficient adunri i multiplicri prin includerea porilor XOR n cadrul blocvurilor logice LUT. n plus, dimensiunile conexiunile ntre celule sunt dedicate pentru a putea fi folosite att local ct i global. n [20], o matrice de operare DSP special este descis. Aceasta arhitectur conine o matrice liniar de sumatoare i shiftere conectate la un bus programabil i implementeaz eficient filtre FIR. Celula de baz a LUT-urilor este mrit pentru a incorpora flip-flopuri i multiplexoare adiionale. Aceast combinaie permite comunicaii mai strnse inter-blocuri ce sunt cerute n procesare bit-serial DSP. Routarea extern nu a fost crescut datorit conectivitii limitate cerute de operaiile bitseriale. Dac LUT-urile cu granularitate nalt sunt eficiente pentru calculele la nivel de bit, multe aplicaii DSP beneficiaz de pe urma operaiilor artimetice modulare. Aceasta a dus la un interes sporit pentru arhitecturi reconfigrabile cu granularitate la nivel de bloc funcional. Un asemena dispozitiv, Paddi, este o arhitectur paralel optimizat DSPcrae include 8 uniti ALU. Ca parte a sistemului, o adres de instruiune global este distribuit tutror procesoarelor i instruciunile sunt extrase din memoriile locale. Aceasta organizare permite lime sporit de band pentru instruciuni i I/O. Cile de comunicaie ntre procesoare sunt controlate prin intermediul unui switch i sunt schimbabile la fiecare ciclu.

11

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

Arhitectura ReMarc, destinat aplicaiilor multimedia, a fost conceput pentru a realiza calcule SIMD cu un singur cuvnt de control distribuit tuturor procesoarelor. O matrice bidimensional de procesoare pe 16 bii este controlat centralizat de un secveniator de instruciuni SIMD. Comunicarea ntre procese are loc prin conexiunile inter-vecin sau prin bus-urile verticale sau orizontale. Dac arhitecturile cu granularitate la nivel de bloc orhanizate n matrici bidimensionale ofer flexibilitate n interconectare, de multe ori aplicaiile de procesare a semnalelor, ca filtrarea, pot fi realizate cu un pipeline liniar. De exemplu, PipeRench este o arhitectur liniar pipeline care const ntr-o secven de benzi computaionale, fiecare coninnd LUT-uri i registre de date. Natura sa modular face imediat reconfigurabilitatea dinamic la nivel de band. Un pipeline de control poate fi folosit pentru controlul calculelor n paralel cu cel de date. Compilatoare pentru arhitecturi DSP reconfigurabile. Multe sisteme de compilare de nivel nalt pentru algoritmi DSP au fost parial dezvoltate, puine sisteme complete de sintez au fost finalizate. n [21], este descris un astfel de sistem care realizeaz sinteza dintr-un limbaj comportamental descriptiv. Structurile DSP sunt reprezentate ca un grad de fluen, iar procesul de sintez e orientat prin introducerea unor parametri utilizator n termeni de minimul i maximul planificrii execuiei. n [22] este conceput un sistem care concertete reprezentarea ANSI C a filtrelor i operaiilor FFT n circuite bit-seriale ce pot fi mapate ntr-un FPGA. De asemenea, sunt prezentate un compilator, debugger i linker pentru achiziia de date DSP. Ele folosesc un model de procese comunicante pentru a specifica calculele i comunicaile ntr-un sistem multi-FPGA funcionnd ca i osciloscop digital. Multe din proiectele recente DSP necesit controlul reconfigurabilitii dinamice att n timpul compilrii, ct i al funcionrii. Astfel, analiza n faza de compilare poate ajuta reconfigurabilitatea n timpul funcionrii. Timpii de reconfigurare sunt determinai static i compilatorul calculeaz doar schimbrile minime ce trebuie fcute n diferite momente ale execuiei. Aceti algoritmi folosii pot aduce i mbuntiri la nivelul consumului de energie, iar zonele nefolosite pot fi folosite ca elemente de memorare sau calcul funcie de necesiti. Dei acum integrarea DSP i a arhitecturilor reconfigurabile se realizeaz la nivel de chip, au fost realizate i cteva sisteme de plci. GigaOps a produs prima plac DSP i FPGA n 1994, ea coninnd un PDSP Analog Devices 2101, dou Xilinx XC4010, 256KB SRAM i 4MB DRAM. Acest sistem interfaabil PC a fost folosit n procesarea imaginilor. O alt plac DSP/FPGA este Arix-C67 realizat de MiroTech Corporation. Ea incorporeaz un FPGA Xilinx Virtex i un DSP TMS320C6701. n plus fa de interfeele cu PC-ul, ea conine un sistem de operare i compilator propriu.

5. Viitorul arhitecturilor reconfigurabile i al DSP-urilor

Viitorul arhitecturilor reconfigurabile pentru sistemele DSP va fi n continuare modelat de aceleai tendine ca n prezent: integrarea sitemelor, reconfigurare dinamic i compilare la nivel nalt. Aplicaiile DSP necesit n continuare putere de calcul, memorie i flexibilitate. n mod tradiional, DSP nu a implicat reconfigurarea n momentul funcionrii, dar acum acest lucru s-a schimbat. Ea este necesar pentru noile aplicaii ce necesit algoritmi sofisticai i adaptivi. Aplicaiile care influeneaz dezvoltarea acestor sisteme in de comunicaii wireless, staii de recepie i satelii, procesarea semnalelor multimedia, sisteme de comunicaie ncorporate n dispozitive electronice i senzoristic la distan pentru aplicaii militare i de mediu. Tendina primordial care afecteaz sistemele DSP actuale este legea lui Moore, rezultnd n mbuntirea exponenial n capacitatea de integrare i viteza circuitelor. Aceast tendin va fi valabil pn n jurul anului 2015. Ca urmare, este nevoie de noi abordri asupra vitezei conexiunilor, consumului ridicat de energie i tolerana la defecte la nivel de chip. Diverse 12

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

arhitecturi au fost propuse pentru a permite sistemelor DSP s valorifice resursele VLSI existente. Toate aceste arhitecturi sunt caracterizate de noi resurse i abordri noi asupra interconectrii. Termenul de system-on-a-chip este n prezent folosit pentru a descrie nivelul de complexitate i de diversitate disponibil cu noile tehnologii VLSI. Figurile 6 i 7 prezint diferite caracteristici ale viitoarelor sisteme DSP reconfigurabile.

Figura 6. Modelul arhitectural pentru dispozitivele Pleiades

Figura 7. Reea de interconectare distribuit Ele nu sunt mutual exclusive i unele combinaii ale acestor idei vor fi folosite n aplicaii ca comunicaiile wireless i platforme multimedia. Figura 6, luat din [23], prezint o arhitectur bazat pe o matrice de nuclee DSP, un procesor RISC, memorie SRAM de mari dimensiuni, un bloc reconfigurabil FPGA i o reea de interconectarea reconfigurabil. Eforturile de a condensa DSP-uri, FPGA-uri i memorii ntr-un singur substrat s-au materializat n proiectul Pleiades. O alternativ adaptiv cu o interconectare distribuit e prezentat n figura 7. Aceasta prezint o arhitectur de interconectare simetric mapat pe diferite resurse. Fiecare pies de comunicare conine un switch care permite configurarea static a comunicrii ntre blocurile adiacente. Informaiile legate de comunicare(per ciclu) sunt memorate n memoria SRAM a switchurilor. Complexitatea n continu creterea a sistemelor VLSI pune probleme n calea realizrii i a verificrii conceptelor. Au fost dezvoltate compilatoare care permit dezvoltarea software-ului la un nivel nalt permind refolosirea structurilor proiectate. Este de presupus i un avans n cadrul multicompilatoarelor pentru a partiiona designul, codul generat i a sincroniza interfeele n cadrul sistemelor heterogene. Compilatoare VLIW sunt necesare pentru a realiza paralelismul instruciunilor necesar pentru reducerea timpului suplimentar necesar extragerii paralele n timpul funcionrii. Un alt aspect critic al proiectrii aplicaiilor DSP este integrarea componentelor refolosibile sau a core-urilor. Aceste nuclee variaz de la blocuri generice precum RAM sau microprocesoare RISC pn la blocuri specifice ca decodoare MPEG i interfee de bus PCI. Tendinele de dezvoltare a nucleelor vor evolua pentru a permite interacionarea att n faza de proiectare, ct i n cea de execuie. Softwareul de sintez va fi conceput pentru o mbuntire a proiectrii i obinerea 13

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

maximului de performane de la nucleele DSP, n msura folosirii de metode clasice de sintez pentru restul circuitelor. Consumul de energie n sistemele DSP va crete n importan datorit expansiunii substratului de silicon i al aplicaiilor lui n sisteme alimentate de baterii sau limitate ca i consum. Folosirea reconfigurrii dinamice s-a dovedit a fi o abordare care poate duce la adaptarea consumului sistemului la schimbrile de mediu i de ncrcare a sistemului. Nucleele low-power vor permite sistemelor s fie asamblate fr optimizri suplimentare legate de consum la nivelul circuitelor. Procesoare dedicate domeniilor i transformri n bucl au fost propuse ca tehnici pentru evitarea ineficienei n consum a arhitecturilor von Neumann. Reconfigurabilitatea sistemelor DSP este decis de cerine diferite: performan, consum, fiabilitate, cost i timp de dezvoltare. Diferite aplicaii vor necesita reconfigurare la diferite nivele de granularitate. Sistemele DSP care necesit reconfigurri rapide ar putea exploata regularitile din cadrul algoritmilor pentru a reduce timpul de reconfigurare i consumul de energie. O abordare nou denumit dynamic algorithm transforms(DAT), are la baz idea ndeprtrii de la proiectare algoritmilor i arhitecturilor pentru cazurile condiiilor de lucru cele mai defavorabile n favoarea reconfigurrii n timpul funcionrii. n cadrul reconfigurrii dinamice sunt folosite i alte tehnici precum clonarea configuraiilor, caching-ul i compresia. Tehnici din arhitectura calculatoarelor legate de extragerea instruciunilor i decodificare trebuie s fie aplicate i n cazul configurrii datelor. n concluzie, reconfigurarea este o tehnic promitoare n viitoarele implementri ale sistemelor DSP. Cercetrile n acest domeniu au combinat tiina semiconductorilor, a arhitecturilor i a aplicaiilor CAD pentru a se ridica la nivelul cererii n continu cretere a aplicaiilor DSP. Acest domeniu este deschis cercetrii, el reprezentnd o paradigm pentru proiectanii de sisteme i algoritmi DSP.

Bibliografie[1]. D. Singh, J. Rabaey, M. Pedram, F. Catthor, S. Rajgopal, N. Sehgal, and T. Mozdzen, Power-conscious CAD Tools and Methodologies: A Perspective, in Proceedings of the IEEE, vol. 83, no. 4, 1995, pp. 570594. [2]. B. Fagin and C. Renard, Field Programmable Gate Arrays and Floating Point Arithmetic, IEEE Transactions on VLSI Systems, vol. 2, no. 3, Sept. 1994, pp. 365367. [3]. N. Shirazi, A. Walters, and P. Athanas, Quantitative Analysis of Floating Point Arithmetic on FPGA-based Custom Computing Machines, in Proceedings, IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April 1995, pp. 155162. [4]. P. Athanas and A.L. Abbott, Real-Time Image Processing on a Custom Computing Platform, IEEE Computer, vol. 28, no. 2, Feb. 1995, pp. 1624. [5]. A.L. Abbott, P. Athanas, L. Chen, and R. Elliott, Finding Lines and Building Pyramids with Splash 2, in Proceedings, IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April 1994, pp. 155161. [6]. M. Shand and L. Moll, Hardware/Software Integration in Solar Polarimetry, in Proceedings, IEEE Symposium on Field- Programmable Custom Computing Machines, Napa, CA, April 1998, pp. 1826. [7]. W.B. Culbertson, R. Amerson, R. Carter, P. Kuekes, and G. Snider, Exploring Architectures for Volume Visualization on the Teramac Computer, in Proceedings, IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April 1996, pp. 8088. [8]. R.Woods, D. Trainer, and J.-P. Heron, Applying an XC6200 to Real-Time Image Processing, IEEE Design and Test of Computers, vol. 15, no. 1, Jan. 1998, pp. 3037. [9]. S. Singh and R. Slous, Accelerating Adobe Photoshop with Reconfigurable Logic, in Proceedings, IEEE Symposium on Field-Programmable Custom ComputingMachines, Napa, CA, April 1998, pp. 1826. [10]. R.D. Hudson, D.I. Lehn, and P.M. Athanas, A Run-Time Reconfigurable Engine for Image Interpolation, in Proceedings, IEEE Symposium on Field-Programmable Custom Computing Machines, Napa, CA, April 1998, pp. 88 95. [11]. J. Woodfill and B.V. Herzen, Real-Time Stereo Vision on the PARTS Reconfigurable Computer, in Proceedings, IEEE Symposium on Field-Programmable Custom Computing Machines, Napa, CA, April 1997, pp. 242 250. [12]. I. Page, Constructing Hardware-Software Systems from a Single Description, Journal of VLSI Signal Processing, vol. 12, no. 1, 1996, pp. 87107.

14

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la

[13]. J. Vuillemin, P. Bertin, D. Roncin, M. Shand, H. Touati, and P. Boucard, Programmable Active Memories: Reconfigurable Systems Come of Age, IEEE Transactions on VLSI Systems, vol. 4, no. 1, March 1996, pp. 5669. [14]. J. Ferguson and E. Lee, Generating Audio Effects Using Dynamic FPGA Reconfiguration, Computer Design, vol. 36, no. 2, Feb. 1997. [15]. B.V. Herzen, Signal Processing at 250 MHz using High Performance FPGAs, in International Symposium on Field Programmable Gate Arrays, Monterey, CA, Feb. 1997, pp. 6268. [16]. D.E. Thomas, J.K. Adams, and H. Schmit, A Model and Methodology for Hardware-Software Codesign, IEEE Design and Test of Computers, vol. 10, no. 3, Sept. 1993, pp. 615. [17]. M. Rencher and B.L. Hutchings, Automated Target Recognition on Splash II, in Proceedings, IEEE Symposium on Field- Programmable Custom Computing Machines, Napa, CA, April 1997, pp. 192200. [18]. H. Schmit, L. Arnstein, D. Thomas, and E. Lagnese, Behavioral Synthesis for FPGA-based Computing, in Proceedings, IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April 1994, pp. 125132. [19]. M. Agarwala and P.T. Balsara, An Architecture for a DSP Field-Programmable Gate Array, IEEE Transactions on VLSI Systems, vol. 3, no. 1, March 1995, pp. 136141. [20]. T. Arslan, H.I. Eskikurt, and D.H. Horrocks, High Level Performance Estimation for a Primitive Operator Filter FPGA, in Proceedings, International Symposium on Circuits and Systems, 1998, pp. v237v240. [21]. M. Leeser, R. Chapman, M. Aagaard, M. Linderman, and S. Meier, High Level Synthesis and Generating FPGAs with the BEDROC System, Journal of VLSI Signal Processing, vol. 6, no. 2, 1993, pp. 191213. [22]. T. Isshiki and W.W.-M. Dai, Bit-Serial Pipeline Synthesis for Multi-FPGA Systems with CCC Design Capture, in Proceedings, IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April 1996, pp. 3847. [23]. M.Wan, H. Zhang,V. George, M.Benes, A. Abnous,V. Prabhu, and J. Rabaey, Design Methodology of a LowEnergy Reconfigurable Single-Chip DSP System, Journal of VLSI Signal Processing, 2001.

15

B ht ibli tp ot :// ec eu a v C rek irt o a u flo or .cs ala rin do .tu d le nat ia e In on o si t @ r: F .ro elig ya lo /~ e ho rin fle nta o. L on a co eo /b rti m n via fic .h ia tm la