Sunteți pe pagina 1din 57

Universitatea Transilvania Braov s

FACULTATEA DE INGINERIE ELECTRICA SI STIINTA CALCULATOARELOR

ing. Traian Tulbure

ARHITECTURI MICROELECTRONICE RECONFIGURABILE PENTRU TEHNOLOGII TIP STRUCTURED ASIC

MICROELECTRONIC RECONFIGURABLE ARCHITECTURES FOR STRUCTURED ASIC TECHNOLOGY

Rezumatul tezei de doctorat PhD thesis summary

Conductor tiintic a s Prof. dr. ing. Gheorghe Toace s

BRASOV 2011

MINISTERUL EDUCAIEI, CERCETRII, TINERETULUI I SPORTULUI

UNIVERSITATEA TRANSILVANIA DIN BRAOV


500036 BRAOV, B-DUL EROILOR NR. 29, TEL. 0040-0268-41300, FAX 0040-0268-410525 RECTORAT Ctre_________________________________________________________________ V aducem la cunotin c n ziua de vineri, 21.10.2011, ora 1100, n sala N II 1, la Facultatea Inginerie Electric i tiina Calculatoarelor va avea loc susinerea public a tezei de doctorat intitulat: ARHITECTURI MICROELECTRONICE RECONFIGURABILE PENTRU TEHNOLOGII TIP STRUCTURED ASIC elaborat de s.l. ing. Traian TULBURE, n vederea obinerii titlului tiinific de DOCTOR, n domeniul fundamental TIINE INGINERETI, domeniul INGINERIE ELECTRONIC I TELECOMUNICAII COMISIA DE DOCTORAT Preedinte: Conductor tiinific: Refereni: - Prof.univ.dr.ing. Sorin Aurel MORARU Decanul Facultii I.E.S.C. - Prof.univ.dr.ing. Gheorghe TOACE Universitatea Transilvania din Braov - Prof.univ.dr.ing. Gheorghe TEFAN Universitatea Politehnic Bucureti - Conf.univ.dr.ing. mat. Ion Bebe BUCUR Universitatea Politehnic Bucureti - Prof.univ.dr.ing. Dan NICULA Universitatea Transilvania din Braov V invitm s luai parte la edina public de susinere a tezei de doctorat. Aprecierile dvs. asupra rezumatului tezei de doctorat v rugm s le trimitei pn cel trziu cu o zi nainte de data susinerii, la unul din numererele de fax: RECTORAT UNIVERSITATE: CATEDRA DE ELECTRONIC I CALCULATOARE: 0268-410525 0268-478705

Prefat a
Avansul tehnologic a oferit proiectantilor o capacitate logic din ce ce mai mare. Prin folosirea noilor a n metologii de proiectare a sistemelor pe cip (SoC), dei se reduce din complexitate, este dicil s se asigure s a proiectatarea i testarea unui circuit care s functioneze corect. conditiile care costurile asociate s a In n fabricatiei circuitelor integrate sunt continu cretere, o posibil solutie a acestei probleme este n a s a nglobarea unor blocuri recongurabile circuitele integrate pentru a asigura exibilitate post-fabricatie. Arhitectun rile recongurabile pentru tehnologiile structured ASIC rezolv acest problem, oferind posibilitatea de a a a recongurare ntre rulri succesive ale aplicatiei, i necesit un minim de arie aditional. a s a a acest tez se denesc arhitecturi microelectronice recongurabile pentru tehnologii de tip structured In a a ASIC i se dezvolt metodologia de implementare i de programare a acestora. Aceste noi arhitecturi sunt s a s fundamentate att pe ideile care stau la baza dispozitivelor programabile comerciale actuale, ct i pe cteva a a s a idei din domeniul de cercetare a calculului recongurabil, special legate de arhitecturile multi-context i de n s virtualizarea hardware-ului, folosind tehnici de multiplexare timp. Ele sunt dezvoltate n ntr-o gam larg de a a dimensiuni i de posibiliti de congurare pentru a oferi utilizatorilor att exibilitate post-productie pentru s at a depanarea i reproiectarea anumitor prti ale aplicatiei, ct i posibilitatea de congurare rapid pentru a s a a s a utilizate domeniul de calcul recongurabil. Astfel, sunt prezentate solutii pornind de la o complexiate mic n a a circuitului specic dispozitivelor PAL (Programmable Array Logic ), PLA (Programmable Logic Array) a pn la arhitecturi tip CPLD (Complex Programmable Logic Device) sau FPGA (Field-Programmable Gate a a Array), pornind de la recongurarea static pn la recongurarea dinamic a a a a ntr-un singur tact de ceas al aplicatiei. Prin particularizarea acestor circuite pe tehnologiile structured ASIC, se combin avantajele a arhitecturale cu avantajele tehnologice, pentru a obtine solutii eciente din punct de vedere al performantelor de arie, de timp i de putere consumat i care, totodat, permit reducerea efortului de implementare a s a s a circuitelor integrate odat cu scalarea tehnologic spre tehnologii mult submicronice. a a Arhitecturile recongurabile dinamic, multi-context, utilizeaz o abordare att spatial, ct i temporal a a a a s a a capacitii logice a unui circuit. Acestea permit recongurarea rapid, timpul functionrii circuitului, at a n a a unei aplicatii sau a unei prti a acesteia, prin stocarea a multiple conguratii memoria de pe cip. a n Arhitecturile recongurabile dinamic multi-conext, pentru tehnologii structured ASIC, ofer solutii pentru a mrirea capacitii logice, pentru recongurare rapid i pentru emularea mai multor circuite ce comunic a at as a ntre ele ntr-un sistem hardware virtual. prezenta tez se dezvolt detaliu aceste arhitecturi recongurabile pentru structured ASIC, se In a a n implementeaz i se analizeaz comparativ performantele de arie i de timp cu cele ale dispozitivelor a s a s programabile comerciale la acelai nod tehnologic. Se investigheaz aria suplimentar necesar pentru s a a a recongurare prin prisma raportului de arie per context, prin implementarea unei aplicatii de test direct pe structured ASIC i prin programarea corespunztoare a arhitecturilor recongurabile. Se denesc extensii s a de test care mresc semnicativ acoperirea de testare fr a afecta performantele de timp i de arie ale a aa s circuitului. Aceast tez nu ar aprut fr sprijinul moral i profesional al d-lui prof. dr. ing. Gheorghe Toace. a a a aa s s De aceea, in s multumesc mod deosebit pentru t a i n ndrumarea pe care mi-a oferit-o pe parcursul anilor de doctoratur. a Tin s exprim recunotinta fat de colegii din cadrul Catedrei de Electronic i Calculatoare pentru a mi s a as sprijinul acordat de-a lungul ntregii perioade de desfurare a stagiului de doctorat i pentru sfaturile as s primite pentru nalizarea prezentei lucrri. a De asemenea, multumesc colectivului de la eASIC Corporation care m-a ajutat cu sfaturi tehnice, mi-a pus la dispozitie materialul necesar i mi-a oferit sponzorizri cazul deplasrii la conferintele din strintate. s a n a a a Nu ultimul rnd, a vrea s multumesc familiei care mi-a fost alturi aceast perioad solicitant n a s a a n a a a oferindu-mi ncredere i s ncurajri pentru a-mi a mplini visul.

Cuprins

1 Introducere 1.1 1.2 Obiectivele tezei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Planul lucrrii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a

4 4 5 7 7 9

2 Arhitecturi recongurabile 2.1 2.2 2.3 2.4 Circuite programabile comerciale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arhitecturi programabile pentru sisteme pe cip (SoC) . . . . . . . . . . . . . . . . . . . . . .

Arhitecturi recongurabile multi-context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 14

3 Tehnologii tip structured ASIC 3.1 3.2 3.3

Arhitectura platformelor de tip structured ASIC . . . . . . . . . . . . . . . . . . . . . . . . . 14 Implementarea proiectelor pe platforme structured ASIC . . . . . . . . . . . . . . . . . . . . . 17 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 18

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC 4.1 4.2 4.3 4.4

Arhitecturi SPLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Arhitecturi CPLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Arhitecturi FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Contributii originale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 38

5 Testabilitatea arhitecturilor recongurabile pentru structured ASIC 5.1 5.2 5.3

Gradul de acoperire a testrii pentru arhitecturile recongurabile . . . . . . . . . . . . . . . . 38 a Optimizarea testabilitii pentru arhitecturile recongurabile . . . . . . . . . . . . . . . . . . 38 at Contributii originale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 42

6 Implementarea proiectelor pe arhitecturi recongurabile pentru structured ASIC 6.1 6.2 6.3

Descrierea metodologiei de implementare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Studiu de caz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Contributii originale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 48

7 Concluzii nale 7.1 7.2

Contributii originale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Directii viitoare de cercetare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

1. Introducere
Legea lui Moore descrie o tendint de lung durat procesul de fabricatie a circuitelor integrate, a a a n ce guverneaz industria microelecronic mai bine de jumtate de secol. conformitate cu legea lui a a a In Moore, prin scalare i consecint prin creterea densitii de integrarea (dublare cam la ecare doi ani), s n a s at performanta circuitelor integrate crete aproape exponential. Avantajele generate de scalarea tehnologic s a sunt contrabalansate de un mare numr de dezavantaje: tehnologia devine din ce ce mai scump, efortul a n a de proiectare crete, numrul de defecte crete i metodologia de lucru se complic. Pentru eliminarea s a s s a acestor obstacole tehnologice, comunitatea proiectantilor i a fabricantilor de circuite integrate, urmeaz s a dou directii principale: a mbuntirea proceselor tehnologice de fabricatie i crearea de noi arhitecturi care a at s s diminueze efectele problemelor tehnologice asupra performantelor circuitelor. a Tehnologiile de fabricare a circuitelor integrate cele mai utilizate ziua de astzi sunt implementarea n a cu celule standard i implementarea cu circuite programabile tip FPGA (Field Programmable Gate Array). s Tehnologia de celule standard domin implementarea circuitelor integrate de mare performant. a, odat a a Ins a cu avansul tehnologic, proiectarea i fabricarea proiectelor tehnologie de celule standard a devenit extrem s n de scump i de complicat. Circuitele FPGA nu pot intra competitie, datorit faptului c la aceeai as a n a a s caracteristic de proces tehnologic ocup o arie de 30-40 ori mai mare, consum de 12-14 ori mai mult putere a a a a i au frecventa de lucru de 4-5 ori mai sczut [1]. Diferenta mare de performant i de cost s a a a s ntre tehnologiile de celule standard i FPGA, a determinat aparitia tehnologiilor de tip structured ASIC. Acestea au cea s mai mare parte a logicii prefabricat, iar proiectantii trebuie s elaboreze o singur masc de metalizare a a a a pentru programarea circuitului. Realiznd aceast programare, ultima faz de procesare a plachetei a a n a de siliciu, se diminueaz inconvenientul pretului ridicat al mtilor tehnologice, dar se pstreaz avantajul a as a a asupra circuitelor FPGA prin eliminarea nodurilor reprogramabile electric. Circuite de tip structured ASIC sunt disponibile comercial [2], [3], ind o solutie tot mai avantajoas pentru implementarea proiectelor, pe a msur ce costul de fabricatie al mtilor crete. Circuitele FPGA au a avantajul exibilitii, putnd a a as s ns at a programate i reprogramate de un numr foarte mare de ori, pentru a rezolva o problem proiectul s a a n implementat, pentru adugarea de noi faciliti sau chiar pentru a implementa un proiect complet nou. a at Aceast lucrare denete arhitecturi recongurabile pe baza tehnologiilor tip structured ASIC. Prin acestea a s autorul readuce recongurabilitatea pierdut prin folosirea unui nivel de metalizare realizarea conguratia n ilor de celule logice i a interconexiunilor proiectele implementate pe structured ASIC. Aceste arhitecturi s n recongurabile permit reprogramarea unei prti a aplicatiei, post-productie, pentru a rezolva o problem a a de proiectare, pentru a aduga o nou facilitate, pentru a implementa o nou idee sau pentru utilizarea a a a circuitelor domeniul de calcul recongurabil. n Conceptul utilizrii acestor arhitecturi recongurabile, numite generic ePLD (embedded Programmable a Logic Devices), este prezentat Figura 1-1. El presupune n nglobarea unor blocuri recongurabile, ce pot folosite implementarea unui sistem pe cip, SoC (System on Chip), pentru a permite proiectantilor n s benecieze de exibilitatea caracteristic circuitelor FPGA, numai modulele care chiar au nevoie de a a n aceast exibilitate. Astfel se permite pstrarea unor performante de timp i arie specice tehnologiei a a s structured ASIC, pentru majoritatea modulelor i, totodat, se asigur exibilitatea de reprogramare posts a a productie numai pentru modulele implementate pe arhitecturi recongurabile.

1.1

Obiectivele tezei

Principalul obiectiv al tezei reprezint dezvoltarea unor arhitecturi recongurabile, care adaug exil a a bilitatea programrii post-fabricatie a aplicatiilor implementate pe tehnologii structured ASIC. La acest a obiectiv se adaug studiul testabilitii arhitecturilor propuse i recomandarea unor modicri care s a at s a a mreasc gradul de testabilitate. Obiectivul principal include i denirea unor metodologii de implementare a a a s proiectelor pe arhitecturile propuse, folosind instrumentele software specice tehnologiilor structured ASIC la care se adaug unelte software dedicate programrii arhitecturilor congurabile, dezvotate de autor. a a cadrul efortului de cercetare, pentru atingerea obiectivului principal al tezei, s-au urmrit mai multe In a directii de cercetare care au identicat i rezolvat probleme specice ale cror solutii converg ctre obiectivul s a a principal:

Planul lucrrii a

Figura 1-1: Conceptul arhitecturilor recongurabile pentru structured ASIC

1. Dezvoltarea unor arhitecturi recongurabile pentru structured ASIC care s ofere posibilitatea de a programare post-fabricatie a aplicatiilor de diferite dimensiuni. Modalitile de recongurare stu at diate includ recongurarea static, recongurare dinamic i recongurare dinamic multi-context. a a s a Selectarea dimensiunii circuitului i a modalitii de recongurare se face functie de necesitile s at n at utilizatorilor. 2. Implementarea arhitecturilor recongurabile introduse pe structured ASIC. Arhitecturile propuse au fost implementate pe structured ASIC i rezultatele de arie i timp au fost analizate comparativ. s s De asemenea, s-au urmrit diferentele de performant ale unor aplicatii implementate direct pe a a structured ASIC, respectiv implementate prin congurarea arhitecturilor introduse. Performantele de arie i de timp mai reduse, pentru aplicatiile implementate pe arhitecturile recongurabile propuse, s reprezint pretul ce trebuie pltit pentru a aduga posibilitatea de recongurare pentru tehnologiile a a a ce nu beneciaz intrinsec de ea. a 3. Adugarea de faciliti de testare arhitecturilor recongurabile pentru structured ASIC. Platformele a at de tip structured ASIC ofer circuite specializate de test (lanturi de bistabile scanabile) pentru a blocurile logice folosite pentru implementarea proiectelor. Metodologia de testare ATPG (Automatic Test Pattern Generation), bazat pe aceste lanturi de scanare este a ngreunat cazul arhitecturilor a n recongurabile de posibilitatea de a avea bucle combinationale pentru arhitecturile necongurate. Pentru a se mentine rata de observabilitate i controlabilitate la un nivel ridicat, se propun modaliti s at de dezactivare a acestor bucle combinationale timpul testrii de tip ATPG. n a 4. Denirea unei metodologii de implementare a proiectelor pe arhitecturile recongurabile propuse. Posibilitatea utilizrii arhitecturilor recongurabile pentru structured ASIC, depinde de existenta unor a unelte software pentru programarea acestora conform specicatiilor proiectantilor. Metodologia de programare este dezvoltat, folosind produsele software existente i utilitare dedicate arhitecturilor a s recongurabile.

1.2

Planul lucrrii a

Capitolul 2 al tezei face o trecere revist a arhitecturilor recongurabile existente i a avantajelor n a s i a dezavantajelor acestora implementarea circuitelor integrate digitale. Se analizeaz i domeniul de s n a s cercetare al calculului recongurabil, arhitecturile recongurabile de granulatie n i granulatie grosier, as a arhitecturi multi-context, cu multiplexare timp i principalele aplicatii care calculul recongurabil n s n aduce benecii majore. Capitolul 3 realizeaz o descriere succint a arhitecturilor de tip structured ASIC cu accent pe familia de a a circuite eASIC Nextreme, folosit pentru implementarea arhitecturilor recongurabile propuse. Se prezint a a i metodologia curent de implementare a aplicatiilor pe structured ASIC. De asemenea, se subliniaz s a a anumite mbuntiri ce pot aduse tehnologiei structured ASIC, pentru a putea implementa mai convenabil a at

1 Introducere arhitecturi recongurabile.

Capitolul 4, capitolul principal al tezei, prezint detaliu arhitecturile recongurabile pentru tehnologii a n tip structured ASIC. Acestea sunt structurate dup tipul circuitului programabil, folosit drept model i a s dup modalitile de arcare i schimbare a conguratiei mai multe categorii. ecare din aceste a at nc s n In categorii se alege o conguratie care are un reprezentant circuitele programabile comerciale, conguratie n care este implementat tehnologia structured ASIC. Se analizez comparativ rezultatele de arie i de a n a s timp ntre o aplicatie de test implementat pe: arhitecturile recongurabile, direct pe structured ASIC i pe a s circuitele programabile comerciale existente. Pe baza rezultatelor obtinute urma implementrii se propun n a solutiile care ofer cele mai bune peformante de arie i de timp pentru implementarea aplicatiilor ce necesit a s a recongurare static sau dinamic. a a capitolul 5 se prezint extensii de test ale arhitecturilor recongurabile propuse. Se testeaz, folosind In a a lanturile de scanare i metodologia ATPG, structurile recongurabile i se identic faptul c buclele s s a a combinationale din structura neprogramat contribuie la acoperirea redus a testrii ATPG. Pentru a rezolva a a a aceast problem se propune a a ntreruperea buclelor combinationale, cnd circuitul este modul de testare a n prin inserarea de bistabile pe bucl. Se evidentiaz c acest solutie rezolv problema acoperirii de testare a a a a a reduse, fr a degrada performantele de arie i de timp ale circuitului. Implementarea acestei solutii este aa s complet transparent pentru uxul de implementare a proiectelor tehnologie structured ASIC. a n Capitolul 6 descrie metodologia de implementare a proiectelor pe arhitecturile programabile, utiliznd a programe software EDA (Electronic Design Automation) dedicate pentru sintez, plasare, rutare i generare a s de vectori de test, precum i utilitare software dedicate pentru programarea corespunztoare a arhitecturilor s a recongurabile. Aceste utilitare au fost create regim propriu de autor, doar pentru arhitecturile tip PLA, n pentru arhitecturile mai compexe urmndu-se aceeai metologie de lucru, dar algoritmii de mapare i rutare a s s vor mai compleci i nu fac obiectivul acestei teze. s s capitolul 7 sunt evidentiate contributiile originale ale autorului i prezentate directii viitoare de cercetare In s ce permit o mai bun integrarea a acestor arhitecturi congurabile metodologia standard de implementare a n a circuitelor integrate.

2. Arhitecturi recongurabile
Circuitele programabile sunt dispozitive revolutionare care combin beneciile celor dou tehnici de a a implementare a unei aplicatii, hardware, respectiv software. Ele sunt folosite pentru a implementa n n circuite de procesare cu posibilitatea de efectuare a calculelor paralel, cu performante de timp i arie n s similare tehnologiilor hardware, dar ofer exibilitate congurare similar cu programarea software. a n a a aceast exibilitate are costul ei, implementrile pe circuite programabile, tipic pe FPGA (Field Ins a a Programmable Gate Array), au performante de timp, arie i putere mai sczute dect implemetrile ASIC s a a a (Application Specic Integrated Circuit) ce folosesc tehnologiile de celule standard. Figura 2-1 prezint rezultatele de arie i de putere consumat (exprimate mW/MOPS, respectiv a s a n MOPS/mm2 ), obtinute de un grup de cercettori [4] prin implementarea mai multor aplicatii pe diverse a tehnologii i scalarea corespunztoare a acestora la procesul CMOS de 130nm. Din Figura 2-1, se observ c s a a a aceste alternative au ecienta energetic i aria rspndite pe o plaj de cinci ordine de magnitudine. Din as a a a acest punct de vedere ntre implementrile de tip FPGA i implementrile tip celule standard se observ un a s a a gol, deoarece tehnologiile tip structured ASIC nu au fost luate calcul acest studiu. Au fost analizate n n circuite din categoriile: procesoare de uz general (GP-Processor), procesoare de semnal (DSP), procesoare cu set de instructiuni specic aplicatiei (ASIP), implementri FPGA, implementri cu celule standard i a a s implementri cu circuite full-custom. Dac considerm exibilitatea pentru modicare oferit de aceste a a a a solutii de implementare, exist, de asemenea, o prpastie a a ntre circuitele de tip FPGA i circuitele de tip s celule standard. O solutie arhitectural de mrire a gradului de exibilitate o reprezint denirea unor a a a blocuri recongurabile ce pot integrate implementrile de tip celule standard sau full-custom pentru a n a permite programarea unei prti a aplicatiei implementate. a

2.1

Circuite programabile comerciale

Dispozitivele programabile disponibile comercial sunt tipic artite trei categorii: mp n SPLD - Simmple Programmable Logic Device - circuite de tip PAL, PLA. CPLD - Complex Programmable Logic Device - circuite ce contin mai multe structuri de tip PAL sau PLA interconectate ntre ele printr-o structur programabil de inteconexiune. a a FPGA - Field Programmable Gate Array - circuite ce contin celule programabile identice replicate

Figura 2-1: Ecienta energetic i de arie a posibilitilor de implementare actuale [5]. as at

2 Arhitecturi recongurabile sub forma de arie de porti cu interconexiuni programabile ntre ele. 2.1.1 Circuite SPLD

Primele dispozitive electronice programabile, PLD (Programmable Logic Device), dezvoltate special pentru a implementa logic digital, au fost sub form de matrice logic programabil PLA (Programmable a a a a a Logic Array). Un circuit PLA const dou planuri programabile: un plan programabil de porti AND, a n a urmat de un alt plan programabil de porti OR. O structur PLA permite ca oricare dintre intrri (i formele a a s complementate ale acestora) s e conectate la nivelul AND programabil, ecare ieire din nivelul AND a s corespunde unui termen produs al intrrilor. Similar, utilizatorii pot programa nivelul OR s produc suma a a a logic a oricror ieiri din nivelul OR. Avnd aceast structur PLA-urile sunt potrivite pentru a implementa a a s a a a functii logice exprimate sub form de sum de produse. a a Dispozitivele PAL au un singur nivel programabil, un plan AND programabil urmat de un plan x de porti OR. Pentru a compensa lipsa de exibilitate introdus de nivelul x de porti OR, dispozitivele PAL a sunt produse diverse variante cu numr diferit de intrri i de ieiri i cu dimensiuni variate ale portilor n a a s s s OR. Pentru a implementa circuite secventiale dispozitivele PAL contin i bistabile de obicei conectate la s ieirea portilor OR. s Introducerea circuitelor de tip PAL a schimbat profund proiectarea electronica digital, ele sunt bazele n a unor arhitecturi mai complexe ce vor descrise ulterior. Variante ale arhitecturii PAL apar diferite n circuite digitale cu diferite denumiri. general se grupeaz toate circuitele programabile de capacitate In a mic, incluznd aici PLA, PAL i variante de PAL, categoria circuitelor programabile simple (Simple a a s n Programmable Logic Device - SPLD). 2.1.2 Circuite CPLD

Avansul tehnologic a dus la produse cu o capacitate mai mare dect cea a circuitelor PAL sau PLA. a Dicultatea creterea capacitii unei arhitecturi SPLD o constituie faptul c planul logicii programabile n s at a crete prea repede, pe msur ce crete numrul de intrri. Singura modalitate convenabil pentru a genera s a a s a a a dispozitive de capacitate mare, bazate pe arhitectura SPLD este de a interconecta programabil mai multe dispozitive SPLD pe un singur cip. Astzi exist mai multe produse cu aceast structur de baz i se a a a a a s numesc CPLD (Complex Programmable Logic Device). Altera a fost un deschiztor de drumuri pentru a circuitele CPLD, ai prin circuitele EPLD i apoi prin seria MAX 5000, 7000 i 9000 [6]. Deoarece piata nt s s de circuite programabile a crescut repede, alti productori au dezvoltat dispozitive CPLD i mai multe a s arhitecturi sunt disponibile. Circuitele CPLD tipic asigur capaciti de aproximativ 50 de ori mai mari a at dect SPLD, creterea capacitii peste aceast limit devine dicil i necesit o alt abordare [7]. a s at a a as a a Exist mai multe tipuri de CPLD bazate pe termeni produs (Altera a introdus i CPLD cu logica a s implementat LUT [8], [9]), dar toate au cteva elemente comun: a n a n familiile de circuite mai mari au o matrice de interconectare programabil a ntre sub-blocuri mai mici numite macroblocuri macroblocurile au tipic o implementare SPLD, pe dou planuri de tip AND-OR, ind compuse din a mai multe macrocelule macrocelulele sunt structuri PLD i prezint bistabile pe ieire care sunt conectate att la intrrile s a s a a structurii PLD, ct i la matricea programabil. a s a Circuitele CPLD au avantajul unor arzieri predictibile prin logic i structura de interconectare. Disnt as pozitivele CPLD nonvolatile sunt folosite special pentru congurarea n ntr-un sistem a dispozitivului programabil principal. 2.1.3 Circuite FPGA

Circuitele FPGA asigur o capacitate logic mai mare, prin replicarea sub forma unei matrici, a unor a a blocuri logice programabile i resurse de interconectare, toate ind congurabile de ctre utilizator. Introduse s a 1985 de Xilinx, acestea au cunoscut un succes deosebit att la nivel comercial, ct i la nivel academic, n a a s prin existenta a numeroase studii, crti i conferinte dedicate totalitate acestor arhitecturi. a s n

Arhitecturi programabile pentru sisteme pe cip (SoC) Elementele componente ale unei arhitecturi FPGA sunt: celulele logice, alctuite din elemete de tip LUT (Look-Up Table). Dimensiunea LUT-ului este dat a a de numrul de intrri. Exist numeroase studii pentru selectarea unei dimensiuni care s ofere arie i a a a a s frecvent optime pentru o gam variat de aplicatii [10]. Studiile au artat c un LUT cu 4 intrri a a a a a a reprezint alegerea optim, dar arhitecturile FPGA de ultim generatie folosesc LUT-uri mai mari a a a pentru a evita arzierile pe trasee ce devin partea dominant a timpilor de propagare, odat cu nt a a avansul tehnologic. structura de interconectare programabil ce permite interconectarea celulelor logice, este tipic una a segmentat, avnd component celule de interconectare i celule de comutare a a n a s ntre trasee. extensii ale logicii pentru realizarea circuitelor aritmetice, pentru implementarea memoriilor de mari dimensiuni i chiar procesoare sunt s nglobate arhitecturile FPGA moderne. n

Solutiile de programare ale elementelor FPGA folosesc memorie SRAM, fuzibil, antifuzibil, tranzistor cu poart otant (EPROM sau EEPROM) sau memorie ash. Cea mai rspndit metod de programare este a a a a a a cea bazat pe celule SRAM, deoarece ofer reprogramare rapid, posibilitatea de reprogramare dinamic a a a a i numrul de ciclii de programare ind teoretic innit. Datorit faptului c memoria SRAM este volatil, s a a a a aceste circuite necesit o memorie extern pentru a stoca conguratia circuitului. La ecare punere sub a a tensiune se face programarea circutului din aceast memorie extern sau prin intermediul unui calculator, a a folosind interfata JTAG (Joint Test Action Group) [11]. Flexibilitatea programare a fcut ca arhitecturi FPGA s poat n a a a nglobate orice tehnologie de n fabricatie a circuitelor integrate. Numite eFPGA (Embedded Field Programmable Gate Array), ele sunt disponibile comercial [12], [13] e sub form de IP-core sintetizabil sau macro predenit. a Vom utiliza arhitecturile dispozitivelor programabile actuale denirea noilor arhitecturi recongurabile n pentru structured ASIC, deoarece comunitatea proiectantilor este deja familiarizat cu aceste dispozitive i a s cu metodologia de implementare a proiectelor pe acestea.

2.2

Arhitecturi programabile pentru sisteme pe cip (SoC)

Pentru a putea folosi capacitatea exces, datorat scalrii tehnologice, mentinnd un cost rezonabil al n a a a proiectrii i al testrii, a aprut metodologia de implementare a sistemelor pe cip (SoC) [14]. aceast a s a a In a metodologie, blocuri pre-proiectate i pre-vericate, obtinute din surse interne sau terti sunt combinate s ntrun singur cip. Dei aceast tehnic atenueaz partial complexitatea circutului, este a dicil proiectarea s a a a nc a i testarea unui circuit integrat care s functioneze corect. s a Intotdeauna vor exista cipuri proiectate, fabricate i care apoi se dovedesc de nefolosit. Acest lucru se poate ampla din cauza erorilor de proiectare care s nt scap metodologiei de vericare sau pot cauzate de schimbri cerintele proiectului. a a n O solutie a acestei probleme este reducerea numrului de manufacturri al unui proiect, prin adugarea a a a de exibilitate post-productie circuitele integrate, prin n nglobarea unor blocuri logice programabile. Blocurile reprogramabile pot avea o arhitecturi bazate pe termeni produs, similar ca cazul dispozitivelor n programabile de tip SPLD, CPLD [15], [16] sau arhitecturi bazate pe LUT-uri, ca cazul circuitelor FPGA n [12], [13]. 2.2.1 Arhitecturi bazate pe termeni produs

O arhitectur pe baz de termeni produs este propus de Yan [16]. Numit arhitectur PTB (Product a a a n a a Term Based), ea a fost introdus cu scopul de a aduga posibilitatea de a face schimbri dup fabricarea a a a a sistemelor integrate pe cip tehnologii de celule standard. n Figura 2-2, se prezint celula logic a arhitecturii bazat pe termeni produs ce a fost propus de Yan In a a a a pentru denirea blocurilor programabile. Ea este practic un PLA; const dintr-un plan AND i un plan a s OR ce pot folosite pentru a implementa una sau mai multe functii combinationale. Planul AND este un generator de termeni produs; este format din planul AND propriu zis i planul de congurare (de selectare s a variabilelor ce intr termenul produs); este folosit pentru crearea de termeni produs care pot utilizati a n de planul OR. Planul OR, este format din planul OR propriu zis i planul de congurare, este folosit pentru s a realiza suma de produse pentru a genera o anumit functie boolean. Dimensiunea unui PTB este dat a a a de numrul de intrri, de numrul de termeni produs (care este egal cu numrul de porti AND din planul a a a a

2 Arhitecturi recongurabile

10

AND) i de numrul de ieiri (care este egal cu numrul de porti OR din planul OR). Ne putem referi la s a s a dimensiunea unui PTB folosind tripleta (i,p,o), unde i este numrul de intrri, p este numrul de termeni a a a produs i o este numrul de ieiri. s a s Bitii de programare sunt implementati cu bista bile, ce sunt conectate ntre ele serial ntr-un lant de scanare. Pentru a programa PTB-ul, irul de s biti de congurare (bitstream) este trimis serial pe portul de intrare congure in. Valorile din bistabile sunt folosite pentru a masca semnalele de intrare nainte de a aplicate planului AND. Semnalele de mascare controleaz starea portilor logice care a alctuiesc planurile AND i OR. a s 2.2.2 Structura de interconectare directional a

Structura de rutare va una diferit de cea a a arhitecturilor comerciale CPLD existente, deoarece se dorete evitarea buclelor combinationale pentru s orice conguratie a circuitului. dispozitivele In comerciale, aceste bucle combinationale nu sunt o problem, deoarece utilizatorul poate congura a circuitul numai modaliti care aceste bucle n at n nu apar. Uneltele software de sintez au probleme a n Figura 2-2: Arhitectur bazat pe termeni produs (PTB) a a cazul circuitelor cu bucle combinationale. Dei pot s [17] ntrerupe buclele combinationale prin aturarea nl arbitrar a unui arc de timp din bucl, acest lucru va conduce deseori la rezultate proaste, deoarece unealta a a de sintez nu poate ti care ci sunt false i care sunt importante i trebuie optimizate. a s a s s Se propune astfel o arhitectur directional de rutare. Se folosesc multiplexoare structura de intercoa a n nectare, intrrile pentru ecare multiplexor pot veni doar de la intrrile primare i de la ieirile nivelului a a s s precedent. Ieirile din ecare nivel vor conectate la intrrile urmtorului nivel i la ieirile circuitului. s a a s s 2.2.3 Arhitecturi secventiale sintetizabile

Integrarea unui bistabil macrocelula de baz nu va ajuta la implementarea circuitelor secvetiale. n a Folosirea unei structuri de interconectare directionale (cu semnale care pot circula doar de la stnga spre a dreapta) la o arhitectur ce contine bistabile nu este de dorit, deoarece nu va exista posibilitatea de a a implementa buclele de stare att de necesare implementrii automatelor de control. Adugarea posibilitii a a a at de a realiza bucle de stare va impune o arhitectur nedirectional, ce va putea cauza bucle combinationale. a a Solutia propus este ca din ecare macrocelul s avem ieiri combinationale i ieiri secventiale ce vor a a a s s s interconectate separat. Reteaua de interconectare a ieirilor combinationale va una directional, timp s a n ce reteaua de interconectare a ieirilor secventiale va putea conecta ieirea ecrei macrocelule la intrrile s s a a oricrei alte macrocelule, indiferent de nivelul pe care este situat (Figura 2-3a). O astfel de arhitectur se a a a numete arhitectur cu retea dual de interconectare. Spre deosebire de arhitecturile comerciale, aceast s a a a abordare necesit dou retele de interconectare fapt ce va mri semnicativ aria circuitului. O solutie a a a ar ca numai un procent din macrocelule s contin bistabile, studiile au artat c se obtine un produs a a a a arie - arziere optim, cnd acest procent este 50% [17]. O alternativ pentru arhitecturile secventiale nt a a este nlocuirea bistabilelor din macrocelule cu un bloc global de bistabile, dup cum se prezint Figura a a n 2-3b. Toate ieirile blocurilor logice se vor conecta la un numr de registre globale printr-o matrice de s a multiplexoare. Ieirile regitrilor se vor s s ntoarce apoi la intrrile tuturor macrocelulelor. Fr a asocia a aa un registru cu ieirea unei macrocelule, utilizarea registrilor va s mbuntit. Aceast exibilitate are a at a a a costul unei arii mai mari pentru structura de interconectare. Implementarea unor circuite de test ns standardizate a demostrat c produsul arie - arziere este cu 8% mai bun pentru o arhitectur decuplat a nt a a fata de arhitectura cu retea dual [17]. a Arhitecturile programabile sintetizabile reprezint o solutie general valabil pentru adugarea exibilitii a a a at

11

Arhitecturi recongurabile multi-context

Figura 2-3: Arhitecturi secventiale: a) Arhitectur cu retea dual; b) Arhitectur decuplat [16]. a a a a

de programare scopul rezolvrii post-fabricatie a unor probleme de proiectare sau de a aduce anumite n a mbuntiri aplicatiilor implementate tehnologii de celule standard. Fiind o solutie general valabil, ea a at n a are cteva limitri: a a limitarea datorat inexistentei unei celule de memorie bibliotecile de celule standard, fapt ce va a n impune folosirea bistabilelor i va avea ca efect mrirea surplusului de arie necesar. s a limitarea dat de necesitatea utilizrii unor retele de interconectare care s nu prezinte bucle combinaa a a ionale momentul sintezei arhitecturii neprogramate. Folosirea unor retele de interconectare duale t n sau decuplate va avea acelai efect de mrire a ariei ocupate de circuit. s a Ambele dezavantaje pot eliminate prin particularizarea acestor arhitecturi pentru o anumit tehnologie a de fabricatie i folosirea unor descrieri stucturale locul descrierilor comportamentale, general valabile. s n

2.3

Arhitecturi recongurabile multi-context

cazul arhitecturilor recongurabile dinamic, timpul necesar schimbrii unei conguratii de circuit, In a folosind transferul serial al datelor, poate un dezavantaj major folosirea acestora. O alternativ poate n a asigurarea de spatiu de stocare pentru mai multe conguratii de date acelai timp cadrul dispozitivului n s n programabil, facilitnd congurarea rapid i posibilitatea de suprapunere a etapei de schimbare a unei a a s conguratii cu etapa de functionare normal a altei conguratii. Un astfel de dispozitiv programabil este a numit multi-context sau dispozitiv programabil cu multiplexare timp. Acesta contine stocate n ntr-o memorie mai multe planuri ale datelor de congurare, planuri numite i contexte. In cazul arhitecturilor s recongurabile multi-context trebuie fcut distinctia clar a a a ntre conguratia de circuit i conguratia de s date (numit i context) ce determin o anumit conguratie de circuit. Mai multe arhitecturi FPGA cu as a a multiplexare timp au fost propuse incluznd aici: TMFPGA (Time Multiplexed FPGA) [18], DPGA n a (Dynamic Programable Gate Array) [19, 20, 21] i Dharma [22]. s 2.3.1 Conceptul de baz a

Folosind o arhitectur FPGA standard, se poate ctiga capacitate logic prin recongurarea dinamic a a as a a circuitului, prin adugarea unor biti de memorie SRAM, locul adugrii de noi elemente de procesare. a n a a Astfel, circuitul va avea o conguratie activ i un numr de conguratii inactive stocate memoria de a s a n congurare. Memoria de congurare este distribuit pe cip, ecare punct programabil putnd controlat a a de un numr de biti egal cu numrul maxim de conguratii de date (contexte) stocate pe cip. a a Figura 2-4a) prezint o astfel de arhitectur FPGA multi-context, cu multiplexare timp. Se observ a a n a n Figura 2-4b) c elementele logice de tip LUT ce implementeaz logica combinational se a sub controlul a a a a a uneia din cele n locatii de memorie asociate planurilor de memorie, planuri de memorie numite contexte. Similar i structura de interconectare va controlat de un singur plan din cele n planuri disponibile pe cip. s a

2 Arhitecturi recongurabile

12

Figura 2-4: FPGA cu multiplexare timp: a) Arhitectura FPGA; b) Celula logic cu microregitri [22]. n a s

Recongurarea dinamic a circuitului se numete schimbarea contextului i se face prin intermediul unui a s s semnal global, astfel at toate elementele logice schimb contextul acelai timp. nc a n s Dac pentru implementarea de logic combinational circuitul poate utiliza multiplexarea timp, pentru a a a n a implementa succesiv mai multe functii logice folosind acelai hardware, nu acelai lucru se poate arma s s despre implementarea logicii secventiale. Starea circuitului va trebui salvat automat de ecare dat cnd a a a se schimb conguratia circuitului i, respectiv, restaurat la reactivarea conguratiei, pentru ca aceast a s a a schimbare de context s e transparent din punct de vedere a aplicatiei utilizatorului. Solutia este a a multiplicarea registrului de stare din celula logic de n ori (n este numrul de contexte), iar denumirea a a folosit pentru acest spatiu de stocare este de microregitri. a s 2.3.2 Moduri de operare

Circuitele recongurabile multi-context pot functiona 3 moduri propuse de Trimberger [18]: automat n n logic, partajat timp i static. n s 1. modul automat logic (AL), circuitul folosete capabilitile de multiplexare timp pentru a emula In s at n un singur sistem complex. Proiectul este implementat ca un automat de stare de tip Mealy. Logica combinational primete semnale de la intrri i de la bistabile; genereaz semnale de ieire din logica a s a s a s combinational i bistabile. Logica combinational poate artit subblocuri i calculul ieirilor as a mp a n s s acestor blocuri va multiplexat timp. n Cnd opereaz modul automat logic proiectul trece printr-o secvent de conguratii numite microa a n a acest mod, dispozitivul cicli. Secventele de microcicli sunt sincronizate cu ceasul utilizatorului. In este recongurat de mai multe ori ntr-un ciclu utilizator - ceasul de congurare ind mai rapid dect a ceasul utilizator. Rezultatele partiale ale unei conguratii trebuie stocate i trimise la conguratiile s urmtoare. Spatiul de stocare trebuie prevzut pentru bistabile, ele nu pot multiplexate timp, a a n deoarece toate valorile din bistabile sunt necesare pentru momentele urmtoare. a 2. modul partajat n timp (PT), circuitul emuleaz mai multe sisteme independente care comunic In a a ntrun sistem hardware virtual. Dispozitivul rmne a a ntr-o conguratie pentru mai multe ceasuri utilizator - ceasul de recongurare ind mai lent dect ceasul utilizatorului. Circuitul se recongureaz la a a intervale neregulate sau la ntreruperi. Pentru a modela un sistem hardware virtual, valorile calculate ntr-o conguratie trebuie stocate i partajate cu logica din alte conguratii. La re arcarea unei s nc conguratii, starea sistemului trebuie refcut ca i cnd aceasta conguratie nu ar fost schimbat. a a s a a modul static, 3. In ntreg circuitul sau o parte din el nu se recongureaz. Modul static se folosete pentru a s

13

Concluzii implementarea logicii care trebuie sa e mereu activ - de exemplu, pentru logica care controleaz a a partajarea timp sau secventele de conguratii sau pentru logic asincron. Logica static se n a a a implementeaz prin programarea identic a celulelor de memorie corespunztoare din toate planurile a a a de congurare.

Cele trei moduri de operare pot mixate pentru obtinerea functionalitii dorite de utilizator. O singur at a aplicatie poate avea logica artit logic static, logic multiplexat timp sau logic partajat mp a n a a a a n a a n timp. Circuitele multicontext ofer o abordare temporal a dispozitivelor programabile prin posibilitatea de a a a implementa mai multe functii logice folosind aceleai porti logice la diferite momente timp. Avantajele s n acestor circuite sunt date de posibilitatea de a schimba conguratia activ a ntr-un singur tact de ceas i de s posibilitatea de arcare pe fundal a conguratiilor timpul functionrii circuitului. nc n a Unul din dezavantajele circuitelor multi-context e dat de aria suplimentar necesar stocrii tuturor a a a conguratiilor, arie ce ar putea folosit pentru a implementa alte porti logice i structuri de interconectare. a s Alt dezavantaj este o consecinta direct a posibilitii de a schimba conguratia a at ntregului circuit ntr-un singur tact de ceas, ind puterea dinamic consumat momentul schimbrii conguratiei. a a n a Dei aceste idei de recongurare rapid a circuitelor nu sunt noi, prima companie care s a ncearc s aduc a a a pe piata aceste tehnologii este Tabula, prin produsul 3PLD [23], ce permite recongurarea rapid a unui a circuit programabil cu 8 contexte. Prin continua scalare tehnologic, conform legii lui Moore, este posibil a a creterea numrului de contexte i a frecventei maxime la care se face schimbarea acestora, ceea ce poate s a s oferi acestor noi tehnologii posibilitatea de a crete capacitatea logic chiar la o rat mai mare dect cea s a a a prezis de legea lui Moore. a

2.4

Concluzii

Dispozitivele programabile au schimbat semnicativ posibilitile de implementarea a unei aplicatii foat losind un circuit integrat digital prin oferirea avantajelor legate de exibilitate, de costuri i de timp de s implementare. Datorit dezavantajelor legate de freventa de functionare, de aria ocupat i de puterea cona as sumat, comunitatea proiectantilor a dezvoltat arhitecturi similare cu cele ale dispozitivelor programabile, a ce pot nglobate aplicatiile implementate tehnologii de celule standard, pentru a putea benecia n n de acest exibilitate numai anumite blocuri functionale. Deoarece dispozitivele programabile actuale a n nu sunt optimizate pentru calcul recongurabil, s-au urmrit cteva metode de a le ecientiza din punct a a de vedere al posibilitii de schimbare rapid a conguratiei i de multiplexare timp. Din descrierea at a s n circuitelor din cadrul acestui capitol am identicat urmtoarele idei ce vor folosite pentru crearea unor a arhitecturi recongurabile dedicate tehnologiilor tip structured ASIC : 1. Arhitecturile caracteristice dispozitivelor programabile comerciale vor folosite pentru crearea noilor arhitecturi recongurabile, deoarece comunitatea proiectantilor de circuite integrate este familiarizat cu a acestea i exist mediul academic unelte software de domeniu public pentru a facilita implementarea s a n proiectelor. 2. Arhitecturile programabile pentru SoC ofer modalitatea de programare dinamic necesar implea a a mentrii unor arhitecturi bazate pe termeni produs. Acestea reprezint totodat i o solutie general valabil a a as a pentru adugarea exibilitii orice tehnologie de fabricatie i vor implementate pe structured ASIC a at n s pentru a avea un termen de comparatie cu restul arhitecturilor introduse. 3. Arhitecturile recongurabile multi-context introduc ideea de multiplexare timp i posibilitatea de n s a considera capacitatea logic a circuitelor, lund calcul att aspectul spatial, ct i aspectul temporal. a a n a a s Acestea vor sta la baz arhitecturilor cu recongurare dinamic, eciente din punct de vedere al ariei necesare a a per conguratie, descrise capitolele urmtoare. n a Arhitecturile recongurabile pentru structured ASIC descrise aceast tez utilizeaz caracteristicile disn a a a pozitivelor programabile comerciale, mbuntite cu faciliti de recongurare dinamic i de multiplexare a at at as timp. Implementarea acestora pe tehnologia structured ASIC este realizat astfel at sa se reduc, pe n a nc a ct posibil, surplusul de arie necesar i s se ecientizeze performantele de timp i respectiv de arie per a s a s conguratie.

3. Tehnologii tip structured ASIC


Tehnologiile tip structured ASIC au aprut pentru a umple golul dintre modul traditional de fabricare a a circuitelor integrate specice unei aplicatii, ASIC (Application Specic Integrated Circuit), folosind celule standard i tehnologiile programabile tip FPGA (Field Programmable Gate Array) [1]. Acestea ofer o s a alternativ la tehnologiile de tip celule standard pentru proiectele ce necesit costuri reduse de fabricatie i a a s de asemenea o alternativ pentru circuitele FPGA care necesit a a mbuntirea performantelor de timp, arie a at i putere consumat pentru un volum de productie de nivel mediu. Odat cu scalarea tehnologic, diferenta s a a a de performant a ntre tehnologiile ASIC implementate cu celule standard i FPGA crete (tehnologiile ASIC s s sunt favorizate) i similar crete i diferenta de costuri de fabricatie (tehnologiile FPGA sunt favorizate). s s s Acest gol ntre cele dou moduri de fabricatie a circuitelor integrate, pentru aplicatii ce necesit un volum a a mediu de productie cu performante medii ceea ce privete frecventa de lucru, aria ocupat i puterea n s a s consumat, se adncete i creeaz oportunitatea dezvoltrii acestei noi clase de tehnologii de fabricatie a a a s s a a circuitelor integrate. domeniul academic exist mai multe studii referitoare la tehnologiile de fabricatie structured ASIC [24], In a [25], [26], iar domeniul comercial exist mai multe implementri ce folosesc n a a ntre un nivel de metalizare i ase nivele de metalizare. ultimii ani au rmas pe piat doar cteva implementri comerciale de tip s s In a a a a structured ASIC, dintre care amintim Altera Hardcopy IV [27] i platformele eASIC Nextreme produs s a n tehnologie de 90nm [28], respectiv eASIC Nextreme 2 produs tehnologie de 45nm [29]. Produsele oferite a n de rma eASIC sunt singurele implementri care folosesc un singur nivel de metalizare pentru congurare, a motiv pentru care le vom folosi pentru dezvoltarea arhitecturilor recongurabile pentru structured ASIC descrise urmtoarele capitole. n a

3.1

Arhitectura platformelor de tip structured ASIC

Platformele de tip structured ASIC sunt obtinute prin integrarea unor blocuri logice i a unor blocuri s de memorie ntr-o structur de interconectare, similar ca cazul circuitelor FPGA. Blocurile logice contin a n elemente de procesare pentru implementarea logicii combinationale i bistabile pentru implementarea logicii s secventiale. Structura de rutare permite orice interconectare aleatoare a blocurilor logice, astfel acestea pot conectate conform oricrei cerinte a utilizatorilor. Structura platformei structured ASIC dezvoltate de a rma eASIC este prezentat Figura 3-1 a n Elementele prefabricate nivelele de baz ale tehnologiilor structured ASIC permit o implementare rapid n a a

Figura 3-1: Arhitectura platformelor de tip structured ASIC [2].

15

Arhitectura platformelor de tip structured ASIC

Figura 3-2: Arhitectura Nextreme: a) Blocul logic al platformei Nextreme; b) Celula logic Nextreme [2]. a

a proiectelor pe aceste noi tehnologii. Testarea este, de asemenea, mult simplicat prin faptul c toate a a bistabile platformei sunt connectate lanturi de scanare, iar padurile de intrare ieire sunt controlabile prin n s intermediul intefetei JTAG. 3.1.1 Blocuri logice

Macroblocurile logice ale tehnologiei eASIC, se numesc eCore i formeaz un grup s a mpreun cu o memorie a bloc, numit bRAM. Aceste grupuri sunt repetate de un anumit numr de ori, functie de aceasta rezultnd a a n a capacitatea logic a platformelor structured ASIC. Blocurile logice au o structur ierahic, ind alctuite a a a a din 8 uniti logice, numite eUnit i ecarea eUnit este o matrice de 16 pe 16 celule logice, numite eCell. at s Aceast organizare ierarhic a elemetelor logice ale arhitecturii structured ASIC este prezentate Figura a a n 3-2a. Celula logic de baz, eCell, este prezentat Figura 3-2b. Structura celulei de baz, este similar cu a a a n a a cea a arhitecturilor FPGA, contine elemente logice cu functie x (porti logice, multiplexoare, bistabile, a bufere) i elemente logice cu functie programabil de tip LUT (Look-Up Table) care pot implementa functii s a combinationale sau memorii SRAM, numite eRAM, a cror lime i adncime este congurabil prin via. a at s a a Pe lng posibilitatea de congurare a LUT-urilor, datorat implementrii acestora cu memorie SRAM, a a a a elementele celulei de baz pot programabil interconectate a ntre ele prin trasee de metalizare, numite jumperi, a cror programare se face, bine eles, folosind acelai unic nivel de metalizare via. Avnd un buer a nt s a thres-state component, celula de baz poate congurat s implementeze o memorie de dimensiune n a a a a 16x1 ca parte a unei memorii SRAM distribuite. Pe baza componentelor celulei logice de baz se pot implementa functii combinationale simple de 2-3 intrri a a folosind LUT-urile, NAND-urile sau multiplexorul, functii de 4-6 intrri folosind LUT-urile i NAND-urile a s i cazuri foarte rare se pot implementa chiar functii de 9 intrri, folosind ambele LUT-uri, ambele porti s n a NAND i multiplexorul. s 3.1.2 Blocuri de memorie

Pe platforma structured ASIC prezentat exist dou posibiliti de implementare ecient a memoriilor, a a a at a ambele descrise cadrul Figurii 3-2a. Acestea sunt: n folosirea memoriilor bloc, bRAM, memorii de 32 kilobiti cu un singur port de scriere/citire ce pot congurate prin via ca 32Kx1, 16Kx2, 8Kx4, 4Kx8, 2Kx16 i 1Kx32. Aceste memorii sunt plasate s lng ecare bloc logic pentru a se putea asigura functionarea lor la frecvent ridicat. a a a a folosirea memoriilor distribuite, eRAM, presupune congurarea unui grup de celule logice pentru a

3 Tehnologii tip structured ASIC

16

ndeplini functia de memorie SRAM cu dou porturi. Aceste memorii sunt congurabile prin via i a s pot avea limi at ntre 1 i 16 biti i adncime s s a ntre 16 i 256 de locatii. Folosind mai multe instante s de eRAM, se pot modela i memorii cu dimensiuni mai mari dect 256x16, dar exist limitarea unei s a a singure instante de memorie per unitate logic, eUnit. Memoriile eRAM au avantajul de a putea a nglobate acelai bloc n s mpreun cu logica asociat, pentru a se asigura o frecventa de functionare a a ridicat. a Ambele tipuri de memorii ce pot folosite pe platforma structured ASIC ofer posibilitatea de a stoca ea cient informatia de congurare necesar arhitecturilor recongurabile dinamic, multicontext. Constrngerea a a limii maxime a unui eRAM la 16 biti i imposibilitatea de a plasa mai multe instante per eUnit pot at s limitri folosirea ecient a memoriilor distribuite. a n a 3.1.3 Structura de interconnectare

Structura de interconectate reprezint avantajul central al acestei noi tehnologii, este principala diferent a a ntre tehnologia structured ASIC i FPGA. Folosind aceast metodologie se poate fabrica s a ntreaga platform a ca un circuit neprogramat, reducndu-se substantial costurile de productie prin fabricarea unui singur set a de mti pentru toate circuitele ce vor implementate ulterior pe aceast platform. Ulterior, conform as a a proiectului utilizatorului se va congura un singur nivel de metalizare via pentru a realiza congurarea celulelor logice, a memoriilor, a padurilor de intrare-ieire i a tuturor conexiunilor dintre acestea. s s Figura 3-3 se prezint nivelele de metalizare ale In a tehnologiei eASIC Nextreme cu reliefarea nivelului de via programabil dintre nivelele de metalizare 6 i 7. Progras marea singurului nivel de metalizare se poate face prin crearea unei singure mti de fabricatie sau chiar cazul as n volumelor reduse de fabricatie prin intermediul tehnologiei eBeam, ce nu necesit nici o masc. a a Programarea prin via a acestor elemente ale tehnologiilor structured ASIC are avantaje mari ceea ce privete n s reducerea ariei ocupate i a puterii consumate precum i s s prin cresterea frecventei de functionare comparativ cu cir cuitele FPGA, dar elimin posibilitatea de recongurare. a Cu ajutorul LUT-urilor bazate pe memorie SRAM, se pot, anumite cazuri, dezactiva anumite prti cu probleme ale n a circuitelor implementate, dar nu se pot modica functiile logice pentru depanarea i rezolvarea anumitor deciente s proiectare. n 3.1.4 Structuri de testare

Figura 3-3: Nivelele de metalizare Nextreme [2].

Pentru testare, tehnologiile structured ASIC folosesc metologiile standard de testare a circuitelor integrate, existnd elemente logice dedicate testrii ATPG (Automatic Test Pattern Generation), JTAG (Joint Test a a Action Group) i BIST (Built-In Self Test). s Pentru testarea logicii se folosete metodologia ATPG, plaftformele eASIC avnd lanturile de scanare s a implementate nivelele de baz ale tehnologiei. Acestea folosesc multiplexat anumite paduri de intrare ieire n a s pentru introducerea, respectiv citirea datelor din lanturile de scanare, i dou paduri dedicate (SCANMODE, s a SCANMODEDR) pentru trecerea platformei diferite moduri de test. n Testarea tuturor elementelor platformei structured ASIC poate fcut i folosind interfata serial a a s a standardizat JTAG. Aceasta folosete 4 paduri dedicate semnalelor TCK, TDI, TMS i TDO i este folosit a s s s a special pentru vericarea padurilor de intrare-ieire, a generatoarelor de ceas i a conexiunilor circuitului n s s montat pe cablajul imprimat. Pentru testarea memoriilor exist blocuri logice dedicate ce folosesc algoritmi de tip BIST, pentru o a vericare exaustiv a tuturor locatiilor de memorie. a

17

Implementarea proiectelor pe platforme structured ASIC

Toate aceste elemente de testare inserate pe platformele structured ASIC simplic mult proiectarea, a testarea i vericarea proiectelor implementate pe aceste noi tehnologii. s 3.1.5 Congurarea platformei

Un proiect este complet denit de nivelul de metalizare prin via i de valorile tuturor LUT-urilor de s pe platforma structured ASIC. Valorile LUT-urilor sunt programate prin nscrierea unor valori initiale dintr-o memorie serial extern, ce folosete standardul SPI (Serial Peripheral Interface Bus). Responsabil a a s de aceast congurare initial este procesorul, numit eMu, care foloseste doi pini dedicati (EMUCLK, a a EMURESET) i poate semnaliza sfritul operatiei de congurare a platformei printr-un semnal optional s as (INITDONE). Durata procesului de congurare depinde de mrimea platformei i de numrul elementelor a s a ce necesit initializare i este a s ntre 170 ms i 1370 ms, cazul folosirii unui ceas de 100MHz. s n Posibilitatea de recongurare a LUT-urilor de pe platformele structured ASIC la ecare punere sub tensiune ofer posibilitatea crerii unor arhitecturi cu recongurare static ce si a a a nmagazineaz informatia de a programare doar elemente de tip LUT. Aceasta va folosit de autor pentru denirea tuturor arhitecturilor n a cu recongurare static, deoarece ofer cel mai bun raport a a ntre aria ocupat de o aplicatie implementat a a direct pe structured ASIC i aceeai aplicatie implementat pe arhitecturi recongurabile. s s a

3.2

Implementarea proiectelor pe platforme structured ASIC

Pentru implementarea unui proiect pe platformele structured ASIC se foloseste o metodologie similar cu a cea a circuitelor FPGA, dar la care se adaug i cteva din etapele folosite cazul implementrilor de celule as a n a standard. Pentru familia de circuite, eASIC Nextreme metodologia de lucru este bazat pe mediul integrat a de lucru Magma BlastCreate SA [30], dar sunt folosite i unelte software dezvoltate de rma eASIC. s

3.3

Concluzii

Tehnologiile tip structured ASIC ofer o alternativ proiectelor implementatate tehnologii de celule a a n standard care vor s reduc costurile i proiectelor implementate pe FPGA ce vor s a a s a si mbunteasc a at a performantele de arie, putere i frecventa de lucru. Avantajul dat de congurarea interconexiunilor circu s itului prin intermediul unui singur nivel de metalizare, elimin posibilitatea de recongurare a aplicatiilor a implementate pe structured ASIC. Sunt a cteva caracteristici care apropie circuitele structured ASIC de ns a FPGA, caracteristici pe care le putem folosi pentru denirea unor arhitecturi recongurabile: LUT-urile implementate cu memorie SRAM, ofer posibilitatea de schimbare a functiei logice implea mentate acestea la ecare punere sub tensiune. Putem folosi aceast facilitate pentru denirea unor n a arhitecturi recongurabile static fr a necesita un surplus de arie foarte mare. aa conguratia celulei de baz permite implementarea unor functii AND, OR de pn la 8 intrri per celul a a a a a logic pentru arhitecturile bazate pe termeni produs. Fiind similar cu celula de baz a FPGA permite a a a denirea unei celule FPGA bazat pe LUT4 i bistabil ce va necesita o retea dual de interconectare. a s a posibilitatea de a descrie structural arhitecturile recongurabile, folosind anumte congura;tii ale celulei de baz, va a mbunti rezultatele de arie i timp ale acestora a at s regularitatea arhitecturii permite dezvoltarea simpl a unor macroblocuri ce pot repetate de un a numr mare de ori i preplasate pentru a obtine rezultate de arie i timp optime. a s s integrarea memoriilor reteaua de blocuri logice permite denirea unor arhitecturi recongurabile n dinamic, multi-context sau cu multiplexare timp ce asigur schimbarea conguratiei circuitului chiar n a ntr-un tact de ceas. Exist a i aspecte ale tehnologiei structured ASIC care constituie limitri folosirea ei ca suport pentru a ns s a n arhitecturile recongurabile. Astfel, limitarea limii memoriei eRAM i imposibilitatea de a deni mai at s multe instante de memorie distribuit per unitate logic va afecta mod negativ plasarea unei arhitecturi a a n bazate pe memoria distribuit. Imposibilitatea de a folosi buerul three-state pentru conguratii logice, nu a va permite trasee de interconectare bidirectionale, ceea ce va afecta probabil utilizarea arhitecturilor denite. Aceste limitri pot eliminate prin modicarea layout-ului, viitoare implementri ale tehnologiilor a n a structured ASIC pentru a se asigura un suport optim pentru implementarea arhitecturilor recongurabile.

4. Arhitecturi recongurabile pentru tehnologii tip structured ASIC


Circuitele de tip structured ASIC au avantaje majore fata de circuitele tip FPGA: aria ocupat mai a mic, timpi de propagare mai mici i putere consumat mai mic. Toate aceste avantaje vin din faptul a s a a c se folosete un singur nivel de metalizare tip via pentru realizarea conguratiilor celulelor logice i a s s interconexiunilor dintre acestea. Circuitele tip FPGA au a avantajul de a putea programate i ns s reprogramate de ctre proiectanti pentru a modica functionarea proiectului implementat. Reprogramarea a poate fcut pentru a rezolva o problem logica proiectului, pentru a aduga o nou facilitate sau chiar a a a n a a pentru a implementa un proiect complet nou folosind acelai circuit FPGA. Aceast exibiltate a circuitelor s a de tip FPGA de a putea reprogramate este pierdut cazul circuitelor de tip structured ASIC prin a n folosirea unui nivel de metalizare programarea circuitului. n acest capitol se propun arhitecturi recongurabile ce pot implementate pe tehnologii de tip structured In ASIC pentru a aduga reprogramabilitatea pierdut conguratiile celulelor logice i interconexiunilor prin a a n s folosirea unui nivel de metalizare. Prezentate Tabelul 4-1, acestea vor descrise detaliu continuare, n n n implementate folosind tehnologia eASIC Nextreme i analizate din punct de vedere al ariei necesare per s poart logic echivalent i a frecventei maxime de functionare. a a as

4.1

Arhitecturi SPLD

Arhitecturile SPLD sunt cele mai simple arhitecturi programabile, bazate pe dou planuri programabile a de tip AND i respectiv de tip OR. Ele pot folosite pentru implementri reprogramabile ale unor aplicatii s a de dimensiune redus ind potrivite pentru a realizarea functiilor logice exprimate sub forma de sum de a a produse, dar datorit simplitii lor pot implementate pe tehnologiile tip structured ASIC cu un surplus a at minim de arie aditional. a 4.1.1 ePAL - Arhitectur PAL programabil static a a

Pentru tehnologia eASIC Nextreme, o arhitectur programabil mod static folosete pentru a stoca a a n s informatia de programare elementele logice congurabile de tip LUT, care pot implementa functii combi nationale de pan la trei intrri. Informatia a a nscris elementele de tip LUT poate modicat doar la a n a initializarea circuitului, fapt care permite recongurarea aplicatiei implementate doar ntre dou executii a succesive ale acesteia. Posibilitatea de a reprograma un circuit folosind informatia nscris elementele a n logice de tip LUT a fost introdus pentru tehnologiile tip structured ASIC [31]. a n Pentru a implementa o arhitectur de tip PAL tehnologie structured ASIC vom folosi mai multe nivele a n de realizare, ecare nivel de realizare ind implementat ntr-o celul logic, eCell, dup cum este descris a a a n Figura 4-1. Astfel pentru cele dou nivele logice ale structurii PAL vom avea pn la 5 nivele de realizare a a a structura ePAL. n Primul nivel realizeaz o functie AND programabil, de aceea va implementat ca o functie de maxim 6 a a intrri i va aprea orice conguratie de ePAL. Nivelele 2, 3 i 4 realizeaz functii xe, pot implementate a s a n s a ca functii de maxim 8 intrri folosind pe lng cele dou LUT3 i portile NAND2 i eventual inversoarele. a a a a s s Structura nivelului 2 difer functie de numrul de intrri, putnd realiza o functie OR de 8 intrri, a n a a a a combinatii de functii AND-OR de 8 intrri i functia AND de 8 intrri. Nivelul este optional, poate lipsi a s a
Tabelul 4-1: Arhitecturi recongurabile pentru structured ASIC

Tip de congurare Static a Dinamic a

Numr a de contexte 1 1 n n

Modalitate modicare context Bitstream Serial a Paralel a Secvential a

Tip circuit SPLD ePAL eSLPLA eTMPLA v1 eTMPLA v2 CPLD eCPLD eSLCPLD eTMCPLD v1 eTMCPLD v2 FPGA eFPGA -

19

Arhitecturi SPLD

pentru conguratii mici. Nivelele 3 i 4 sunt xe i realizeaz s s a ntotdeauna functia OR de 8 intrri. Nivelele a 3 i 4 sunt nivele optionale, pot lipsi functie de numrul de intrri i de termeni produs. Nivelul 5 sau s n a a s nivelul de ieire este programabil permitand selectarea ieirii combinationale sau din registru. Nivelul va s s aprea orice conguratie de ePAL. a n
Intrari si bucle de stare

Pe lng registru i selectarea ieirii nivelul 5 reaa a s s lizeaz un OR de 4 intrri, folosind perechea LUTa a NAND rmas nefolosit, lucru care permite ca a a a nivelele 2, 3 i 4 s lipseasc anumite conguratii s a a n functie de numrul de intrri i de termeni produs. n a a s Nivelul 1 - realizeaz o functie AND programabil. a a Pe un eCell se implementeaz att inversoarele a a pentru intrri, nodurile programabile i o parte a a s functiei AND de pe nivelul 1. Figura 4-2 se In prezint implementarea unei functii AND3 prograa mabile folosind un LUT cu trei intrri, LUT3. a Un eCell contine dou LUT3, deci va putea im a plementa, folosind i multiplexorul, o functie AND6 s programabil prin modicarea continutului celor a dou LUT-uri. a Nivelul 2 - este un nivel x, functie de numrul n a de intrri realizeaz urmtoarele functii de 8 intrri a a a a folosind cele dou LUT3 i cele dou NAND2, astfel: a s a OR8 - dac numrul de intrri este mai mic a a a sau egal cu 6 ( n 6 ) AND2 + OR4 - dac numrul de intrri este a a a ntre 7 i 12 ( 6 < n 12 ) s AND4 + OR2 - dac numrul de intrri este a a a ntre 13 i 24 ( 12 < n 24 ) s AND8 - dac numrul de intrri este a a a ntre 25 i 48 ( 24 < n 48 ) s Nivelul 3 - este un nivel x, realizeaz o functie a OR de 8 intrri. Nivelul poate lipsi, cazul a n n care functia OR ce nsumeaz termenii produs este a realizat pe nivelul 2 sau pe nivelul de ieire. a s Nivelul 4 - este un nivel x, realizeaz o functie a OR de 8 intrri identic ca nivelul 3. a

nod programabil nod fix

In[0]

In[1]

In[n]

Iesiri

dff
clk

Out[0]

dff
clk

Out[1]

dff
clk

Out[m]

Nivelul 1

Nivelul 2

Nivelele 34

Nivelul 5 de iesire

Figura 4-1: ePAL: o structur pe 5 nivele de realizare a


nod programabil
A

nod fix

C Y

LUT3

a Nivelul 5 - este un nivel ce realizeaz o functie OR Figura 4-2: Implementarea functiei AND3 cu intrri a programabile pe LUT3 de 4 intrri, un bistabil cu reset asincron i set sau a s reset sincron. Poate programat pentru a genera ieirea combinational sau din registru folosind pentru aceasta un LUT a crui conguratie selecteaz ieirea. s a a a s

Bistabilul are posibiltate de reset asincron ce permite implementarea facilitii de reset sau set asincron. at caz de set asincron, se vor folosi dou inversoare In a nainte i dup bistabil ce vor trebui integrate s a n logica implementat pe nivelele AND-OR. Acest lucru complic implementarea programelor EDA pentru a a implementarea circuitele tip ePAL. Pentru a elimina acest neajuns, se pot folosi facilitile de set i reset at s sincron. Bistabilul are posibilitatea de a resetat sau setat sincron folosind un LUT extern celulei de ieire. s 4.1.1.1 Rezultatele implementrii ePAL22v10 pe structured ASIC a

Pentru a valida din punct de vedere al ariei i al timpului de propagare arhitectura recongurabil propus s a a s-a ales implementarea unei structuri PAL22v10, cea mai folosit conguratie de PAL. Structura PAL22v10 a are 22 de intrri i 10 ieiri, tipic din cele 22 de intrri 10 sunt interconectate cu cele 10 ieiri prin intermediul a s s a s

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC


Tabelul 4-2: Rezultate de arie pentru aplicatia XOR22v10 implementat pe ePAL22v10 a

20

Implementare Nextreme ePAL22v10

Aria [eCell] 150 688

NX750 [%] 0,271 1,244

NX1500 [%] 0,149 0,685

NX2500 [%] 0,088 0,404

NX4000 [%] 0,054 0,248

NX5000 [%] 0,041 0,191

unor buere tree-state din macrocelula de ieire. Aceast structur generic asigur exibilitatea maxim s a a a a a proiectare, permitnd congurarea macrocelulelor de ieire (OLMC - Output Logic MacroCell) de ctre n a s a utilizator. PAL22V10 are un numr variabil de termeni produs per macrocelul de ieire (OLMC). Din a a s cele zece OLMC disponibile, dou OLMC au acces la opt termeni produs (pinii 14 i 23), dou au zece a s a termeni produs (pinii 15 i 22), dou au doisprezece termeni produs (pinii 16 i 21), dou au paisprezece s a s a termeni produs (pinii 17 o 20) i dou OLMC au aisprezece termeni produs (pinii 18 i 19). Polaritatea s s a s s ieirii ecrui OLMC poate programat individual pentru a neinversat sau inversat, ieirea poate s a a a a s programat s functioneze mod combinational sau secvential. a a n Pentru a determina cantitativ performantele circuitului recongurabil ePAL22v10 propus, din punct de vedere al ariei ocupate i al frecventei de functionare, s-a implementat circuitul folosind tehnologia eASIC s Nextreme pe platforma NX750 tehnologie Fujitsu de 90 nm. Circuitul a fost descris folosind limbajul n de descriere hardware Verilog, versiunea 2001, ce permite bucle pentru generarea automat a instantelor a necesare, conform algoritmului descris anterior. Fiierul Verilog este unul complet structural descrierea s circuitului ind fcut numai cu instante de eCell-uri congurate i interconectate corespunztor. Pentru a a a s a avea un termen de comparatie ntre o aplicatie implementat pe ePAL22v10 cu posibilitatea de recongurare a static i acceasi aplicatie implementat fr posibiltate de recongurare, s-a ales implementarea unei a s a aa aplicatii de test, numit XOR22v10, care folosete toate intrrile, toti termenii produs, toate bistabilele a s a i toate ieirile circuitului. Implementarea aplicatiei de test, att direct pe eASIC Nextreme ct i prin s s a a s congurarea structurii ePAL22v10 i implementarea ulterioar pe eASIC Nextreme, s-a fcut folosind solutia s a a integrat oferit de Magma Design Automation [30] numit BlastCreate SA. a a a Tabelul 4-2 prezint rezultatele de arie obtinute urma implementrii aplicatiei de test pe eASIC a n a Nextreme. Se observ faptul c aplicatia implementat este de mici dimensiuni (cteva sute de porti a a a a echivalente). Raportul de arie ntre implementarea aplicatiei pe arhitectura programabil ePAL22v10 i a s implementarea direct structured ASIC este de aproximativ 4,5 la 1. Dac considerm ca medie putem a n a a n imlplementa ntre 8 i 12 porti echivalente pe un eCell, atunci putem estima faptul c folosind arhitectura s a ePAL putem implementa 2 porti echivalente per eCell. Tabelul 4-3 prezint rezultatele obtinute urma analizei statice de timp asupra celor dou circuite: a n a implementarea direct structured ASIC i implementare folosind arhitectura programabil ePAL22v10. a n s a S-a realizat analiza de timp conditiile Worst Case, 85 C pentru tehnologie standard (STD - 1,2V) i n s nalt performant (HP - 1,3V). a a Tabelul 4-3: Rezultate de timp pentru aplicatia Timpul care se face schimbarea conguratiei n pentru un ePAL este x, nu depinde de structura implementat, deoarece nu este permis recongurarea a a unei portiuni a platformei eASIC Nextreme. acest In caz timpul de congurare este x, ind dat doar de mrimea platformei alese pentru implementare ind a ntre 253ms pentru NX750 i putnd ajunge pn la 2057ms s a a a
XOR22v10 implementat pe ePAL22v10 a

Implementare Nextreme ePAL22v10

HP 1,3V [ns] 1,813 2,590

STD 1,2V [ns] 1,995 2,851

pentru NX5000 [28].

Arhitecturile reprogramabile static de tip ePAL ofer posibilitatea de recongurare post-productie a a aplicatiilor de dimensiune mic implementate pe structured ASIC. Folosind ca memorie de congurare chiar a LUT-urile bazate pe memorie SRAM; ele permit schimbarea conguratiei active doar ntre dou executii a succesive ale aplicatiei. Totodat, folosirea LUT-urile implementate cu memorie SRAM, ca element de a congurare, are ca avantaj o bun utilizare a ariei permitnd implementarea a aproximativ dou porti a a a echivalente per eCell. Implementarea unei structuri ePAL22v10 a demonstrat c arhitectura propus poate a a functiona la frecvent ridicat fr a afecta frecventa maxim de functionare a aplicatiei. a a aa a

21 4.1.2 eTMPLA - Arhitectur PLA cu multiplexare timp a n

Arhitecturi SPLD

Flexibilitatea dispozitivelor programabile este dat de posibilitatea de a congurate pentru a realiza o a gam larg de aplicatii. Procesul de recongurare dinamic, timpul executiei aplicatiei, poate introduce a a a n o latent suplimentar, datorit recongurrii aplicatiei. Pentru aplicatiile ce necesit recongurarea a a a a a n timpul executiei aceast latent poate prohibitiv. O alternativ este de a asigura spatiu de stocare a a a a pentru mai multe conguratii simultan, facilitnd recongurarea rapid. Un dispozitiv cu mutiplexare a a n timp (numit i multi-context) contine planuri multiple (contexte) de conguratii. Fiecare nod congurabil s al circuitului este controlat de un multiplexor, ce selecteaz o conguratie din planul de contexte. a Mrimea unui proiect este msurat conventinal folosind metrica numrului de porti logice folosite pentru a a a a a rezolva o problem. Aceast metric a numrului de porti echivalente, nu ine cont de aspectul temporal a a a a t al utilizrii portilor logice. Pot exista cazuri care o poart este folosit doar o scurt fractiune din timpul a n a a a utilizrii circuitului. DeHon propune [19] s se considere i aspectul temporal al utilizrii portilor logice a n a s a denind o lime de band a portii logice. Structurile cu multiplexare timp at a n ncearc s optimizeze tocmai a a aceast lime de band a portii logice. Pentru FPGA, mai multe arhitecturi multi-context au fost propuse: a at a TMFPGA (Time Multiplexed FPGA) [18], DPGA (Dynamic Programable Gate Array) [19, 20, 21], Dharma [22] i Morphosys [32]. s Pentru structured ASIC, prima arhitectur recongurabil multicontext, eRECOP [33], a fost propus de a a a Dene i comparat cu structura de PAL22V10 [34] fr a testat implementarea ei pe structured ASIC, ss a n aa a deoarece necesita modicarea layout-ului pentru familiile structured ASIC existente. Ideile lui Dene au s stat la baza dezvoltrii arhitecturii eTMPLA, prin adugarea de suport real pentru multiplexarea timp a a n [35] i optimizarea ariei ocupate [36]. s 4.1.2.1 Matricea AND-OR

Pentru a implementa un PLA programabil dinamic este nevoie primul rnd de implementarea unor n a noduri programabile. Ideea care st la baza obtinerii unor noduri reprogramabile tehnologia structured a n ASIC, este folosirea elementului neutru pentru functiile logice AND i OR. s
Neutral Un astfel de nod reprogramabil este format dintr-un multiplexor, i un s Element element de memorie (sau element de congurare) care stocheaz bitul de a Config selectie pentru multiplexor (Figura 4-3). Pentru un nod programat, bitul 0 1 Bit de selectie nscris in elemetul de congurare (bitul C din Figura 4-4a va permite conectarea intrrii dorite la nivelul AND, sau conectarea termenului a produs dorit la nivelul OR. cazul nodului neprogramat, multiplexorul va In 1 pentru AND, i 0 pentru OR) la nivelul AND conecta elemetul neutru ( s Figura 4-3: eNode - nod coni respectiv la nivelul OR. s gurabil structured ASIC [33] n

Implementarea sistemelor digitale sincrone presupune adugarea unor registre pe ieirea submodulelor. a s Structura din Figura 4-4a permite ieiri combinationale sau secventiale, functie de nevoile utilizatorilor. s n Posibilitatea folosirii ieirilor secventiale sau combinationale are ca efect creterea numrului de biti de s s a congurare, creterea ariei alocate pentru stocarea conguratiei i implicit scderea numrului de eCell-uri s s a a alocate pentru logica propriu-zis. a Ideea de baz multiplexrea timp o constituie suprapunerea a n planuri, rezultnd o utilizare mai a n n a ecient a logicii. Avnd vedere c un eCell poate implementa o celul de eRAM de 16-biti, putem a a n a a considera n = 16. Memoria de congurare, distribuit sau grupat a a ntr-un eRAM, va stoca 16 biti de congurare pentru ecare nod din structura eTMPLA. Astfel, memoria de congurare poate vazut ca a 16 plane de congurare. La punerea sub tensiune, toti bitii din logic (nivelele AND i OR) i din aria de a s s interconectare (noduri) sunt arcati simultan. nc 4.1.2.2 Microregitrii s

Dac logica combinational poate multiplexat timp a a a n ntre mai multe conguratii, valorile de stare nu pot multiplexate. Ele trebuie stocate pentru a disponibile pentru logic din conguratiile urmtoare. a a Solutia este adugarea unor microregitri la ecare ieire din structura eTMPLA (Figura 4-4a). Un a s s

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC


Input C (k,l) 1 1 ... 0 Function X0 X1 Xn1 Config Memory Output cell 1
(m,n)

22

ePLA Structure (AND/OR levels)

1 1 0

Function X0 context C (m,n) C (k,l)

Node (k,l)

Function X0 X1 Xn1 Node (m,n)

0 C (m,n) 0 0 1 ... 1

X0 X1 Xn1

micro registers C (m,n) 0 0 1 1 ... ... 1 1 0

Function Xn1 context Output (b)

D Q (a) CK

Figura 4-4: Arhitectura eTMPLA: a)Matricea AND-OR cu microregitri; b)Memoria de congurare. s

microregistru stocheaz ieirea PLA (combinational sau secvential), cnd circuitul schimb conguratia. a s a a a a Salvarea strii este fcut automat, folosind acelai semnal de ceas ca pentru logica implementat a a a s a n arhitectura recongurabil. Logica implementat pe platform poate accesa valorile stocate microregitrii a a a n s pentru orice conguratie. Pe lng ieirea PLA, arhitectura propus export o interfat de acces la a a s a a a microregistri. modul automat logic, prezentat sectiunea 2.3.2 de la pagina 12, microregitrii stocheaz valorile In n s a intermediare i valorile bistabilelor. Aceasta este o functie esential. Dac circuitistica combinational s a a a poate multiplexat timp a n ntre mai multe functii, informatia de stare nu poate multiplexat. a modul partajat n timp, prezentat sectiunea 2.3.2 de la pagina 12, microregitrii sunt folositi pentru In n s a transmite date de la o conguratie la alta i pentru a salva starea unei conguratii, cnd este dezactivat. s a a La reactivarea conguratiei, circuitul va restaura starea tuturor regitrilor folosind valorile din microregitri. s s

4.1.2.3

Memoria de conguratii

Memoria de conguratii, prezentat Figura 4-4b, servete pentru pstrarea celor n conguratii ale a n s a circuitului i ideal ar s permit schimbarea conguratiei active s a a ntr-un singur tact de ceas. Pentru tehnologii de tip structured ASIC trebuie sa folosim una din metodele existente de a implementa memorie RAM: implementarea cu bistabile D este o solutie care permite plasarea bistabilelor aproape de nodurile controlate, dar are marele dezavantaj de a mare consumatoare de resurse. De exemplu, pentru 16 contexte vor trebui utilizate cel putin 16 celule logice, eCell. implementarea cu memorii distribuite de tip eRAM e o solutie foarte bun, deoarece permite ca a memoria s e integrat cu logica controlat. Aria necesar pentru a implementa o memorie 16x1 a a a a tehnologie eASIC este de doar 1 eCell, cel putin de 16 ori mai mic dect cea implementat cu n a a a bistabile. Singurele dezavantaje sunt date de faptul c nici nu se pot implementa memorii mai late a de 16 biti i nici nu se poate implementa mai mult de o instant de eRAM pe un eUnit (matrice de s a 16x16 eCell-uri). Acest lucru va duce la un layout mprtiat pe platform, ce va afecta negativ aria as a i frecventa maxim a aplicatiilor implementate pe arhitectura cu multiplexare timp. s a n implementarea cu memorii bloc, bRAM, este o solutie pentru aplicatiile care nu necesit schimbarea a contextului ntr-un singur tact de ceas. Acest lucru este dat de faptul c adncimea minim a blocului a a a bRAM este de 1024 de locatii, iar limea maxima este de 32 de biti. Considernd un dispozitiv cu at a 16 contexte, un bRAM poate asigura memoria necesar pentru 2048 de noduri recongurabile, iar a recongurarea celor 2048 de noduri va dura 64 de tacte ale semnalului de ceas. Aceast solutie este a preferat deoarece memoriile bRAM ind cu un singur port de scriere - citire, sunt putin folosite de a aplicatiile implementate pe structured ASIC.

23

Arhitecturi SPLD

X X
ctx_bit[0]

Element Neutru 0 1

X
Element Neutru

ctx_bit[0]
Element Neutru

ctx_bit[1] nod neprogramat nod programat

ctx_bit[1]

a)

b)

c)

Figura 4-5: Optimizarea numrului de noduri programabile: a) Noduri programabile PLA; b) Structura initial a a cu dou eNode-uri pe intrare; c) Structura optimizat cu un singur eNode pe intrare. a a

4.1.2.4

Optimizarea ariei pentru arhitectura eTMPLA

Structura din Figura 4-4a, pentru o conguratie de trei intrri necesit porti AND cu numr dublu de a a a intrri deoarece se propag att varianta negat i varianta nenegat pentru ecare intrare. De asemenea, a a a as a numrul de eNode-uri necesar este dublat de necesitatea programrii variabilei negate i nenegate. Acest a a s lucru poate optimizat, pentru c un termen produs nu poate folosi acelai timp varianta negat i a n s a s varianta nenegat a unei intrri. Figura 4-5a prezint nodurile programabile din structura PLA, Figura a a a 4-5b prezint structura initial folosit pentru selectarea unei intrri iar Figura 4-5c propune comasarea a a a a celor dou eNode-uri a ntr-unul singur cu urmtoarele avantaje: a aria ocupat de un eNode rmne aceeai, ind de un LUT cu trei intrri att pentru varianta initial a a a s a a a [34], ct i pentru varianta optimizat. a s a eNode-ul modicat folosete s ntreg LUT-ul ind o functie de trei intrri, varianta initial folosea LUT a a ul suboptimal pentru implementarea unei functii de dou intrri. a a numrul de eNode-uri este redus la jumtate. a a numrul de intrri necesar poarta AND este de asemenea redus la jumtate. a a n a inversoarele pentru intrri nu mai sunt necesare, ind integrate eNode i implementate acelai a n s n s LUT cu nodul programabil. numrul de biti de congurare rmne acelai, semnicatia lor ind diferit. varianta initial, bitul a a a s a In a zero selecta dac variabila nenegat este folosit poarta AND, iar bitul unu selecta dac variabila a a a n a versiunea optimizat, bitul zero selecteaz dac variabila este folosit poarta negat este folosit. In a a a a a a n AND, iar bitul unu selecteaz dac variabila este folosit negat sau nenegat. a a a a a Functia de trei intrri a eNode-ului modicat va necesita un LUT, aadar vom putea implementa dou a s a eNode-uri ntr-un singur eCell. 4.1.2.5 Rezultatele implementrii eTMPAL22v10 pe structured ASIC a

Folosind arhitectura propus anterior pentru eTMPLA s-a generat o structur clasic de PAL22V10 cu a a a dou modalitti de implemntare a memoriei de contexte (de congurare): a a a a eTMPAL22v10 v1 are memoria de contexte implementat cu memorie distribuit eRAM eTMPAL22v10 v2 are memoria de contexte implementat cu memorie bloc bRAM a Numrul de contexte ales pentru implementare a fost 16, deoarece cea mai mic adncime posibil pentru a a a a memoria eRAM este 16. Nodul programabil, eNode, necesit un LUT pentru implementare, structura eCell-ului avem dou LUTa n a uri, deci vom putea implementa dou eNode per eCell. Pentru varianta care memoria de congurare este a n implementat cu bRAM, avem nevoie de posibilitatea de a stoca local cei doi biti de congurare, deoarece a schimbarea unei conguratii se face secvential. Avnd nevoie de dou bistabile, structura aceasta de eNode a a va necesita dou eCell-uri. a

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC


Tabelul 4-4: Rezultate de arie pentru aplicatia XOR22v10 implementat pe eTMPAL22v10 a

24

Implementare Nextreme eTMPAL22v10 v1 eTMPAL22v10 v2 [eCell] 150 11839 7863

Aria [eRAM] 0 334 2

[bRAM] 0 0 3

NX750 [%] 0,271 14,219

NX1500 [%] 0,149 11,324 7,835

NX2500 [%] 0,088 6,685 4,625

NX4000 [%] 0,054 4,110 2,843

NX5000 [%] 0,041 3,170 2,293

Tabelul 4-5: Rezultate de timp pentru aplicatia XOR22v10 implementat pe eTMPAL22v10 a

Implementare clk [ns] 1,813 5,579 3,765

Nextreme eTMPAL22v10 v1 eTMPAL22v10 v2

HP 1,3V cclk durat cong. a [ns] [ns] 6,830 6,830 4,355 252,590

clk [ns] 1,995 6,137 4,146

STD 1,2V cclk durat cong. a [ns] [ns] 7,494 7,494 4,794 278,052

Arhitectura cu multiplexare timp propus a fost modelat Verilog 2001 folosete o abordare generic n a a n s a cu parametrii pentru numrul de intrri i pentru numrul de termeni produs. S-au generat dou descrieri, a a s a a una, eTMPAL22v10 v1, care folosete memoria distribuit i a doua, eTMPAL22v10 v2 folosete memoria s as s bloc. Ambele modele de memorie au fost congurate de lime maxim, adncimea este egal cu numrul de at a a a a contexte pentru memoria eRAM, iar pentru memoria bRAM folosim adncimea maxim. Aadar memoriile a a s eRAM utilizate sunt congurate 16x16, timp ce memoriile bRAM sunt congurate ca ind de 1024x32. n Folosind aceste conguratii o memorie eRAM asigur bitii de context pentru 8 eNode-uri, iar o locatie din a memoria bRAM asigur bitii de context pentru 16 eNode-uri. a Tabelul 4-4 prezint comparativ rezultatele de arie pentru cele dou solutii de eTMPAL22v10 propuse. a a a a a eTMPAL22v10 v1 va genera un layout rspndit pe platforma NX1500, lucru ce afecteaz rezultatele de arie i de timp. Problema este dat de faptul c putem implementa doar o singur memorie distribuit s a a a a pe un eUnit, iar limea magistralelor de date este maxim 16. Se observ Tabelul 4-4 numrul mare de at a n a a a instante de memorie eRAM, care face ca eTMPAL22v10 v1 s nu poat implementat pe eASIC Nextreme NX750, dei numrul de eCell-uri ar permite acest lucru. Solutia care ar rezolva aceast problem este s a a a modicarea layout-ului structured ASIC pentru a permite denirea de memorii distribuite de lime mai at mare. De exemplu, un eRAM poate implementa actual o memorie 256x16, dar nu poate congurat ca 16x256. Posibilitatea de a implementa memorii cu lime mare a magistralelor de date sau posibilitatea de a at implementa multe memorii mici este critic pentru arhitecturile recongurabile a ntr-un singur tact de ceas. Tabelul 4-5 prezint rezultatele obtinute pentru aplicatia de test, XOR22v10, implementat pe eTMa a PAL22v10 comparativ cu aceeai aplicatie implentat direct structured ASIC. Rezultatele de timp relev s a n a fapul c un layout rspndit, pentru eTMPAL22v10 v1, afecteaz negativ i cile de timp. O plasare a a a a s a inadecvat poate afecta i restul logicii implementate pe structured ASIC, ceea ce face ca arhitectura a s recongurabil a ntr-un singur tact de ceas s e o solutie doar pentru conguratii mici de PAL. Arhitectura a bazat pe memorie bloc ofer performante mai bune ceea ce privete aria i frecventa maxim de a a n s s a a functionare. Cu un timp de recongurare de ordinul sutelor de nanosecunde, eTMPAL22v10 ve reprezint o solutie optim din punct de vedere al performantelor pentru arhitecturile cu multiplexare timp. a n 4.1.3 Analiza comparativ a arhitecturilor SPLD propuse a

Cele trei arhitecturi recongurabile de tip SPLD propuse au urmtoarele caracteristici: a ePAL este o arhitectur recongurabil static pe baza exibilitii implementrii logicii LUT-uri a a at a n eSLPLA este o arhitectur recongurabil dinamic, programarea se face mod serial folosind bistabile a a n nseriate ntr-un lant de scanare eTMPLA este o arhitectur recongurabil dinamic cu multiplexare timp ce permite schimbarea a a n rapid a conguratiei, prin folosirea memoriei dedicate pentru stocarea a mai multor contexte. a

25
Tabelul 4-7: Rezultate de timp pentru arhitecturile tip SPLD

Arhitecturi SPLD

Circuit

GAL22V10 COM/IND-4 XOR22v10 ePAL22v10 eSLPAL22v10 eTMPAL22v10 v1 eTMPAL22v10 v2

Perioada clk [ns] 5 1,813 2,590 3,725 5,579 3,765

Perioada cclk [ns] 0,871 6,830 4,355

arcare Inc conguratie [ns] cteva sec. a 250 106 2050 106 4703,400 2342,690 252,590

Schimbare conguratie [ns] cteva sec. a 250 106 2050 106 4703,400 6,830 252,590

Implementarea unei aplicatii de test, direct pe structured ASIC i indirect folosind aceste arhitecturi s recongurabile, a evidentiat costurile ce trebuie pltite pentru a benecia de posibilitatea de a reprograma a functia unui circuit. Datele din Tabelul 4-6 arat faptul c arhitectura cu recongurare static are cea a a a mai mic arie, dar dac se consider raportul a a a ntre aria ocupat i numrul de conguratii posibil de a s a realizat acelai timp, arhitectura cu multiplexare timp ce folosete memoria bloc are cel mai bun n s n s rezultat. Posibilitatea de a maximiza capacitatea logic pentru dispozitivele multi-context depinde mult de a capacitatea uneltelor software de a folosi optim toate conguratiile disponibile. Se poate realiza o comparatie apro Tabelul 4-6: Rezultate de arie pentru arhitecturile tip SPLD ximativ a ntre o implementare pe arhitecturile propuse i un circuit s Circuit Aria Logic per a comercial, GAL22V10 [37]. Penconguratie tru comparatie s-a ales dispozitivul [eCell] [eRAM] [bRAM] [eCell] GAL22V10 COM/IND-4 realizat n XOR22v10 150 0 0 150 tehnologie E 2 CMOS (high performance ePAL22v10 688 0 0 688 CMOS process with Electrical Erasable eSLPAL22v10 6058 0 0 6058 oating gate technology). Rezultatele eTMPAL22v10 v1 11839 334 0 739,93 comparatiei sunt sintetizate Tabelul n 2 3 491,43 eTMPAL22v10 v2 7863 4-7. Arhitectura cu arcare serial, nc a eSLPAL cu versiunea eSLPAL22v10, este descris detaliat doar varianta complet a tezei. Se observ c a n a a a solutiile propuse au rezultate de timp mai bune dect solutia comercial specicat. Timpul de arcare a a a nc a conguratiei de ordinul a cteva secunde pentru GAL22V10 COM/IND-4, este mult redus cazul a n arhitecturilor recongurabile propuse, ind maxim de aproxativ 4,7 s pentru eSLPAL22v10. Timpul de schimbare a conguratiei active este de asemenea mult redus prin stocarea mai multor contexte, conguratia activ putnd schimbat chiar a a a ntr-un tact de ceas. Pentru arhitecturile multi-context se permite plus n suprapunerea functionrii normale pe baza unei conguratii active cu arcarcea altor conguratii paralel. a nc n Tabelul 4-8 prezint estimarea puterii consumate Tabelul 4-8: Estimarea puterii consumate de arhitecturile a de arhitecturile recongurabile de tip SPLD i a s tip SPLD puterii consumate de aplicatia de test implementat a direct structured ASIC, conditii tipice, la un n n Circuit Putere consumat a factor de comutare de 30%. Dac estimm puterea a a STD (1,2V) HP (1,3V) per conguratie logic, se observ c arhitecturile a a a [mW] [mW] cu multiplexare timp au rezultate mai bune cu n XOR22v10 51 56 aproximativ un ordin de mrime, cazul folosirii a n ePAL22v10 59 59 celor 16 conguratii, datorit artirii puterii con a mp eSLPAL22v10 85 99 sumate regim static la numrul de conguratii. n a 117 139 eTMPAL22v10 v1 eTMPAL22v10 v2 100 118 Arhitecturile recongurabile de tip SPLD propuse permit implementarea tehnologii tip structured ASIC a unor aplicatii reprogramabile de dimensiune n relativ mic. Selectarea unei solutii din cele prezentate depinde de necesitatea de recongurare static sau a a dinamic, de aria avut in vedere pentru implementarea circuitului i de timpul care este necesar s se a a s n a fac recongurarea circuitului. a

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC

26

ePLD
1 0 Cp=1 Ci=0 dff

ePLD
programmed noninverting node 1

Dynamic connect
1 0

Cp=1 Ci=1

matrix

(eConnect)
1 1 0

programmed inverting node dff

Cp=0 Ci=x

ePLD a)

node not programmed

b)

Figura 4-6: Arhitectura CPLD: a) Organizare CPLD; b) Organizare ePLD [39].

4.2

Arhitecturi CPLD

Avansul tehnologic a dus la produse cu o capacitate mai mare dect cea a circuitelor PAL sau PLA. Numite a CPLD aceste circuite contin mai multe structuri PLA programabile interconectate de o singur structur a a de rutare central. O diagram a unei astfel de arhitecturi este prezentat Figura 4-6a. Structura PLD, a a a n numit i macrobloc, (Figura 4-6b) este de obicei de lime a s at ntre 8 i 32 de biti, cu mai multi biti de s intrare dect biti de ieire. Ieirile sunt de obicei din bistabile, dar pot i combinationale. De obicei, a s s s toate intrrile a ntr-un macrobloc se conecteaz la toti termenii produs de la toate macrocelulele a mpreun a cu intrri aditionale de reactie i pentru structura de interconectare. Pot deniti i termeni de expansiune a s s ai structurii (similar cu cei deniti pentru familia de circuite Altera Max [6]). Matricea de interconectare se folosete pentru rutarea semnalelor s ntre structurile PLD sau ntre structurile PLD i porturile de intrare-ieire. Tipic, se folosete o singur structur de interconectare plasat central s s s a a a i s nconjurat de structuri PLD. Aceast structur este sucient pentru dispozitivele CPLD, deoarece a a a a macroblocurile ncapsuleaz toat logica iar majoritatea conexiunilor sunt interne. a a Inseamn c este necesar a a un numr relativ mic de interconexiuni a ntre structuri PLD (macroblocuri). Avantajul unei structuri centrale de interconectare este dat i de faptul c majoritatea semnalelor se propag pe ci similare, ceea ce face uor s a a a s de prezis performantele de timp ale circuitului. De asemenea, alt avantaj al structurii de rutare centrale este reducerea puterii consumate fat de arhietecturile bazate pe rutare segmentat ([38]). a a Arhitectura recongurabil este alctuit din mai multe matrici AND-OR congurabile (numite generic a a a ePLD i o singur structur de interconectare recongurabil (numit generic eConnect). s a a a a

4.2.1

eCPLD - Arhitectur CPLD programabil static a a

Tehnologiile structured ASIC care au LUT-urile implementate cu memorie SRAM, beneciaz de posia biliatea arcrii altor functii logice LUT-uri la ecare punere sub tensiune. Pentru a utiliza aceast nc a n a facilitate, au fost create unelte software pentru generarea de circuite programabile ePLD (eGenPLD ) i s structuri de interconectare programabile (eGenConnect). Modelele generate cu aceste programe puteau nglobate proiectele utilizatorilor, pentru a benecia de o exibilitate programare similar circuitelor n n a FPGA. Folosind aceste resurse, a fost propus o prim arhitectur CPLD [40] ce permite reprogramarea a a a static prin posibilitatea arcrii unei noi conguratii la ecare punere sub tensiune. a nc a

27

Arhitecturi CPLD
Tabelul 4-9: Rezultate de arie pentru aplicatia XOR24v64 implementat pe eCPLD64 a

Implementare Nextreme eCPLD64 4.2.1.1

Aria [eCell] 616 3680

NX750 [%] 1,11 6,65

NX1500 [%] 0,61 3,66

NX2500 [%] 0,36 2,06

NX4000 [%] 0,22 1,33

NX5000 [%] 0,17 1,02

ePLD - Structura blocului logic eCPLD

Dimensionarea structurii (ePLD ), a structurii AND-OR programabile din aceasta i a structurii de s interconectare (eConnect) s-a fcut pe baza caracteristicilor tehnologiei eASIC Nextreme folosit pentru a a implementare. Structura ePLD a fost congurat cu 16 intrri i 8 ieiri, cea mai mic conguratie, cu a a s s a un numr de intrri dublul numrului de ieiri. Numrul de intrri, dublul numrului de ieiri, a fost a a a s a a a s ales pentru a putea benicia de o matrice de interconectare de form ptratic (numrul intrrilor egal cu a a a a a numrul ieirilor). a s Numrul de termeni produs per bistabil este de trei, functia OR de trei intrri ind implementabil a a a ntr-un singur LUT. Cellalt LUT din celul va folosit pentru a implementa termenul de extensie. Pentru ecare a a bit de ieire din celul sunt alocate dou intrri i trei bucle asociate ieirilor combinationale, secvential i s a a a s s s a termenului de extensie. Cu 5 intrri asociate ecrei ieiri i cu 8 ieiri a a s s s ntr-o structur PLD, avem un a numr de 40 de intrri in ecare termen produs dac functiile AND de pe primul nivel sunt complet populate a a a (Figura 4-7b). Se poate opta pentru o structur incomplet populat (de exemplu, ar rezonabil ca primii a a doi termeni produs s e functii de 16 intrri, ultimul termen produs i termenul de extensie s e functii a a s a de 32 de intrri) scopul reducerii ariei, dar arhitectura propus folosete structura complet populat a n a s a n scopul simplicrii uneltelor softwtare ce vor folosi arhitectura CPLD. a 4.2.1.2 eConnect - Structur de interconectare programabil static a a

Numrul de structuri ePLD, NeP LD dintr-un CPLD va da dimensiunea matricii de interconectare ca ind a de (NeP LD *NIntrari )x(NeP LD *NIntrari ). Deoarece mod static un LUT poate implementa un multiplexor n 3:1, iar o celul logic poate implementa cel mult un multiplexor 6:1, folosind mai multe celule putem a a implementa multiplexoare 18:1 i 36:1. Cea mai bun conguratie pentru o matrice de interconectare s a de dimensiune mic ar 144x144 avnd parametrul NeP LD egal cu 9. Din motive de compatibilitate a a cu arhitecturile CPLD cu multiplexare timp, descrise ulterior, vom alege o arhitectur cu 8 ePLD n a uri, 64 de macrocelule, pentru a putea face o comparatie ntre ariile celor dou circuite. Matricea de a conectare implementat acest caz va de 144x144, dar folosit ca 128x128. Figura 4-7a prezint o a n a a conguratie a arhitecturii eCPLD propuse cu 8 macrocelule. Pentru orice implementare practic a eCPLD, a este recomandat ca numrul de structuri ePLD s e multiplu de 3 pentru folosirea complet a structurii a a a de interconectare programabil. a Matricea de interconectare programabil nu este una complet interconectat, ci s-a optat pentru gruparea a a semnalelor magistrale de 8 biti i interconectarea acestora. Acest optiune de a utiliza multiplexarea n s a pe magistrale de 8 biti reduce aria i timpii de propagare ai semnalelor matricea de intreconectare, dar s n complic uneltele software pentru implementarea circuitelor pe arhitectura prezentat. a a 4.2.1.3 Rezultatele implementrii eCPLD pe structured ASIC a

Arhitectura eCPLD cu recongurare static, a fost implementat pe platforma eASIC Nextreme NX750, a a folosind mediul oferit de Magma BlastCreate SA pentru tehnologia Fujitsu de 90nm. Tabelul 4-9 prezint a comparativ rezulatele implementrii unei aplicatii de test, numit XOR24v64, direct pe structured ASIC i a a s indirect prin intermediul arhitecturii eCPLD. Aplicatia de test aleas, numit XOR24v64, folosete doar 24 a a s din cele 40 de intrri programabile ale planului AND, pentru a evita buclele combinationale. a Datele din Tabelul 4-9 arat c aria necesar implementrii unei arhitecturi eCPLD cu recongurare a a a a static este de aproximativ de 6 ori mai mare dect cazul implementrii directe pe structured ASIC. a a n a Considernd posibilitatea de a implementa a ntre 8 i 12 porti logice echivalente per eCell estimm c s a a

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC


8 8

28

16 8

ePLD

dff

16

ePLD

128 x 128 connect matrix

16 8

ePLD

16 8

ePLD

40 lines

16 8

ePLD

dff
8 16 8

ePLD

16 8

ePLD

16

ePLD

a)

b)

Figura 4-7:

Arhitectura eCPLD64 : a) Organizarea CPLD cu 64 macrocelule b) Organizare PLD cu 8 macrocelule, 16 intrri i 8 ieiri a s s

Tabelul 4-10: Rezultate de timp pentru aplicatia XOR24v64 implementat pe eCPLD64 a

Implementare

Nextreme eCPLD64

HP 1, 3V Intra eP LD Inter eP LD [ns] [ns] 1,687 2,886 3,771

ST D1, 2V Intra eP LD Inter eP LD [ns] [ns] 1,856 3,175 4,141

arhitectura eCPLD va putea utiliza maxim 1,5 porti echivalente per eCell. Analiza static de timp comparativ a celor dou implementri a fost facut, innd cont cazul eCPLD a a a a a t a n de cile de timp care sunt interiorul structurii ePLD (intra-ePLD ) i cile de timp care sunt a n s a ntre structuri ePLD (inter-ePLD ) i folosesc i resursa de interconectare central. Tabelul 4-10 prezint aceste rezultate s s a a de timp. Arhitectura eCPLD combin arhitectura ePAL cu o retea de interconectare programabil, eConnect, a a pentru a oferi posibilitatea recongurrii statice a aplicatiilor de dimensiuni mai mari implementate pe a structured ASIC. Folosind ca element de recongurare LUT-urile implementate cu memorie SRAM, se permite reprogramarea circuitului la punerea sub tensiune. Folosirea LUT-urilor are avantajul unei arii relativ sczute. Rezultatele implementrii arat c se pot implementa aproximativ 1,5 porti echivalente per a a a a eCell iar timpii de propagare ofer de asemenea posibilitatea operrii la frecvente de pn la 240Mhz. a a a a

4.2.2

eTMCPLD - Arhitectur CPLD cu multiplexare timp a n

Denirea unei arhitecturi CPLD cu multiplexare timp, numit eTMCPLD, se face folosind arhitectura n a eTMPLA pentru a realiza implementarea logicii cadrul macrocelulelor i o structur de interconectare cu n s a multiplexare timp numit eTMConnect. n a

29

Arhitecturi CPLD
Tabelul 4-11: Rezultate de arie pentru aplicatia XOR24v64 implementat pe eTMCPLD64 a

Implementare Nextreme eTMCPLD64 v1 eTMCPLD64 v2 4.2.2.1 [eCell] 616 48971 30560

Aria [eRAM] 0 1248 32

[bRAM] 0 0 8

NX750 [%] 1,11 NA 54,31

NX1500 [%] 0,61 NA 29,94

NX2500 [%] 0,36 NA 17,66

NX4000 [%] 0,22 NA 10,86

NX5000 [%] 0,17 14,10 8,38

eTMPLD - Structura eTMCPLD cu multiplexare timp n

Structura logic pentru arhitectura CPLD cu multiplexare timp este similar cu structura logic a a n a a arhitecturii eCPLD prezentat Figura 4-6b, la care toate nodurile programabile vor implementate cu a n eNode-uri (detaliat Figura 4-5b). n Similar cu arhitectura eTMPLA pentru a implementa multiplexarea timp a conguratiilor, trebuie ca n nodurile programabile s e controlate de memorii de mici dimensiuni. Acestea pot implementate cu a bistabile, cu memorie distribuit tip eRAM sau chiar cu memorie bloc tip bRAM. a Pentru a asigura salvarea strii circuitului momentul schimbrii conguratiei bistabilele din cadrul a n a macrocelulei vor conectate la microregitri. s Pentru structura eTMPLD s-a implementat i inversarea programabil a termenilor produs la intrarea s a n functia OR. Aceast inversare programabil adaug exibilitate implementrii logicii pe arhietctura CPLD a a a a propus prin posibilitatea de convertire a portilor AND porti OR i invers folosind teoremele lui De a n s Morgan. 4.2.2.2 eTMConnect - Structur de interconectare cu multiplexare timp a n

Structura de interconectare aleas este implementat similar cu structura arhitecturii eCPLD, cu deosea a birea c, dac un eCell poate implementa un multiplexor 6:1 programabil static prin valorile LUT-urilor, el a a poate implementa doar un multiplexor 4:1 programabil dinamic prin controlarea liniilor de selectie folosind elementele memoriei de contexte. Cu ajutorul celulei de baz, multiplexorul 4:1, putem realiza structuri de multiplexare mai mari de exemplu a multiplexorul 16:1. Folosind abordarea implementrii unei matrici de rutare incomplet conectate, similar a ca structura eConnect, putem folosi 8 multiplexoare 16:1 paralel pentru a realiza o structur de n n a multiplexare 128:8. Pentru o structur 128x128 vom avea nevoie de 8 astfel de multiplexoare. Pentru a a realiza posibilitatea de multiplexare timp cu mai multe contexte, va trebui s controlm toti bitii de n a a selectie ai multiplexoarelor prin intermediul unor memorii de adncime mic (egal cu numrul de contexte a a a a de implementat). Structura de interconectare propus necesit o memorie de congurare redus ca mrime fat de o a a a a a structura complet conectat, a complic programele software de implementare a circuitelor pe arhitecura a ns a prezentat. a 4.2.2.3 Rezultatele implementrii eTMCPLD pe structured ASIC a

Implementarea s-a facut pe tehnologie eASIC Nextreme folosind platforma NX5000 cu mediul integrat oferit de Magma BlastCReate SA. Tabelul 4-11 prezint rezultatele de arie. a Se observ folosirea unui numr mare de instante de eRAM, fapt ce va duce la un layout a a mprtiat i la as s posibilitatea de a implementa eTMCPLD doar pe cea mai mare platform eASIC disponibil. Posibilitatea a a de a congura memoria eRAM pn la 16x256 ar rezolva problema layoutului a a mprtiat i ar permite o as s implementare optim a arhitecturilor tip eTMCPLD. a Analiza static de timp a fost efectuat cu unealta Synopsys Primetime. Tabelul 4-12 prezint datele a a a obtinute, se pot observa mbuntiri ai timpilor de propagare prin arhitectura propus, cnd se folosesc a at a a blocurile bRAM pentru implementarea memoriei de contexte.

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC


Tabelul 4-12: Rezultate de timp pentru aplicatia XOR24v64 implementat pe eTMCPLD64 a

30

Implementare Intra eP LD [ns] 1,687 9,117 3,023 Intra eP LD [ns] 1,856 10,824 3,931

Nextreme eTMCPLD64 v1 eTMCPLD64 v2 Implementare

Nextreme eTMCPLD64 v1 eTMCPLD64 v2

HP 1,3V Inter eP LD cclk [ns] [ns] 10,303 14,275 4,419 4,933 STD 1,2V Inter eP LD cclk [ns] [ns] 12,289 15,702 5,222 5,426

durat cong. a [ns] 14,275 374,908 durat cong. a [ns] 15,697 412,398

Timpul de congurare a arhitecturii eTMCPLD este de cteva sute de ns, dac folosim memorii bloc i a a s cteva zeci de ns, dac se folosesc memorii distribuite. Datorit acestei diferente relativ mici i performantea a a s lor de arie i frecvent mult mai bune, prima alegere cazul implementrii unei arhitecturi eTMCPLD pe s a n a structured ASIC este implementarea memoriei de contexte cu bRAM. Desigur, cazul care se modic n n a layoutul structured ASIC, pentru putea avea conguratii de memorii distribuite de lime mare, solutia at aceasta va avea rezultate mai bune datorita timpilor redui de recongurare. s Arhitecturile CPLD cu multiplexare timp sunt utilizate pentru implementarea unor circuite de dimenn siuni mai mari ce necesit recongurare dinamic cu timpi redui de modicare a contextului. a a s O arhitectur CPLD cu multiplexare timp cu schimbarea conguratiei a n ntr-un singur tact de ceas nu este o optiune viabil, fr posibilitatea de a implementa memorii distribuite de lime mare, posibilitate a aa at care nu exist a tehnologia structured ASIC propus. Aceast arhitectur poate implementat a nc n a a a a pentru circuite CPLD de dimensiuni mici, dar probabil acele cazuri o arhitectur eTMPLA poate n a solutia preferat. a O arhitectur CPLD cu multiplexare timp cu schimbarea secvential a conguratiei necesit multiple a n a a tacte de ceas pentru schimbarea functiei circuitului. Folosind memoria bloc, bRAM, pentru stocarea conguratiei aceasta reprezint solutia preferat pentru tehnologia structured ASIC aleas cu rezultate a a a bune de arie i frecvent. Recongurarea este posibil de realizat rapid, cteva sute de nanosecunde, cu s a n a posibiliatea de a reduce acest timp, cazuri care doar o recongurare partial este necesar. n n a a 4.2.3 Analiza comparativ a arhitecturilor CPLD propuse a

Cele trei arhitecturi recongurabile de tip CPLD propuse au urmtoarele caracteristici: a eCPLD este o arhitectur recongurabil static pe baza exibilitii implementrii logicii LUT-uri. a a at a n Structura de interconectare este una incomplet conectat. a eSLCPLD este o arhitectur sintetizabil, recongurabil dinamic, programarea se face mod serial, a a a n folosind bistabile nseriate ntr-un lant de scanare. Se folosete o abordare diferit de cea a circuitelor s a CPLD comerciale, cu o structur de interconectare complet conectat. Modelat la nivel RTL (Register a a a Transfer Level) poate sintetizat pe orice tehnologie de realizare a circuitelor integrate. a eTMCPLD este o arhitectur recongurabil dinamic cu multiplexare timp ce permite schimbarea a a n rapid a conguratiei, datorit faptului c folosete memorie dedicat pentru stocarea mai multor a a a s a contexte. Structura de interconectare este una cu multiplexare timp incomplet conectat. n a Prin implementarea unei aplicatii de test, direct pe structured ASIC i indirect folosind aceste arhitecturi s recongurabile, s-a artat c posibiliatea de recongurare are ca efect creterea ariei ocupate. Datele din a a s Tabelul 4-13 arat faptul c arhitectura cu recongurare static are cea mai mic arie, dar, dac se consider a a a a a a raportul ntre aria ocupat i numrul posibil de conguratii, arhitectura cu multiplexare timp ce folosete as a n s memoria bloc are cel mai bun rezultat. Posibilitatea de a maximiza utilizarea logic pentru dispozitivele a multi-context depinde mult de capacitatea uneltelor software de a folosi optim toate conguratiile disponibile.

31
Tabelul 4-14: Rezultate de timp pentru arhitecturile tip CPLD

Arhitecturi CPLD

Circuit

EPM7064S-7 XC2C64A-7 XOR24v64 eCPLD64 eSLCPLD64r120c eTMCPLD64 v1 eTMCPLD64 v2

Perioada Intra eP LD [ns] 5 4,1 1,813 2,886 9,117 3,023

Perioada Inter eP LD [ns] 6 7,1 3,771 8,027 10,303 4,419

Perioada cclk [ns] 100 15 1,636 14,275 4,933

arcare Inc conguratie [ns] 4, 55 109 50 106 250 106 7479,792 1084,900 374,908

Schimbare conguratie [ns] 4, 55 109 50 106 250 106 7479,792 14,275 374,908

Circuitul cu arcare serial are practic o capacitate dubl fat de restul circuitelor prezentate, prin nc a a a posibilitatea de a implementa 120 de functii logice, din care doar 64 pot folosi bistabile, pentru o comparatie corect trebuie considerat a a mpartirea la 2 a ariei ocupate. Pentru a realiza o comparatie a arhi tecurilor propuse, din punct de vedere al frecventei de functionare, s-au ales dou a dispozitive CPLD comerciale pe baz de a termeni produs. Deoarece ultimele familii de CPLD folosesc LUT-uri pentru implementarea logicii [8], [41] am ales spre comparatie circuitul EPM7064S 7 produs de rma Altera, folosind un speed-grade mediu. Similar am ales i s un dispozitiv CPLD Xilinx din famila CoolRunner II [42] cu 64 de macrocelule Tabelul 4-14.
Tabelul 4-13: Rezultate de arie pentru arhitecturile tip CPLD

Circuit [eCell] 616 3680 41290 48971 30560

Aria [eRAM] 0 0 0 1248 8 [bRAM] 0 0 0 0 8

XOR24v64 eCPLD64 eSLCPLD64r120c eTMCPLD64 v1 eTMCPLD64 v2

Logic per a conguratie [eCell] 616 3680 41290 3060,68 1910,00

XC2C64A-7 [43]. Rezultatele comparatiei sunt sintetizate n

Se observ c frecventele de lucru ale arhitecturilor propuse sunt general mai bune dect ale circuitelor a a n a comerciale analizate, cu cteva exceptii. Circuitul eSLCPLD64r120c are o arhitectur diferit i matrice a a a s de interconectare complet, ce scade frecventa de functionare. Circuitul eTMCPLD64 v1 nu poate avea a i rezultate optime de timp din cauza unei limitri a tehnologiei structured ASIC folosite. a Tabelul 4-15 prezint estimarea puterii consumate Tabelul 4-15: Estimarea puterii consumate de arhitectua de arhitecturile recongurabile de tip CPLD i a s rile tip CPLD puterii consumate de aplicatia de test implementat a direct structured ASIC, conditii tipice, la un n n Circuit Putere consumat a factor de comutare de 30%. Se remarc faptul a STD (1,2V) HP (1,3V) c limitarea plasrii memoriilor distribuite teha a n [mW] [mW] nologia structured ASIC, afecteaz negativ puterea a XOR24v64 53 59 consumat de arhitectura eTMCPLD64 v1. Dac a a eCPLD64 70 80 se consider puterea consumat per conguratie, a a eSLCPLD64r120c 299 362 arhitectura eTMCPLD64 v2 are cele mai bune reeTMCPLD64 v1 572 683 zultate. 383 447 eTMCPLD64 v2 Arhitecturile recongurabile de tip CPLD propuse, permit implementarea tehnologii tip structured ASIC n a unor aplicatii reprogramabile de dimensiuni medii. Alegerea arhitecturii potrivite pentru o aplicatie, depinde de necesitatea ceea ce privete aria disponibil, frecventa estimat de functionare, timpii de n a a arcare i schimbare a conguratiei. nc s

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC

32

4.3

Arhitecturi FPGA

Circuitele FPGA reprezint o sintez de succes a a ntre matricele de porti logice i circuitele programabile s simple, SPLD. Fiind obtinute prin replicarea unui pattern de un numr foarte mare de ori, circuitele FPGA a sunt singurele arhitecturi programabile care pot oferi capaciti foarte mari pentru implementarea circuitelor at digitale. Pentru tehnologiile tip structured ASIC primele arhitecturi FPGA au fost propuse [44] i folosesc n s exibilitatea implementrii logicii LUT-uri programabile prin intermediul SRAM. Vom folosi tot termenul a n consacrat de eFPGA pentru a ne referi la arhitectura FPGA programabil static creat special pentru familia a a de circuite structured ASIC, eASIC Nextreme. 4.3.1 eFPGA - Arhitectur FPGA programabil static a a

Arhitectura FPGA recongurabil, numit eFPGA, prezentat continuare presupune c a a a n a ntreaga matrice FPGA poate programat prin congurarea LUT-urilor i a valorilor initiale ale bistabilelor, la punerea a s sub tensiune [45]. Aadar, programarea se face mod static pentru s n ntreaga matrice, nu exist posibilitatea a congurriii dinamice a unor prti ale FPGA. Arhitectura prezentat nu include posibiltatea de a congura a a a celule logice ca memorie, dei nu exist nici o restrictie integrarea memoriilor de mici dimensiuni s a n n arhitecturi FPGA dezvoltate ulterior. Celulele logice, eCell, vor trebui folosite pentru implemetarea interconexiunilor i a functiilor logice. Pentru s minimizarea efortului pentru uneltele software de implementare a fost proiectat o structur de tip FPGA a a simpl. Din pcate, datorit faptului c pentru proiectare s-a folosit structura existente eCell toate traseele a a a a de interconectare sunt unidirectionale i drept rezultat este greu de evaluat segmentarea i necesitile de s s at interconectare. Celula de baz este una de 4 intrri, nu s-a a a ncercat folosirea NAND-ului pentru realizarea functiilor de 5 intrri. De asemenea, poarta NAND este folosit rar structura de interconectare pentru a a n simplitate. Exist un compromis a ntre gradul de exibilitate a retelei de interconectare programabile i s surplusul de eCell-uri necesare pentru a crea aceast exibilitate. Arhitectura prezentat are limitri a a a n ceee ce privete conectivitatea pentru a minimiza aria suplimentar necesar pentru interconexiuni, arie s a a suplimentar ce poate limita utilizarea logicii. Bistabilele pot folosite sau nu cadrul ecrei celule a n a echivalente tip FPGA i plus bistabilele pot folosite, cazuri rare, pentru programarea interconexiunilor. s n n Astfel de bistabile de control sunt arcate cu valoarea initial la programarea circuitului i pstreaz nc a s si a a starea pn la o viitoare recongurare. a a 4.3.1.1 Blocurile componente ale eFPGA

Celula de baz este un eCell care are arile celor dou LUT-uri conectate a ntr a mpreun i prezint att as a a ieirea combinational ct i ieire secvential. Prezentat Figura 4-8, celula numit bcell, nu folosete s a a s s a a n a s portile NAND (intrrile conectate a mpreun), iar perechile de intrri pentru LUTX i LUTY sunt conectate, a a s de asemenea, mpreun. Multiplexorul din cadrul celulei selecteaz a a ntre ieirile celor dou LUT-uri, s a permitnd realizarea unui LUT4 programabil prin a nscrierea continutului LUTX i LUTY. Avnd dou s a a ieiri din celula de baz arhitectura propus va necesita o structur dual de interconectare. s a a a a
i_0 o_0
i_0
i_1

i_1 LUTX
1

dff

o_0 LUTX

i_2

icon

o_1 i_2 i_3


0

bcell
i_3 i_4 i_5 o_1 LUTY

LUTY

icon

Figura 4-8: Implementarea bcell

Figura 4-9: Implementarea icon

Figura 4-9 prezint celula de interconectare programabil a intrarilor numit icon. Un eCell poate realiza a a a dou astfel de celule de cte trei intrri, se folosesc cele dou LUT-uri separat i nu sunt folosite portile NAND a a a a s ce au intrrile conectate a mpreun. Pentru realizarea interconexiunilor, functia LUT-ului este programat a a s accepte doar una din cele trei intrri. Bistabilul este nefolosit i va putea folosit alte conguratii de a a s n celule de interconectare programabile.

33

Arhitecturi FPGA

i_0 i_1 i_2

dff

LUTX

i_0

i_1

o_0 LUTX

o_1 i_3 i_4 i_5


0

mcon

i_2 i_3 i_4 i_5 i_6 i_7

ocon

LUTY

o_1 LUTY

ocon

Figura 4-10: Implementarea mcon

Figura 4-11: Implementarea ocon

ocon cell bcell bcell ocon cell

icon

icon

icon

bcell
Figura 4-12: Structura celulei de baz a eFPGA a

Un bloc de interconectare de 6 intrri, numit mcon poate realizat pe un singur eCell, dup cum este a a prezentat Figura 4-10. Celula are portile NAND nefolosite, iar cele dou LUT-uri au ieirile conectate n a s la intrrile de date ale multiplexorului. Selectia multiplexorului este controlat de un bistabil conectat prin a a exterior pe intrarea MS a celulei. O versiune a celulei de interconectare programabil a ieirilor, numit ocon, este prezentat Figura a s a a n 4-11. Structura este similar cu cea a icon, doar c acest caz se folosesc i portile NAND pentru a realiza a a n s dou functii de cte 4 intrri per eCell. Diagrama ocon prezint cele dou intrri ale portilor NAND a a a a a a n partea de jos, cele dou intrri conectate direct la LUT, ind primele din partea de sus. Att icon ct i a a a a s ocon sunt celule ce pot implementate cte dou per eCell. a a 4.3.1.2 Celula de baz a eFPGA a

Celula de baz a arhitecturii eFPGA propuse contine un bcell i un numr de celule icon i ococn pentru a s a s realizarea interconexiunilor, dup cum este prezentat Figura 4-12. a n Cele patru celule de interconectare programabile ale intrrilor, icon, permit conectarea a 12 conexiuni a de intrare timp ce cele dou celule de interconectare programabile ale ieirilor, ocon, permit concetarea n a s a a dou ieiri combinationale de la celule de baz adiacente. Functia NAND din cadrul ocon permite nc a s a conectarea direct a ecrei ieiri combinationale cu ieirea celulei adiacente pe orizontal sau pe vertical, a a s s a a permitnd realizarea functiilor combinationale de 8 intrri. Deoarece aceste celule nu folosesc bistabilele, a a aceastea vor disponibile pentru realizarea mcon. Inversoarele, de asemenea, vor nefolosite dac celulele a icon vor plasate aproape de celula de baz, bcon. a Abstractizarea celulei de baz rezultate este prezentat partea din mijloc a Figurii 4-12. Deoarece celula a a n de baz nu suport interconexiuni bidirectionale prin absenta unei porti three-state, cele 12 interconectri a a a programabile sunt unidirectionale. Vom alege cte 6 interconectri programabile ecare sens ceea ce duce a a n la reprezentarea din partea dreapt a Figurii 4-12. Se folosete o singur linie reprezentare, deoarece a s a n intrrile celule sunt interschimbabile. Totui implementarea icon intrrile vor artite linii care a n s n a mp n merg ntr-un sens sau altul, lucru ce va deveni mai clar reprentarea logicii de interconectare. n

icon

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC 4.3.1.3 Logica de interconectare a eFPGA

34

Blocurile de baz prezentate anterior pot combinate pentru a realiza segmentarea programabil a a a traseelor de interconectare. Un prim astfel de exemplu este prezentat Figura 4-13. n acest caz cele dou trasee orizontale mergnd In a a sensuri opuse, sunt conectate la o pereche de n icon trasee verticale. Sgetile arat sensul semnalelor pe a a aceste trasee. Celulele icon permit conectarea unui icon segment vertical la un segment orizontal. Desigur, se poate realiza i conectarea la valoare constant a s a semnalului pe aceste interconexiuni prin intermediul Figura 4-13: Segmentare programabil a traseelor orizona valorii LUT-urilor din icon.
tale

Aceast conguratie reprezint o segmentare proa a gramabil pe orizontal, deoarece doar traseele orizontale pot a a ntrerupte pe cnd traseele verticale continu a a fr a a ntrerupere. Figura 4-14 se prezint o segmentare programabil ambele directii. In a a n Aceast structur este o segmentare complet, a a a deoarece permite segmentarea att pe directia oria zontal ct i pe vertical. acest caz celule icon a a s a In ndeplinesc aceeai functie ca Figura 4-13 timp s n n ce celule mcon sunt folosite pentru a realiza acelai s plus celulele mcon lucru pe directia vertical. In a permit conectarea a cte trei semnale de intrare A, a B i C respectiv a, b i c pe ambele sensuri ale s s verticalei. Celulele icon pot asigura ecare cte a un bistabil necesar conguratiei celulelor mcon. De aceea, celula de baz este acoperit complet de a a celule prezentate gur, nu sunt necesare alte n a componente din alte celule.

AB C

mcon A B C icon icon a b c abc mcon

Reprezentarea grac a structurii de segmentare a programabil ambele directii este prezentat a n a n dreapta Figurii 4-14. reprezentare se observ In a folosirea unei forme romboidale pentru intrrile de a conexiune pe vertical ambele sensuri. Ieirile Figura 4-14: Segmentare programabil ambele directii a n s a n celulei de baz prin intermediul ocon vor prograa mabil conectate la A, B sau C pentru segmentele care merg sus, sau cazul care semnalul va trebui s n n n a circule jos, vor programabil conectate la a, b sau c. acest fel, conexiunile de intrare sunt prezentate n In fata de punctul de segmentare functie de sensul semnalelor pe trasee, sus sau jos pe directia vertical. n n n a Figura 4-15 se combin celula de baz cu elementele de interconectare In a a programabile rezultnd o structur mai complex ce va repetat pentru a a a a obtimerea matricei FPGA. gur se observ 6 trasee de conectare orizontale, In a a dar de fapt ecare linie corespunde unui perechi de trasee de conectare verticale ce merg sensuri opuse. Linia vertical cu conexiuni circulare corespunde celor 12 n a intrri programabile ale celulelor tip icon. Aceste intrri se conecteaz una cte a a a a una la cele 12 trasee orizontale. Ieirile se conecteaz la 3 trasee verticale. Fiecare s a conexiune form de romb corespunde unei conexiuni n a ntre ieirea unei celule s ocon i o pereche de intrri (A,a), (B,b) sau (C,c) permitnd conectarea ieirilor s a a s pe directia vertical ambele sensuri. Matricea rezultat va avea segmente ce a n a traverseaz lungimea a trei celule aa at ecare segment vertical are trei intrri a s nc a care se conecteaz la el. Sgetile orizontale corespund unui punct de segmentare Figura 4-15: Celula logia a programabil a segmentelor orizontale (prezentat Figura 4-13. X-ul de pe linia c i interconectarea proa n a s vertical reprezint locatia unui punct de segmentare programabil ambele a a a n gramabil asociat a a directii.

cell

35

Arhitecturi FPGA

cell cell cell cell


4.3.1.4 4.3.1.5

Matricea eFPGA

Modelul prezentat Figura 4-15 prezint mai multe posibilitati repetitive de plasare a punctelor de n a segmentare programabile pe o directie sau ambele directii dup cum este prezentat Figura 4-16. n a n Bine nteles c ecare segment orizontal are lungimea a trei celule cu un punct de segmentare programabil a pe o singur directie a ntr-un capt i un punct de segmentare programabil ambele directii cellalt a s a n n a capt. Desigur, aceste tipuri de puncte de segmentare alterneaz. Similar pe directia vertical vom avea a a a segmente ce deservesc trei celule. Fiecare celul se conecteaz la ecare segment astfel at ecare ocon a a nc se conecteaz la mcon-ul de dedesubt (folosind una din intrrile A, B sau C) i la mcon-ul de deasupra a a s (folosind una din intrrile a, b sau c). O celul ocon se conecteaz la dou perechi de trasee ( arcare a a a a nc 4), iar cealalt se conecteaz la o pereche de trasee ( arcare 2). Pornind de la modelul din Figura 4-15 a a nc exist o singur combinatie posibil. Conexiunile de ieire se rotesc a a a s ntre segmentele verticale 0, 1 i 2 pe s ambele directii ale matricii de celule FPGA. Aceasta permite ca ambele ieiri, combinational i secvential, s as a s e conectate la ecare traseu sau s intre componenta unor functii logice mai mari, folosind celulele a a n adiacente pe orizontal sau vertical. Diagrama prezentat Figura 4-16 nu este att de regulat, dar a a a n a a ndeplinete toate aceste conditii. s Rezultatele implementrii eFPGA256 pe structured ASIC a

O matrice eFPGA cu 256 de celule logice organizate pe 32 de coloane i 8 rnduri a fost implementat s a a pe Nextreme NX750. S-a ales aceast conguratie, deoarece ocup un a a ntreg eCore de 2048 de eCell-uri. Circuitul a fost descris Verilog 2001, are ca parametrii numrul de linii i numrul de coloane, permitnd n a s a a generarea extrem de simpl a unor conguratii mai mari de eFPGA. a Fiind o structur regulat, cele mai bune rezultate de arie i timp se obtin prin preplasarea celulelor. a a s Celula de baz eFPGA este alctuit din 8 eCell-uri plasate pe 2 linii i 4 coloane. Acest patttern este a a a s repetat de 256 de ori pe lini i coloane astfel at structura eFPGA256 ocup exact un eCore. s nc a

cell cell cell cell

cell cell cell cell

cell cell cell cell

Figura 4-16: Matricea eFPGA

cell cell cell cell

cell cell cell cell

cell cell cell cell

cell cell cell cell

cell cell cell cell

4 Arhitecturi recongurabile pentru tehnologii tip structured ASIC


Tabelul 4-17: Rezultate de arie pentru aplicatia XOR4v256 implementat pe eFPGA256 a

36

Implementare Nextreme eFPGA256

Aria [eCell] 623 2049

NX750 [%] 1,127 3,709

NX1500 [%] 0,621 2,043

NX2500 [%] 0,366 1,206

NX4000 [%] 0,225 0,741

NX5000 [%] 0,174 0,572

Pentru compararea ariei ocupate de o aplicatie Tabelul 4-16: Rezultate de timp pentru aplicatia implementat pe eFPGA i direct pe structured a s XOR4v256 implementat pe eFPGA256 a ASIC s-a ales implementarea unei matrici de functii Implementare HP 1,3V STD 1,2V XOR de 4 intrri. Tabelul 4-17 prezint comparativ a a [ns] [ns] aria celor dou implementri. Se observ c, dei a a a a s Nextreme 0,918 1,009 conform estimrii, aria ocupat de o implementare a a eFPGA256 1,810 1,991 eFPGA este de cel putin 8 ori mai mare, realitate n se obtine un factor de aproximativ 4. Acesta se datoreaz plasrii manuale a matricii eFPGA i eliminrii necesitatii optimizrilor de plasare i de timp. a a s a a s Tabelul 4-16 prezint rezultatele de timp ale implementrii aplicatiei de test, rezultate extrase din analiza a a static de timp fcut cu Synopsys Primetime SI. a a a Pentru implementarea eFPGA calea critic opa XOR4v256 implementat pe eFPGA256 a tim va contine 5 nivele logice constnd celula a a n: logic (bcell), celula de conectare programabil a a a Implementare Putere consumat a ieirii (ocon), celul mcon din punctul de segmentare s a STD (1,2V) HP (1,3V) ambele directii, celul icon din punctul de segn a [mW] [mW] mentare directia orizontal i conectarea prin icon a s Nextreme 53 59 la alt celul logic de baz bcell. Printr-o plasare a a a a eFPGA256 61 69 manual se obtin rezultate de timp bune, se observ a a din Tabelul 4-16 c frecvent aplicatiei implementate pe eFPGA este aproximativ jumtate din frecventa a a a aplicatiei implementate direct pe structured ASIC. Desigur pentru circuite mai complexe acest raport poate diferit, el depinde mult de uneltele software de implementare a aplicatiei pe arhitectura propus. a Tabelul 4-18 prezint comparativ estimarea puterii consumate de aplicatia XOR4v256 implementat direct a a structured ASIC, respectiv implementat folosind arhitectura eFPGA256, conditii tipice, la un factor n a n de comutare de 30%. Se observ o cretere cu aproximativ 15-20% a puterii consumate de ctre arhitectura a s a recongurabil aceleai conditii de functionare. a n s Arhitecturile recongurabile static tip eFPGA reprezint o solutie de a adauga exibilitate implemena n tarea aplicatiilor de dimensiuni mari pe tehnologii tip structured ASIC. Se opteaz pentru o arhitectur a a simpl ce reduce aria ocupat de circuit dar ofer doar posibilitarea unei recongurri statice a aplicatiei. a a a a
Tabelul 4-18: Estimarea puterii consumate de aplicatia

4.4

Contributii originale

S-au prezentat detaliu arhitecturile recongurabile ce pot implementate cadrul proiectelor realizate n n pe tehnologia structured ASIC, dezvoltat de rma eASIC Corp [28]. Aceste arhitecturi sunt descrise folosind a limbajul Verilog 2001 i pot s nglobate proiectele implementate pe structured ASIC pentru a reactiva n exibiltatea de programare pierdut prin folosirea unei structuri via de metalizare. a Autorul denete mai multe arhitecturi recongurabile ce pot utilizate cadrul aplicatiilor implementate s n pe structured ASIC. Selectarea uneia din aceste arhitecturi se face functie de mrimea circuitului de n a implementat i de necesitile de recongurare ale aplicatiei. Contibutiile originale sunt urmtoarele: s at a 1. Implementarea unei arhitecturi PLA programabile static. Pornind de la ideea de circuit PLA programabil prin intermediul valorilor LUT-urilor, dezvoltat de rma eASIC produsul software eGenPLD, a n s-a modelat cel mai simplu circuit recongurabil. Aceast arhitectur, numit ePAL, prezint o abordare a a a a diferit prin descrierea parametrizabil limbajul Verilog 2001 locul unei descrieri structurale generate a a n n de o unealt EDA. Se face, de asemenea, trecerea la tehnologiile structured ASIC de 90nm ce folosesc un a ux de implementare complet diferit fat de vechile tehnologii de 180, 150 i 130 de nm. a s

37

Contributii originale

2. Implementarea unei arhitecturi PLA programabile dinamic prin lanturi de scanare. Folosind studiile lui Yan ([16]) autorul descrie o prim variant de arhitectur PLA recongurabil dinamic pentru structured a a a a ASIC. Numit eSLPLA, aceast arhitectur este una sintetizabil neind legat de o anumit tehnologie de a a a a a a fabricatie a circuitelor integrate. Conguratia circuitului este pstrat bistabile ce sunt a a n nseriate ntr-un lant de scanare. 3. Denirea i implementarea arhitecturilor PLA multicontext (cu multiplexare n timp). O optimizare a s arhitecturilor PLA recongurabile dinamic o reprezint arhitectura PLA cu multiplexare timp, eTMPLA. a n Folosind ideiile lui Trimberger ([18]) i DeHon ([19]) combinate cu propunerea de implementarea a lui s Dene ([34]), se modeleaz dou arhitecturi recongurabile cu multiplexare timp bazate pe stocarea s a a n conguratiilor memorie distribuit i respectiv memorie bloc. Datorit unor limitri layoutul actual n as a a n al tehnologiei eASIC Nextreme, varianta de eTMPLA ce folosete memoria bloc este recomandat pentru s a aplicatiile de dimensiuni mici ce necesit multiplexare timp. a n Pentru implementarea aplicatiilor de dimensiuni medii-mari, autorul propune variante ale dispozitivelor CPLD ce folosesc mai multe circuite PLA simple interconectate de o singur retea de interconectare central. a a Toate aceste arhitecturi propuse sunt extensii ale circuitelor PLA simple: ePAL, eSLPLA i eTMPLA. s 4. Implementarea arhitecturilor CPLD programabile static. Autorul propune arhitectura CPLD cu posibilitatea de recongurare static, eCPLD, ca solutie pentru aplicatiile ce nu necesit reprogramare a a timp real, pentru a maximiza numrul de porti logice echivalente ce pot implementate per eCell. n a Programarea se face prin intermediul continutului LUT-urilor similar ca pentru arhitectura ePLA. 5. Implementarea arhitecturilor CPLD programabile dinamic prin lanturi de scanare. Prin aplicarea ideiilor lui Yan ([17]) pentru arhitecturi bazate pe termeni produs se propune prima arhitectur CPLD a recogurabil dinamic pentru structured ASIC, numit eSLCPLD. Folosind dou retele de interconectare a a a programabile complet conectate, aria ocupata de arhitectura eSLCPLD este relativ mare. Fiind o extensie a arhitecturii eSLPLA, se stochez bitii de conguratie bistabile conectate a n ntr-un lant de scanare. Descrierea Verilog a eSLPLA este una sintetizabil, permite implementarea ei pe orice tehnologie de fabricatie a a circuitelor integrate. 6. Denirea i implementarea arhitecturilor CPLD multicontext (cu multiplexare n timp). Autorul s propune arhitectura CPLD cu multiplexare timp, ca o combinare reasc a arhitecturii eCPLD cu ideile n a de multiplexare timp prezentate initial pentru eTMPLA. Folosind o structur de interconectare central n a a incomplet conectat, se propun din nou dou arhitecturi eTMCPLD bazate pe pstrarea conguratiilor a a a n memorie distribuit respectiv memorie bloc. Si acest caz implementarea ce folosete memoria bloc este a n s preferat, deoarece are cele mai bune rezultate de arie i timp. a s 7. Denirea i implementarea unei arhitecturi FPGA programabil static. nal, autorul pune practic s a In n a o arhitectur FPGA congurabil static pentru implementarea aplicatiilor programabile de dimensiuni mari a a i foarte mari pe structured ASIC. Numit eFPGA arhitectura propune o structur regulat de celule ce s a a a pot repetate de un numr foarte mare de ori sub form de matrice dreptunghiular. Beneciind de o a a a structura regulat, autorul recomand preplasarea celulelor eFPGA pentru a obtine rezultate optime de a a arie i timp. Extinderea arhitecturii eFPGA la arhitecturi cu programare dinamic sau cu multiplexare s a n timp este posibil, dar cu costul unei arii ocupate mult mai mari i dicil de preplasat optim. Din aceast a s a cauz i datorit faptului ca studii au demonstrat c arhitecturile bazate pe termeni produs au rezultate a s a a mai bune dect cele bazate pe LUT-uri ([16]), aceste extinderi nu au fost implementate, ind disponibile a pentru studii ulterioare. Toate aceste solutii de recongurare a aplicatiilor implementate pe structured ASIC au fost descrise n Verilog i implementate pe tehnologia eASIC Nextreme. Mai mult, pentru a msura surplusul de arie s a i scderea performantelor cauzate de adugarea recongurabilitatii, autorul a ales implementarea unor s a a aplicatii de test direct pe structured ASIC i indirect folosind arhitecturile propuse. Aceaste aplicatii sunt s unele generice care ncearc s foloseasc ct mai mult din logica disponibil arhitecturile introduse. S-a a a a a a n fcut evaluarea rezulatelor de arie i de timp att a s a ntre aceste aplicatii ct i prin comparatie cu dispozitivele a s programabile comerciale.

5. Testabilitatea arhitecturilor recongurabile pentru structured ASIC


Circuitele electronice digitale, indiferent de metodologia de fabricatie, trebuie s asigure modaliti de a at testare standardizate, care s permit o detectare simpl, rapid i ecient a eventualelor greeli de a a a a s a s fabricatie. Folosind aceste modalitti standardizate, cipurile sunt testate vederea eliminarii celor cu a n defecte, etapele nale ale procesului tehnologic. Pentru a n ndeplini cerintele de testabilitate, industria de prol a creat structuri de test universale ce pot integrate cadrul circuitului implementat pentru n automatizarea testrii i a generrii de vectori de test pentru validarea circuitului. a s a acest capitol se face analizarea testabilitii arhitecturilor recongurabile prezentate i se propun In at s modicri arhitecturile care nu a n ndeplinesc procentul de acoperire a testrii necesar pentru tehnologia a structured ASIC. Se ruleaz ATPG pentru toate arhitecturile propuse, se analizeaz detaliu modulele a a n care se obtine o acoperire de testare redus, se propun metode de n a mbuntire a testabilitii, se a at at implementeaz arhitecturile modicate i se compar cu arhitecturile originale din punct de vedere al a s a acoperirii de testare, al ariei ocupate i al timpilor de propagare. s

5.1

Gradul de acoperire a testrii pentru arhitecturile recongurabile a

Testabilitatea este o msur a capabilitilor circuitului de a putea testat pentru vericarea functionaa a at litii sale. Pentru proiectele implementate pe structured ASIC, msura testabilitii este dat mai exact at a at a de gradul de acoperire al testrii, deoarece acesta nu include erorile nedectabile, ce pot aprea resursele a a n nefolosite dar disponibile pe platforma de tip structured ASIC. O alt msur a testabilitii unui circuit, a a a at este dat de numrul de vectori de test generati pentru a obtine un anumit grad de acoperire a testrii. Ideal a a a este ca setul de vectori de test s aib o dimensiune ct mai mic pentru a minimiza timpul de testare per a a a a cip, i implicit a reduce costurile testrii i implicit pretul cipului. Pentru toate arhitecturile recongurabile s a s prezentate capitolul anterior, s-a rulat ATPG folosind Synopsys Tetramax, iar rezultatele obtinute sunt n sintetizate Tabelul 5-1. n Din Tabelul 5-1 se observ c majoritatea arhiteca a turilor recongurabile propuse ndeplinesc cerintele acoperirii de testare pentru structured ASIC, cu exceptia arhitecturilor cu multiplexare timp care n s folosesc memoria distribuit (eTMPAL22v10 v1 i a eTMCPLD64 v1) pentru stocarea contextelor. Arhitecturile cu multiplexare timp, care folosesc men s moria bloc (eTMPAL22v10 v2 i eTMCPLD64 v2), au o acoperire de testare cu putin peste 98%. Se poate analiza testabilitatea acestora scopul n mbuntirii acoperirii de testare. Numrul de a at a vectori de test depinde de mrimea circuitului implea mentat i nu constituie o problem pentru niciuna s a din arhitecturile prezentate.
Tabelul 5-1: Rezultate ATPG pentru arhitecturile recongurabile

Circuit ePAL22v10 eSLPAL22v10 eTMPAL22v10 v1 eTMPAL22v10 v2 eCPLD64 eSLCPLD64r120c eTMCPLD64 v1 eTMCPLD64 v2 eFPGA256 v2

Numr vectori a [nr.] 27 399 130 186 16 1533 260 992 15

Test coverage [%] 99,11 99,85 94,57 98,32 99,66 98,53 93,27 98,23 98,63

5.2

Optimizarea testabilitii pentru arhitecturile recongurabile at

Pentru arhitecturile cu acoperire de testare redus, s-a fcut analiza componentelor netestabile folosind a a mediul grac al programului Synopsys Tetramax. S-au identicat posibilele erori care nu pot detectate prin testarea de tip ATPG i cauzele care stau la baza acestor probleme de testare. Acestea sunt: s Buclele combinationale. O programare corect a arhitecturilor recongurabile ne asigur o imple a a mentare fr bucle combinationale prin aa nscrierea corespunztoare a valorilor ce controleaz logica a a testarea de tip ATPG, elementele circuitului, valori aate memorii distribuite sau memorii bloc. In n de memorie nu au o valoare initial, care s corespund unei programri corecte a circuitului i sunt a a a a s dicil de controlat prin lanturile de scanare. Folosirea ieirii de date a memoriilor direct logic. Pentru memoriile distribuite, care nu au s n a

39
Input

Optimizarea testabilitii pentru arhitecturile recongurabile at

1 1 0

C (k,l) 1 1 ... 0

Function X0 X1 Xn1

Node (k,l)

Function X0 X1 Xn1 Node (m,n)

0 C (m,n) 0 0 1 ... 1

Output cell 1

(m,n)

X0 X1 Xn1

micro registers C (m,n) 0 0 1 1 ... ... 1 1 Output 0

D Q Test extension (m) SCANMODE CK

Q D CK

Figura 5-1: Arhitectura eTMPLA cu extensie de test [46]

integrati algoritmi de tip BIST, folosirea ieirii de date direct logica combinational poate constitui s n a o problem, deoarece aceste ieiri sunt dicil de controlat prin tehnici de baz ATPG. a s a Activarea buclelor combinationale timpul testrii circuitului poate avea ca efect creterea puterii folosite, n a s care poate duce defectarea cipului cadrul testrii i la un randament sczut al productiei de circuite n a s a integrate. De aceea, aceste posibile bucle combinationale trebuie evitate prin optimzarea arhitecturilor recongurabile vederea testrii. n a 5.2.1 Optimizarea testabilitii arhitecturilor SPLD cu multiplexare timp at n

cazul arhitecturilor PLA recongurabile cu mutiplexare timp, uneltele software de implementare a In n unei aplicatii pe eTMPAL, vor asigura o programare corect a memoriilor de context, prin nepermiterea a unor conguratii care contin bucle combinationale. Totui, modul de test, circuitul este sub controlul s n vectorilor de test arcati prin lanturile de scanare i astfel de bucle combinationale pot aprea. nc s a Solutia eliminarii acestor bucle combinationale timpul testrii, presupune adugarea unor extensii de n a a test, care permite tranformarea buclelor combinationale bucle secventiale cnd circuitul se a modul n a a n de test. Pentru aceasta se folosete o extensie de test simpl, format dintr-un bistabil i un multiplexor, s a a s dup cum este prezentat Figura 5-1. a a n Selectia multiplexorului este controlat de un semnal global dedicat (SCANMODE), care este activ 1 a n doar cnd circuitul se a modul de test. Pentru ecare ieire vom avea nevoie de o astfel de extensie de a a n s test, iar pentru implementarea ei cadrul PLA22V10 avem nevoie de 10 astfel de structuri. S-a preferat n implementarea extensiei de test pe un eCell, prin folosirea unei conguratii care folosete multiplexorul i s s bistabilul, pentru a realiza o structur independent de continutul LUT-urilor. Aceast extensie de test a a a va putea astfel folosit cazul testrii circuitului cu bitstream functional, dar i cazul testrii cu un a n a s n a bitstream care ncarc toate LUT-urile cu un patern XOR, pentru o acoperire mai bun a testrii. a a a Aceeai extensie de test poate folosit pentru a evita a doua problem de testabilitate detectat: folosirea s a a a ieirii de date a memoriilor distribuite direct logica combinational. Costul de arie al rezolvrii acestei s n a a probleme este mult mai mare, de aceea nu se opteaz pentru introducerea unei extensii de test pentru ecare a bit de ieire din memorie, ci pe folosirea unor tehnici ATPG avansate de scanare secvential complet. s a a

0 1

5 Testabilitatea arhitecturilor recongurabile pentru structured ASIC


Tabelul 5-2: Rezultate comparative ATPG pentru arhitecturile eTMPAL

40

Circuit eTMPAL22v10 v1 eTMPAL22v10 v2

Versiunea initial a Nr. vectori Test coverage [nr.] [%] 130 94,57 186 98,32

Ver. cu extensie de test Nr. vectori Test coverage [nr.] [%] 88 99,75 97 99,86

Imbuntirea a at Test coverage [%] 5,47 1,56

Tabelul 5-3: Rezultate comparative ATPG pentru arhitecturile eTMCPLD

Circuit eTMCPLD64 v1 eTMCPLD64 v2 5.2.1.1

Versiunea initial a Nr. vectori Test coverage [nr.] [%] 260 93,27 992 98,23

Ver. cu extensie de test Nr. vectori Test coverage [nr.] [%] 240 98,25 470 99,30

Imbuntirea a at Test coverage [%] 5,33 1,08

Rezultatele implementrii extensiei de test pentru eTMPAL a

S-a ales implementarea celor dou variante de arhitecturi recongurabile PAL cu multiplexare timp: a n eTMPAL22v10 v1 i eTMPAL22v10 v2, att cu extensia de test ct i fr, pentru a compara rezultatele s a a s aa ceea ce privete acoperirea de testare i peformantele de timp i arie ale circuitului. Tabelul 5-2 prezint n s s s a comparativ rezultatele obtinute urm rulrii testrii tip ATPG. n a a a Se observ c, dac versiunea initial nu a a a a ndeplinea acoperirea de testare necesar, prin adugarea extensiei a a de test se mbunteste acoperirea de testare la procente de peste 99 %. Numrul de vectori de test necesari a at a este, de asemenea, mai mic, uneltei software de testare ATPG este mai uor s gseasc solutii de testare i s a a a cnd nu sunt prezente bucle combinationale. a Rezultatele experimentelor au artat c se obtine o acoperire de testare mult mai bun cazul arhiteca a a n turilor optimizate pentru testare, fr o degradare a rezultatelor de arie sau timp. aa 5.2.2 Optimizarea testabilitii pentru arhitectuile CPLD cu multiplexare timp at n

Arhitecturile recongurabile tip CPLD, cu multiplexare timp, pot prezenta, de asemenea, bucle comn binationale timpul testrii. mod de test, cnd nu exist garantia c elementele de memorie care con n a In a a a troleaz functia circuitului sunt programate corespunztor, este recomandat a a a ntreruperea tuturor buclelor combinationale posibile, prin inserarea a cte unui bistabil ecare bucl. mod normal de functionare, a n a In acest bistabil nu va folosit, multiplexorul cu selectia controlat de semnalul global specic platformelor a Structured ASIC (SCANMODE) va selecta modul normal de functionare. Pentru a rezolva problema buclelor combinationale pentru arhitecturile tip eTMCPLD, se propune folosirea extensiei de test prezentate Figura 5-2. n Termenul de extensie folosete o structur identic cu cea folosit pentru arhitecturile eTMPAL, s a a a n timp ce pentru bucla corespunztoare ieirii combinationale avem nevoie doar de un multiplexor, deoarece a s bistabilul exista deja cadrul macrocelulei. Semnalul global care activeaz modul de test pentru plaftormele n a structured ASIC, numit SCANMODE, selecteaz cele dou multiplexoare din cadrul extensiei de test. a a Implementarea extensiei de test se va face ntr-o singur celul logic, eCell. a a a 5.2.2.1 Rezultatele implementrii extensiei de test pentru eTMCPLD a

S-au implementat cele dou variante ale arhitecturilor CPLD, care folosesc memoria distribuit pentru a a stocarea contextelor, eTMCPLD64 v1, respectiv memoria bloc, eTMCPLD64 v1, pentru un circuit cu 64 de macrocelule. Ambele versiuni au fost implementate att cu extensie de test, ct i fr, pentru a compara a a s aa testabilitatea i repectiv rezultatele de arie i timp. Tabelul 5-3 prezint comparativ rezultatele obtinute s s a n urm rulrii testrii tip ATPG. a a a

41

Contributii originale

1 1 0 Cp=1 Ci=0 1

0 0 Cp=1 Ci=0

programmed noninverting node


dff dff

programmed noninverting node

0 1
SCANMODE

1 1 0 Cp=1 Ci=1

TEST EXTENSION

Cp=1 Ci=1

programmed inverting node

programmed inverting node

0
1

1
1 0 Cp=0 Ci=x
dff dff

Cp=0 Ci=x

node not programmed

SCANMODE

node not programmed

TEST EXTENSION

Figura 5-2: Arhitectura eTMCPLD cu extensie de test [47]

Se observ Tabelul 5-3 c varianta initial nu a n a a ndeplinete cerintele fabricrii circuitului tehnologie de s a n tip structured ASIC,iar varianta cu extensie de test are o acoperire de testare corespunztoare i un numr a s a mai mic de vectori de test necesari pentru a realiza aceast testare. a

5.3

Contributii originale

Acest capitol prezint detaliu, aspectele de testabilitate pentru arhitecturile recongurabile implea n mentate pe structured ASIC. Intruct aceste arhitecturi sunt programabile prin intermediul continutului a elementelor de memorie de pe platformele structured ASIC, modul de testare trebuie evitate anumite n conguratii incorecte, care ar putea afecta testabilitatea circuitului. Principalele contributii originale ale acestui capitol, pot sintetizate astfel: 1. Analiza testabilitii arhitecturilor recongurabile. Autorul face o analiz a testabilittii prin studiul at a a acoperirii de testare a tuturor arhitecturilor recongurabile propuse, prin rularea ATPG folosind Synopsys Tetramax. Se determin cauzele care contribuie la ne a ndeplinirea baremului de peste 98% al acoperirii de testare, necesar pentru platformele structured ASIC, cazul a patru dintre arhitecturile propuse, n corespunztoare celor patru variante de arhitecturi cu multiplexare timp (dou arhitecturi eTMPAL a n a i dou arhitecturi eTMCPLD ). s a 2. Adugarea extensiilor de test pentru creterea testabilitii. Se introduce conceptul de extensie de a s at test, care const adugarea unor structuri simple pentru a realiza transformarea eventualelor bucle a n a combinationale bucle secventiale sub controlul unui semnal global activ doar modul de test. Im n n plementarea extensiilor de test se face structural prin congurarea corespunztoare a unei celule structured a ASIC, pentru ecare linie de ieire ce prezint potentialul de a crea o bucl combinational. modelarea s a a a In Verilog a arhitecturilor recongurabile, extensiuiile de test sunt selectabile prin parametrizarea circutului de implemenetat. 3. Implementarea extensiilor de test i studiul comparativ al rezultatelor obtinute. Autorul implementeaz s a extensiile de test pentru cele patru arhitecturi recongurabile, ce pot prezenta bucle combinationale n timpul testrii, i face analiza rezultatelor obtinute. cazul tuturor arhitecturilor prezentate, rezultatele a s In experimentelor au artat c se obtine o acoperire de testare mult mai bun cazul arhitecturilor optimizate a a a n pentru testare, fr o degradare semnicativ a rezultatelor de arie sau timp. aa a

6. Implementarea proiectelor pe arhitecturi recongurabile pentru


structured ASIC
Uneltele EDA (Electronic Design Automation) reprezint o parte esential domeniul ingineriei circua a n itelor integrate. ultimul sfert de secol, progresele din cadul uneltelor EDA au mrit productivitatea In a proiectantilor de mai mult de o mie de ori [48]. Fr EDA, legea lui Moore ar rmas doar o curiozitate. aa a Niciun cip de capacitate mare, de peste un milion de porti, nu ar putut fabricat sau depanat, fr aa aceste programe sosticate. Algoritmii utilizati produsele software EDA reprezint o directie major de n a a cercetare, care a evoluat mod continuu de-a lungul timpului, odat cu scalarea tehnologic. Orice nou n a a a tehnologie de fabricatie a circuitelor integrate sau nou arhitectur programabil, este de neutilizat fr a a a aa unelete EDA care s permit proiectantilor implementarea rapid a proiectelor i s fac posibil folosirea a a a s a a a caracteristicilor unice introduse de aceste noi tehnologii i arhitecturi. s

6.1

Descrierea metodologiei de implementare

Circuitele programabile, de tip PAL, PLA, CPLD i FPGA, sunt prefabricate, ele sunt doar programate s de utilizator dup manufacturare. Spre desosebire a de circuitele programabile, cadrul implementarii n arhitecturile recongurabile pentru structured ASIC, putem observa dou etape distincte: a Etapa pre-fabricatie - folosete uneltele EDA cla s sice pentru implementarea aplicatiilor pe struc tured ASIC. Arhitectura recongurabil este a nglobat cadrul proiectului, cu sau fr o a n aa conguratie initial, i implementat folosind me a s a todologia structured ASIC, avnd grij a se evita a a etapele de optimizare care pot afecta structura reprogramabil propus. a a Etapa post-fabricatie - folosete att unelte EDA s a dedicate, dezvoltate de autor regim de proton tip, pentru programarea arhitecturii recongurabile conform descrierii circuitului de intrare, ct a i unele dintre uneltele EDA clasice, folosite i s s n etapa pre-fabricatie. Figura 6-1 este prezentat descrierea metodologiei In a de implementare separat etape i operatiuni, unde a n s sunt evidentiate operatiile i ierele de intrare - ieire s s s specice arhitecturilor recongurabile pentru structured ASIC.

6.1.1

Etapa pre-fabricatie

Metodologia de implementare folosit pentru arhiteca turi recongurabile este similar cu cea specic circuia a telor structured ASIC, a e necesar ca structura celuns lelor pre mpachetate ale arhitecturilor recongurabile, s nu e modifcat timpul uxului de implementare, Figura 6-1: a a n Metodologia de implementare a prin setarea unor atribute specice uneltelor de sintez a aplicatiilor pe arhitecturi recongurabile ePLD i plasare asupra acestor celule. s

43 6.1.2 Etapa post-fabricatie

Descrierea metodologiei de implementare

etapa post-fabricatie se face programarea arhitecturilor recongurabile cu una sau mai multe aplicatii, In stocate ntr-unul sau mai multe contexte disponibile pe circuitul manufacturat tehnologie structured ASIC. n Acest lucru este posibil datorit faptului c arhitecturile recongurabile, propuse aceast lucrare, folosesc a a n a elementele de memorie de tip LUT, memorii distribuite i memorii bloc pentru stocarea conguratiei active. s Metodologia de lucru etapa post-fabricatie folosete unelte software dedicate dezvoltate de autor, n s utiliznd o mai veche idee care a stat la baza primelor generatoare de circuite ePLD pentru structured a ASIC [49]. Aceast unealt EDA, numit ePLDProg, este dezvoltat folosind limbajul C, baza de date a a a a intern generat cu DataDraw, iar pentru interfata grac se folosete limbajul scriptic TCL/TK. cadrul a a a s In acestui program, vor suportate arhitecturile recongurabile static ePLA, eCPLD i eFPGA i arhitecturile s s s multi-context programabile dinamic eTMPLA v1, eTMPLA v2, eTMCPLD v1 i respectiv eTMCPLD v1. Varianta initial a programului suport doar arhitecturile simple de tip PLA, iar arhitecturile de tip CPLD a a i FPGA vor adugate cadrul unor dezvoltri ulterioare a programului ePLDProg. s a n a 6.1.2.1 Generarea conguratiilor pe baza aplicatiilor de implementat

Generarea unei conguratii pe baza unei descrieri comporamentale a circuitului de implementat este o operatie esential folosirea arhitecturilor recongurabile propuse. Aceast operatie este practic artit a n a mp a mai multi pai, similar ca cazul circuitelor programabile comerciale. n s n Pentru generarea unei conguratii pentru un circuit PLA, folosind programul ePLDProg, distingem urmtorii pai: a s Procesarea descrierii comportamentale a circuitului (Extract) - Folosind un parser implementat cu analizorul lexical generat cu programul lex i analizorul sintactic generat cu programul yacc, se extrage s informatia din descrierea comportamental a circuitului i este stocat baza de date intern a a s a n a programului. Optimizarea logicii i maparea pe arhitectur (Optimize) - se face folosind Espresso [50] pentru a s a minimiza functiile logice exprimate pe dou nivele. Pentru arhitecturile mai complexe se pot folosi a similar programe externe, de domeniu public, dezvoltate de universitatea UCLA pachetul RASP n SYN. De exemplu, pentru arhitecturile CPLD se poate folosi PLAMap [51], iar pentru arhitecturile tip FPGA exist mai multe variante disponibile: FlowMap [52] sau DAOmap [53]. a Generarea ierelor pentru programare, simulare i analiza static de timp (Programming). acest s s a In pas se export din baza de date intern a uneltei EDA, toate ierele care caracterizeaz o conguratie. a a s a Pe lng programul dezvoltat de autor pentru generarea conguratiilor pe baza descrierii comportamentale, a a se mai pot folosi aceasta etap unelte EDA de uz general pentru simularea comportamental a arhitecturii n a a ePLD, programate conform aplicatiei, pentru analiza static de timp nal i repectiv pentru vericarea a a s formal a ntre diferitele descrieri din uxul de implementare a proiectului. 6.1.2.2 Integrarea conguratiilor imaginea de memorie a platformei structured ASIC n

Obtinerea imaginii de memorie (bitstream) a platformei eASIC se face ultimul pas (Finalize) al progra n acest pas o conguratie, cazul arhitecturilor cu recongurarea mului EDA de congurare, ePLDProg. In n static, sau mai multe conguratii, cazul arhitecturilor cu recongurarea dinamic multi-context, sunt a n a integrate imaginea de memorie ce denete starea initial a elemetelor de tip look-up table, bistabile i n s a s memorii existente pe platforma structured ASIC. Si acest pas vom n ncerca s refolosim pe ct posibil a a uneltele software i utilitarele disponibile pentru proiectarea circuitelor integrate pe tehnologia structured s ASIC. Vericarea functinrii corecte a aplicatiei programate astfel, se poate face prin simulare att la nivel a a comportamental ct i pe netllistul structural obtinut post rutare. Simularea pe netlist este un pas optional, a s deoarece functionarea corect este deja validat de vericarea formal a proiectului, simularea la nivel a a a comportamental ind sucient acest caz. a n

6 Implementarea proiectelor pe arhitecturi recongurabile pentru structured ASIC


Tabelul 6-1: Interfata de control a conguratiei

44

Nume Transfer Schimbare Ceas clk reset n ctx ctx chg ctx fwd ctx done ctx we ctx wa ctx di

Sens In In In In In Out In In In

Dim. 1 1 4 1 1 1 1 14 16

Descriere Ceasul de recongurare Reset asincron activ low Indexul conguratiei dorite, cod binar n Comanda de schimbare a conguratiei Semnal optional permite transferul datelor ntre conguratii sucesive Indic nalizarea actiunii de schimbare a conguratiei a Comanda de scriere a unei noi conguratii Adresa de scriere a conguratiei Datele corespunztoare conguratiei a

6.2

Studiu de caz

Pentru a valida metodologia de implementare propus, precum i pentru a determina performantele unor a s aplicatii reale programate cadrul arhitecturilor recongurabile, s-au implementat mai multe proiecte de n a at dimensiuni mici pe arhitectura eTMPAL22v10 v1. Ele permit exersarea a ct mai multe dintre facilitile acesteia i prezint uurint depanarea i rezolvarea eventualelor probleme aprute. Dimensiunea relativ s a s a n s a redus este o cerint a structurii PAL22V10 folosite ca exemplu aceste studii folosite pentru a verica a a n aspectele specice ale metodologiei de implementare propuse. Pentru schimbarea conguratiei active arhitecturile recongurabile propuse au o interfat dedicat ce a a necesit 5 pini de intrare i un pin de ieire. Tabelul 6-1 prezint semnalele componente ale acestei interfete a s s a i semnicatia lor. s Pentru schimbarea conguratie active cu o alt conguratie care exist deja memorie sunt necesari a a n urmtorii pasi: a pe intrarea ctx se prezint indexul conguratiei dorite a se trimite un puls pozitiv pe intrarea ctx chg pentru pornirea procesului de schimbare a conguratiei se ateapta activarea semnalului ctx done care indic faptul c circuitul are o nou conguratie activ s a a a a Pentru transferul unei noi conguratii sunt necesari mai multi pai, constnd din urmtoarea succesiune s a a de operatii: a s pe intrarea ctx wa se prezint adresa de memorie la care se dorete modicarea conguratiei a pe intrarea ctx di se prezint datele ce vor introduse conform noii conguratii activarea semnalului ctx we produce scrierea locatia de memoria pointat de de ctx wa a datelor de n a pe intarea ctx di. Dac arhitecturile multi-context pot folosi acceasi logic combinational pentru mai multe conguratii, a a a nu acelai lucru se poate arma despre bistabile. Acestea nu pot refolosite alte conguratii, deoarece s n trebuie s pstreze starea curent a circuitului. Pentru acest lucru s-au prevzut micro-registrii care salveaz a a a a a automat starea bistabilelor la schimbarea conguratiei i restaureaz starea circuitului la o nou rulare a s a a aceleiai conguratii. Exist a i studii care socotesc benec posibilitatea de a transmite rezultate s a ns s a partiale ntre conguratii [54]. Pentru aceasta arhitecturile recongurabile descrise au o intrare suplimentar, a numit ctx fwd, ce permite dezactivarea micro-registrilor pentru a emula mai multe sisteme independente a care comunic a ntr-un sistem hardware virtual. 6.2.1 Descrierea proiectului

a Proiectul folosit pentru testarea metodologiei programeaz cinci conguratii pe eTMPAL22v10 v1 : dou a cu aplicatii corespunztoare a dou circuite combinationale i trei conguratii corespunztoare implementrii a a s a a unor aplicatii secventiale. Astfel, imaginea de memorie generat cu unealta software dedicat, ePLDProg a a va contine initial:

45

Studiu de caz context 0 - codare ECC-SECDED (Error Corecting Code - Single Error Correction, Double Error Detection) context 1 - decodare ECC-SECDED cu corectarea erorii de un bit context 2 - generare pseudoaleatoare de coduri cu un numr constant de biti setati, CWC (Constant a Weight Code) context 3 - numrtor binar cu enable aa context 4 - numrtor cod Gray cu enable aa n

Fiierele de programare aferente acestor cinci aplicatii sunt generate prin cinci rulri succesive a primilor s a trei pai ai uneltei ePLDProg, pornind de la descrieri comportamentale limbajul de descriere hardware s n Verilog. Contextul 0 al arhitecturii recongurabile contine o aplicatie combinational de calcul a unui cod de a corectie a erorilor, cu corectia erorilor de un bit i posibilitatea de a determina prezenta erorilor de doi s biti, ECC-SECDED (Error Corecting Code - Single Error Correction, Double Error Detection). Aceast a aplicatie se bazeaz pe generarea unor cuvinte de cod ce au o distant Hamming de 4 biti, ce permite a a distinctia corect a a spatiilor de eroare [55]. a Contextul 1 al arhitecturii recongurabile contine o aplicatie combinational ce permite decodicarea unui a cuvnt de cod ECC-SECDED, detectarea erorilor cuvntul de date sau bitii de control i generarea a n a n s unor semnale de inversare pentru bitii ce au fost determinati ca ind eronati timpul transmisiei. n Contextul 2 al arhitecturii recongurabile contine o aplicatie secvential ce genereaz o secvent pseu a a a doaleatoare de coduri cu un numr constant de biti setati, CWC (Constant Weight Code). Un exemplu a clasic este codarea one-hot, folosit pentru obtinerea unor implementari optime din punct de vedere al a frecventei de functinare pentru automatele de control. Exist aplicatii ale codurilor CWC mai multe a n domenii: criptograe, domeniul de calcul recongurabil i pentru coduri detectoare i corectoare de n n s s erori. Generarea unui numr aleator de n biti cu un numr x r de biti egali cu 1 este surprinztor de dicil a a a a [56], implementri complexe ind folosite pentru generarea de coduri CWC pentru un numr mare de biti. a a 6.2.2 Etape ale implementrii i rezultate a s

aceast sectine ne vom referi doar la etapa de programare post-fabricatie, etapa de implementare In a a n n a arhitecturii eTMPAL22v10 v1 pe structured ASIC ind descris detaliu sectiunea 4.1.2 de la pagina 21. Pornind de la ierele surs ce contin o descriere Verilog a celor cinci aplicatii de test, prin s a rularea primelor trei etape din programul ePLDProg, s-au generat ierele aferente programrii arhitecturii s a eTMPAL22v10 v1. S-au modelat limbajul Verilog un modul generator de vectori de test i un mediu de simulare ce n s s instantiaz o arhitectur recongurabil eTMPAL22v10 v1 i cele cinci modele comportamentale aferente a a a aplicatiilor de test propuse. Prin baleierea ntregului spatiu de conguratii i compararea ieirilor circuitului s s eTMPAL22v10 v1 cu ieirile aplicatiile de test folosite, s-a demonstrat functionarea identic toate cazurile s a n de functionare i posibilitatea de multiplexare timp a mai multor aplicatii pe acelai circuit recongurabil. s n s Multiplexarea timp este observat pe tot spatiul conguratiilor, dei doar cinci contexte contin aplicatii, n a s restul de 11 contexte ind nefolosite acest test. n Pentru a verica posibilitatea de emulare pe acelai hardware a mai multor circuite ce comunic s a ntre ele ntr-un sistem virtual s-au folosit dou aplicatii extrem de simple, stocate conguratiile 3 i 4: numrtor a n s aa binar cu enable i respectiv numrtor cod Gray cu enable. Cele dou numrtoare ind implementate s aa n a aa a a pe acelai numr de biti, prin activarea semnalului ctx fwd s-a observat faptul c cele dou conguratii s a comunic a ntre ele prin intermediul bitilor de stare ai circuitului. La dezactivarea semnalului ctx fwd, cele dou conguratii au ecare propriii biti de stare, stocati i restaurati prin intermediul microregitrilor. a s s Dup vericarea functionrii corecte a conguratiilor, s-a rerulat analiza static de timp, folosind Synopsys a a a Primetime SI, pentru a determina frecventa maxim la care poate functiona ecare conguratie parte. a n Pentru aceasta se folosesc scripturile TCL pentru analiza static de timp generate de unealta ePLDProg a pentru ecare conguratie parte. Folosind implementarea a dou eNode per eCell, se prezint scriptul n a a utilizat pentru a modela conguratia analiza static de timp. Acest script, generat automat de unealta n a software ePLDProg, este format Synposys TCL i este descris pe scurt paragraful urmtor. n s n a

6 Implementarea proiectelor pe arhitecturi recongurabile pentru structured ASIC #and enode disable foreach_in_collection inst [ get_cells *enode_and_enode] { set_disable_timing $inst -from RTI_XA -to RTO_X set_disable_timing $inst -from RTI_YA -to RTO_I2N } #or enode disable foreach_in_collection inst [ get_cells *enode_and_enode] { set_disable_timing $inst -from RTI_XA -to RTO_X set_disable_timing $inst -from RTI_YA -to RTO_I2N } #enable arcs acording to programming remove_disable_timing O0_l1_ptnode_0__l1_enode_12__enode_and_enode -from RTI_YA -to RTO_I2N remove_disable_timing O0_l1_ptnode_0__l1_enode_12__enode_and_enode -from RTI_XA -to RTO_X .... remove_disable_timing O6_l2_enode_2__enode_or_enode -from RTI_XA -to RTO_X remove_disable_timing O6_l2_enode_2__enode_or_enode -from RTI_YA -to RTO_I2N

46

prima parte a scriptului se gsesc toate celulele de tip eNode din proiect i se dezactiveaz arcele In a s a de timp dintre intrarea de date i ieire. Apoi, corespunztor programrii circuitului se activeaz doar s s a a a acele arce de timp care sunt corespunztoare programrii corect a bitilor de context conform aplicatiei a a a implementate. Un alt script general integreaz scripturile per context pentru cele maxim 16 conguratii a posibile, i ruleaz secvential analiza de timp. Se obtin frecvente de lucru diferite datorit utilizrii unui s a a a numr diferit de termeni produs i micilor diferente datorate crosstalk -ului. Tabelul 6-2 prezint rezultatele a s a de timp obtinute. Din Tabelul 6-2, se observ c cazul tuturor a a n conguratiilor folosite, se obtin mbuntiri ale a at timpilor de propagare cu procente de peste 10 %, prin analiza detaliat a timpului conform cona gurrii circuitului. a
Tabelul 6-2: Rezultate de timp pentru conguratiile eTMPAL22v10 v1

Circuit

Necongurat O alt caracteristic important a arhitecturilor a a a Context 0 propuse este posibilitatea de transfer a unei noi Context 1 conguratii, sau modicarea unei conguratii n Context 2 timpul functionrii circuitului. cazul aplicatiei de a In Context 3 test folosite, s-a decis modicarea conguratiei 0 din Context 4 codare ECC-SECDED ntr-o operatie de calculare a bitilor de paritate (par i impar). Metodologia de as a lucru pentru a realiza aceast operatie este urmtoarea: a a

HP 1,3V clk [ns] 4,896 4,367 3,886 4,367 4,108 4,254

STD 1,2V clk [ns] 5,398 4,878 4,390 4,878 4,618 4,692

Ctig as mediu [%] 0,00 10,19 19,60 10,19 15,23 13,09

se descrie Verilog modulul modicat corespunztor noii conguratii n a folosind ePLDProg se genereaz pentru conguratia dorit, ierele asociate noii descreri comportaa a s mentale se ncarc noua conguratie folosind intefata paralel de transfer a conguratiilor a a se simuleaz transferul conguratiei i functionarea eTMPAL22v10 v1 conform noii aplicatii implea s mentate se analizeaz modicrile rezultatelor de timp introduse de noua conguratie i cum inuenteaz a a s a acestea frecventa maxim de lucru a circuitului a se analizeaz i se implementeaz reducerea timpului de transfer a conguratiei as a se implementeaz zic transferul conguratiei pe circuitul integrat, se poate folosi un wrapper ce face a conversia interfetei de transfer a conguratiilor la o interfat standardizat: Wishbone, OCP sau a a AMBA. Tabelul 6-3 prezint timpii necesari arcrii noi conguratii, cazurile de recongurare total, recona nc a n a gurare partial i compresia conguratiei prin arcarea doar a datelor ce s-au modicat. as nc

47

Contributii originale

Recongurarea total a nscrie toti bitii Tabelul 6-3: Timpul necesar modicrii conguratiei ECC calcul de a n asociati contextului 0. Recongura paritate rea partial a ieirilor patru i cinci, a s s Recongurare Tacte Timp de congurare ecare avnd 12 termeni produs, va a ceas HP 1,3V STD 1,2V nscrie toti bitii asociati acestor dou a [nr.] [ns] [ns] ieiri, iar recongurarea partial doar s a Total a 343 2342,690 2570,442 a modicrilor obtinute prin comparaa Partial O4,O5 a 70 478,100 524,580 rea celor dou iere de congurare, se a s Partial doar modicri a a 34 232,220 254,796 obtine prin nscrierea doar a cuvintelor de programare a eNode-urilor ce s-au modicat. Observm din Tabelul 6-3 c se pot reduce timpii de transfer ai unei noi conguratii cu un a a factor de pn la 10 pentru modicri mici ale conguratiilor. Desigur, arhitecturile cu multiplexare de timp a a a permit suprapunerea etapei de transfer a unei noi conguratii cu functionarea normal a altei conguratii, a permitnd ca recongurarea arhitecturii s nu afecteze deloc performantele de timp ale circuitului. a a

6.3

Contributii originale

acest capitol se descrie detaliu metodologia de implementare a aplicatiilor pe arhitecturile reconguIn n rabile pentru structured ASIC. Autorul ncearc, pe ct posibil, s reutilizeze etape i unelte din metodologia a a a s deja existent pentru structured ASIC i introduce un numr limitat de etape i unelte software suplimentare, a s a s menite s rezolve problemele caracteristice implementrii aplicatilor pe arhitecturi recongurabile. Metoa a dologia de lucru este descris pentru toate arhitecturile recongurabile propose, dar implementarea zic a a a uneltelor software este fcut doar pentru arhitecturile tip SPLD. Putem enumera contributiile originale a a descrise acest capitol astfel: n 1. Descrierea metodologiei de implementare a aplicatiilor pe arhitecturile recongurabile propuse. Fluxul de proiectare cu ePLD este artit dou etape: pre i post-fabricatie. Dac prima etap este mare mp n a s a a n parte identic cu cea a implementrii unui circuit tehnlogie structured ASIC, a doua etap este una a a n a dominat de unelte software i scripturi dezvoltate de autor pentru programarea uneia sau mai multor a s aplicatii arhitecturile recongurabile propuse. n 2. Descrierea managementului conguratiilor. Autorul descrie detaliu etapele de arcare initial n nc a a conguratiilor, de schimbare a conguratiei active i posibile optimizri ale timpului de transfer al s a conguratiilor att pentru arhitecturile congurabile static, ct i pentru cele congurabile dinamic, cu a a s mai multe contexte. Toate aceste etape i metodologia de lucru sunt apoi exemplicate cadrul unor studii s n de caz. 3. Studiu de caz pentru multiplexarea n timp a aplicatiilor. Folosind arhitectura eTMPAL22v10 v1 se demonstreaz posibilitatea de multiplexare timp a cinci aplicatii de test: dou combinatinale i trei a n a s secventiale pe arhitecturile recongurabile dinamic multi-context. Se face simularea comportamental i a s o analiz static de timp detaliat conform ecrei programri a circuitului, ce demonstreaz o posibil a a a a a a a mbuntire a performantelor de timp de peste 10 % obtinut prin eliminarea arcelor de timp nefolosite de a at a aplicatiile de test. 4. Studiu de caz pentru emularea mai multor aplicatii ntr-un sistem hardware virtual. Utiliznd dou a a a dintre aplicatiile secventiale implementate pe eTMPAL22v10 v1, se valideaz posibilitatea de emulare a unui sistem hardware virtual prin partajarea spatiului de stare al aplicatiilor. Toate arhitecturile multi-context propuse au o intrare care valideaz aceast posibilitate de partajare a spatiului strilor a a a ntre aplicatii sau permit spatii de stare distincte prin salvarea i restaurarea automat a strii circuitului microregitri. s a a n s 5. Studiu de caz pentru schimbarea unei conguratii n timpul functionrii circuitului. Ultima etap a a a studiului de caz prezint schimbarea conguratiei timpul functionrii. Modicarea primului context al a n a circuitului se face att folosind recongurare total, ct i recongurare partial i o simpl compresie a daa a a s as a telor modicate, ce demonstreaz reducerea substantial a timpului necesar transferrii unei noi conguratii. a a a Folosind posibilitatea de a suprapune etapa de transfer a unei noi conguratii cu functionarea normal a a altei conguratii, se ofer posibilitatea ca recongurarea s nu afecteze deloc circuitul din punct de vedere a a al aplicatiei implementate, recongurarea putnd facut a a ntr-un singur ciclu al semnalului de ceas.

7. Concluzii nale
Proiectantii de arhitecturi i tehnologii de fabricatie a circuitelor integrate urmresc s a mbuntirea cona at stant a frecventei de functionare i scderea ariei ocupate i a puterii consumate de acestea. Aceste obiective a s a s se realizeaz prin continua scalare tehnologic, dar costurile asociate realizrii circuitelor integrate ultimele a a a n tehnologii de fabricatie au explodat odat cu scalarea mult sub micron. Un circuit trebuie realizat a ntr-un volum extrem de mare, astfel at costul per cip s ajung la un nivel rezonabil, motiv pentru care tot mai nc a a putine proicte se realizeaz folosind ultimele noduri tehnologice. Pe de alt parte circuitele programabile a a de tip FPGA pot realizate de productori ultimele tehnologii de fabricatie, deoarece sunt produse a n n volume mari, iar apoi sunt customizate de proiectanti pentru a realiza aplicatii specice. Adugarea acestei a exibiliti de programare are costul ei: circuitele FPGA consum tipic o putere de 12 ori mai mare, ocup o at a a arie de 40 ori mai mare i au rezultate de timp de 4 ori mai sczute [1] dect aplicatiile implementate folosind s a a utlimele tehnologii de celule standard. Posibilitatea de a realiza circuite digitale ultimele tehnologii de n fabricatie cu costuri relativ sczute i un ciclu de dezvoltate de lungime redus, a fcut ca multi proiectanti a s a a s se a ndrepte ctre tehnologii FPGA. a Arhitecturile recongurabile pentru structured ASIC si propun s rezolve concomintent ambele cerinte a i s asigure performante de timp, putere consumat i arie ocupat apropiate de cele alte ultimelor s a a s a tehnologii de celule standard, dar acelai timp s asigure exibilitatea de programare, costuri sczute n s a a i o metodologie de implementare simpl, specic circuitelor FPGA. Prin folosirea pentru implementare s a a a tehnologiei structured ASIC se asigur performante de arie, timp, putere consumat a a ntre performantele tehnologiilor standard cell i FPGA, precum i un ux de implementare simplu, similar circuitelor FPGA, s s care ascunde multe din problemele implementrii unui circuit tehnologie de celule standard. Arhiteca n turile recongurabile dezvoltate pe tehnologia structured ASIC aduc napoi exibilitatea de programare a aplicatiilor, portiuni ale platformelor structured ASIC pot s si modice functia la ecare punere sub a tensiune sau chiar s implementeze mai multe contexte i multiplexarea acestora timp pentru a emula mai a s n multe aplicatii ce comunic a ntr-un sistem virtual. Se folosesc pentru implementare platformele structured ASIC produse de rma eASIC tehnologie de 90 nm, multe din trsturile arhitecturilor recongurabile n aa propuse ind date de caracteristicile acestei tehnologii. Metodologia de implementare folosete de asemenea, s multe din etapele i uneltele software specice tehnologiei eASIC i cteva programe dezvoltate de autor s s a n regim de prototip pentru programarea facil a aplicatiilor pe arhitecturile recongurabile propuse. a

7.1

Contributii originale

Principala contributie original a tezei este denirea a mai multor arhitecturi recongurabile pentru a tehnologii structured ASIC. Proiectate functie de mrimea aplicatiei de implementat sau functie de n a n necesitatea de recongurare, aceste arhitecturi acoper un spectru larg, pornind de la arhitecturi PLA recona gurabile static pn la arhitecturi CPLD i FPGA i recongurare dinamic, multi-context i multiplexare a a s s a s timp. Folosind pentru implementare familia Nextreme [28] se urmrete, pe ct posibil, implementarea n a s a unor arhitecturi eciente din punct de vedere al ariei ocupate pentru tehnologia eASIC dar i ca rezultatele s de timp s e comparabile cu cele ale circuitelor programabile comerciale de la acelai nod tehnologic. a s Vom enumera continuare principalele contributii originale ale autorului denirea acestor arhitecturi n n recongurabile, studiul testabilittii lor i propunerea unei metodologii de lucru pentru programarea n a s aplicatiilor pe noile arhitecturi propuse. 1. Denirea i implementarea arhitecturii PLA recongurabile static ePLA. Cele mai simple arhitecturi s recongurabile, pentru aplicatii de dimensiunini mici, folosesc posibilitatea de arcare a LUT-urilor tehno nc logiei eASIC la ecare punere sub tensiune, pentru a asigura o arie necesar relativ redus. Experimentele a a au artat c se pot implementa aproximativ 2 porti logice echivalente per celul logic, asigurnd un raport a a a a a de aproximativ 1/4 pentru capacitatea logic oferit pe aria de siliciu, considernd o aplicatie programat a a a a pe arhitectura recongurabil i direct pe structured ASIC. as 2. Denirea i implementarea arhitecturii PLA recongurabile dinamic, cu multiplexare n timp eTMPLA. s Aceste arhitecturi recongurabile pentru implementarea aplicatiilor de dimensiuni relativ mici folosesc memoria distribuit sau memoria bloc pentru a implementa pn la 16 contexte ce pot stocate acelai a a a n s

49

Contributii originale

timp pe circuit, iar schimbarea conguratiei se poate face chiar ntr-un singur tact de ceas. Rezultatele implementrii au artat posibilitatea implementrii a a a ntre 2 i 3 porti logice echivalente per celul logic, s a a n conditiile folosirii tuturor contextelor. 3. Denirea i implementarea arhitecturii CPLD recongurabile static eCPLD. Proiectate pentru imples mentarea aplicatiilor de dimensiuni medii, ele asigur recongurarea static a circuitului prin re a a nscrierea valorilor LUT-urilor la punerea sub tensiune. Folosind o matrice incomplet interconectat, bazat pe a a multiplexoare, aceast arhitectur ofer o arie ocupat relativ sczut. Experimentele au artat posibilitatea a a a a a a a de a implementa aproximativ 1,5 porti logice echivalente per celula logic eASIC, cu un factor efectiv de a 1/6 pentru capacitatea logic oferit pe aria de siliciu. a a 4. Denirea i implementarea arhitecturii CPLD recongurabile dinamic, cu multiplexare n timp eTs MCPLD. Prin integrarea a mai multor structuri programabile simple i a unei matrici de interconectare s programabile dinamic se denesc arhitecturile CPLD recongurabile dinamic, cu multiplexare timp. n Implementate dou variante ce folosesc memoria distribuit, respectiv memoria bloc, pentru stoca a pn n a a a a la 16 contexte acelai timp, ele ofer capacitatea logic pentru implementarea a pn la 16 aplicatii de n s a a a a dimensiuni medii sau chiar a unei aplicatii de dimensiune mare, dac se face arirea acesteia subfunctii a mp n i se folosete multiplexarea timp a acestora. cazul care se folosesc toate cele 16 conguratii la s s n In n capacitate maxim, putem arma c se mentine posibilitatea de a implementa a a ntre 2 i 3 porti logice s echivalente per celula logic a tehnologiei structured ASIC. a 5. Denirea i implementarea arhitecturii FPGA recongurabile static, eFPGA. Pentru a implementa s aplicatii de dimensiuni mari se propune o arhitectura tip FPGA recongurabil static. Construit prin a a repetarea unui patern de un numr foarte mare de ori, arhitectura eFPGA poate implementa aproximativ a o poart logic echivalent per celul logic, cu un factor efectiv a a a a a ntre 1/12 i 1/8 pentru capacitatea logic s a oferit pe aria de siliciu. Fiind o arhitectur foarte regulat, se propune preplasarea tuturor celulelor a a a componente ceea ce are ca efect obtinerea unor rezultate de arie i timp implementarea aplicatiei de s n test mai bune dect estimarea autorului. Pentu arhitecturi FPGA recongurabile dinamic, costul de arie a crete extrem de mult, de aceea aceste arhitecturi vor necesita noi studii i posibile modicri ale tehnologiei s s a structured ASIC folosite pentru implementare. 6. Studiul testabilitii arhitecturilor recongurabile, propunerea i implementarea unor extensii de test. at s Arhitecturile recongurabile i special cele cu recongurare dinamic, prezint posibilitatea de a avea bucle s n a a combinationale dac nu sunt congurate corespunztor. Astfel de cazuri pot aprea momentul testrii a a a n a automate de tip ATPG, fapt ce reduce acoperirea de testare a circuitului. Autorul propune i implementeaz s a o extensie simpl de test ce folosete un semnal global de testare a platformelor structured ASIC pentru a a s asigura acoperirea de testare necesar de peste 98%. Implementarea arhitecturilor recongurabile cu extensie a de test a demonstrat mbuntirea acoperirii de testare fr o degradare semnicativ a rezultatelor de a at aa a timp i de arie ale circuitelor. s 7. Descrierea managementului conguratiilor. Autorul descrie detaliu etapele de arcare initial n nc a a conguratiilor, de schimbare a conguratiei active i posibilele optimizri ale timpului de transfer al s a conguratiilor att pentru arhitecturile congurabile static, ct i pentru cele congurabile dinamic, cu mai a a s multe contexte. Toate aceste etape i metodologia de lucru sunt apoi exemplicate cadrul studiilor de s n caz. 8. Introducerea metodologiei de implementare a aplicatiilor pe arhitecturile recongurabile. Autorul dezvolt i valideaz o metodologie de implementare a proiectelor pe arhitecturile recongurabile propuse, as a artit dou etape: pre-fabricatie i post-fabricatie. Dac prima etap se folosete metodologia mp a n a s a n a s de implementare caracteristic structured ASIC, a doua etap se introduc unelte software specice, a n a dezvoltate de autor regim de prototip, i scripturi PERL/TCL folosite programarea arhitecturilor n s n conform aplicatiei de implementat. Toate aceste etape i ierele necesare sunt integrate uxul standard s s n de implementare a proiectelor pe tehnologia eASIC. Prin implementarea unor aplicatii de test pe arhitectura a recongurabil cu multiplexare timp, eTMPAL22v10 v1, se demonstreaz: a n multiplexarea timp a aplicatiilor pe arhitecturile recongurabile dinamic prin programarea a cinci n aplicatii de test: dou combinatinale i trei secventiale pe arhitecturile recongurabile dinamic, multi a s context;

7 Concluzii nale

50

emularea mai multor aplicatii ce comunic a ntre ele ntr-un sistem hardware virtual, fcut prin a a partajarea spatiului de stare ntre dou aplicatii secventiale simple; a transferarea unei conguratii timpul functionrii circuitului, modelat prin schimbarea functiei n a a logice a uneia din cele cinci aplicatii modelate initial pe arhitectura recongurabil. a Toate aplicatiile de test sunt vericate c functionez corect prin simulare comportamnetal comparativ, a a a a apoi sunt extrase cile critice prin analiz static de timp detaliat conform conguratiei i se calculeaz tima a a a s a pii necesari schimbrii unei conguratii innd cont de posibilitatea de recongurare total i recongurare a t a as partial. a 9. Propunerea ideilor pentru conceperea generatiei urmtoare de platforme structured ASIC n vederea a unui mai bun suport al recongurabilitii. cadrul lucrrii se identic mai multe limitri tehnologia at In a a a n structured ASIC de 90nm folosit pentru implementarea arhitecturilor recongurabile i se propun solutii a s de mbuntire a acesteia: a at creterea limii maxime a memoriei distribuite, eRAM, pentru o plasare mai ecient a arhitecturilor s at a recongurabile cu multiplexare timp ce folosesc memoria distribuit. n a permiterea plasrii mai multor instante de memorie distribuit per unitate logic, eUnit, pentru a a a a mbunti, de asemenea, plasarea arhitecturilor recongurabile cu multiplexare timp, ce folosesc a at n memoria distribuit. a permiterea utilizrii buerului three-state, din cadrul celulei, pentru conguratii logice va da posibilia tatea denirii de trasee bidirectionale de interconectare cadrul arhitecturilor tip eFPGA. n O ultim contributie a autorului o constituie trecerea revist a numeroaselor probleme sensibile din a n a domeniile de calcul recongurabil i a tehnologiilor structured ASIC pentru a gsi solutii viabile la problemele s a legate de cost, performant i metodologia de implementare a aplicatiilor, pentru a permite o integrare facil a s a a acestor arhitecturi circuitele integrate digitale. n

7.2

Directii viitoare de cercetare

Una din marile provocri create de arhitecturile recongurabile cu multiplexare timp este aceea de a a n folosi capacitatea circuitului lund considerare att aspectul spatial, ct i aspectul temporal. Realizarea a n a a s unor unelte EDA care s exploateze capacitatea spatial-temporal a arhitecturilor cu multiplexare timp a a n pentru structured ASIC, constituie o directie de cercetare ce va permite o utilizare optimal a acestora a n cadrul aplicatiilor utilizatorilor. Uneltele EDA trebuie dezvoltate de la regimul actual de prototip, s suporte a i arhitecturile recongurabile complexe i s permit o pipelinizare temporal a aplicatiilor implementate, s s a a a pentru maximizarea capacitii spatial-temporale a circuitului. at O alt directie de cercetare o constituie dezvoltarea ahitecturilor FPGA cu recongurare dinamic, a a multicontext, cu multiplexare timp. Aceast abordare va trebui privit prin prisma raportului dintre aria n a a suplimentar necesar i beneciul obtinut prin posibilitatea recongurrii rapide oferite de arhitecturile a a s a multicontext. La momentul actual, aria suplimentar necesar nu justic aceste arhitecturi, dar viitoarele a a a tehnologii structured ASIC pot modicate pentru a permite o implementare mai uoar a acestor arhitecs a turi conjunctie cu creterea densitii de integrare, conform legii lui Moore, pot oferi viitor capacitatea n s at n necesar acestor dezvoltri. a a

Bibliograe

[1] Kuon I. i Rose J. Measuring the Gap Between FPGAs and ASICs. IEEE Transactions on Computers Aided Design of Integrated Circuits and Systems, 26(2):203215, 2007. [2] ***. http://www.easic.com. [3] ***. http://www.viasic.com. [4] Blume H., Feldkmper H.T., i Noll T.G. Model-based exploration of the design space for heterogeneous s systems on chip. Journal of VLSI Signal Processing Systems, 40(1):1934, 2005. [5] Platzner M., Teich J., i Wehn N. Dynamically Recongurable Systems. Springer, 2010. s [6] ***. MAX 7000 Datasheet. Altera Corp, http://www.altera.com, 2005. [7] Brown S. D. i Rose J. FPGA and CPLD Architectures: A Tutorial. In IEEE Design and Test of s Computers, pages 4257, 1996. [8] ***. MAX II Device Handbook. Altera Corp, http://www.altera.com, 2009. [9] Leventis P., Vest B., Hutton M., i Lewis D. MAX II: A Low-Cost, High-Performance LUT-Based s CPLD. In Proceedings of the 2004 Custom Integrated Circuits Conference, pages 443446, 2004. [10] Rose J., Gamal A. E., i Sangiovanni-Vincentelli A. Architecture of Field-Programmable Gate Arrays: s The Eect of Logic Block Functionality on Area Eciency. Proceedings of the IEEE, 25(5):12171225, 1990. [11] Parker P. Kenneth. The Boundary-Scan Handbook (Hardcover). Springer, 2003. [12] ***. eFPGA CoreOverview. Menta, http://www.menta.fr, 2010. [13] Ahmed S. Z., Fernandez M., Sassatelli G., i Torres L. eFPGA architecture explorations: CAD Silicon s analysis of beyond 90nm technologies to investigate new dimensions of future innovations. In Proceedings of 4th International Workshop on Recongurable Communication-centric Systems-on-Chip, 2008. [14] Tulbure T., Jipa R., Nicula D., i Levinthal A. Standard sockets revolution in ASIC design. In s Buletinul Stiintic al Universitii POLITEHNICA din Timioara, ETC 2004, pages 6166, 2004. at s [15] Holland M. i Hauck S. Automatic Creation of Domain-Specic Recongurable CPLDs for SoC. In s Proceedings of 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2005. [16] Yan A. C. W. Product-Term Based Synthesizable Embedded Programmable Logic Cores. Master thesis, The University of British Columbia, 2005. [17] Yan A. i Wilton S. J. E. Product-Term-Based Synthesizable Embedded Programmable Logic Cores. s IEEE Transactions on Very Large Scale Integration Systems, 14(5):474488, 2006. [18] Trimberger S., Carberry D., Johnson A., i Wong J. A Time Multiplexed FPGA. In Proceedings of the s 5th Annual IEEE Symposium on FPGAs for Custom Computing Machines, pages 2228, 1997. [19] DeHon A. DPGA utilization and application. In Proceedings of the 1996 ACM fourth international symposium on Field-programmable gate arrays, pages 115121, 1996. [20] DeHon A. DPGA-Coupled Microprocessors: Commodity ICs for the Early 21st Century. In Proceedings of IEEE Workshop FPGAs for Custom Computing Machines, pages 3139, 1994. [21] DeHon A. Recongurable Architectures for General-Purpose Computing. PhD thesis, Massachusetts Institute of Technology, 1996. [22] Chang D. i Marek-Sadowska M. Partitioning Sequestial Circuits on Dynamically Recongurable s FPGAs. IEEE Transactions on Computers, 48(6):565579, 1999. [23] Halfhill T. R. Tabulas Time Machine, Rapidly Recongurable Chips Will Challenge Conventional FPGAs. Technical report, MICROPROCESSOR, The Insider guide to Microprocessor hardware www.MPRonline.com, 2010. [24] Ran Y. i Marek-Sadowska M. Designing via-congurable logic blocks for regular fabric. IEEE s Transactions on Very Large Scale Integration (VLSI) Systems, 14(1):114, 2006. [25] Taylor R. i Schmit H. Creating a power-aware structured ASIC. In Proceedings of the 2004 international s symposium on Low power electronics and design, pages 7477, 2004. [26] Jipa R. i Tulbure T. GALS-SA: Synchronous-Asynchronous Congurable Platform. In Proceedings of s 12th International Conference on Optimization of Electrical and Electronic Equipment, OPTIM 2010, Braov, pages 963970, 2010. s [27] ***. Hardcopy IV Device Handbook. Altera Corp, http://www.altera.com, 2011. 51

BIBLIOGRAFIE [28] [29] [30] [31] [32]

52

[33] [34] [35]

[36] [37] [38] [39]

[40] [41] [42] [43] [44] [45]

[46]

[47]

[48] [49] [50] [51]

[52] [53]

[54]

***. Nextreme Zero Mask-Change ASIC Device Handbook. eASIC, http://www.easic.com, 2009. ***. Nextreme 2 Device Handbook. eASIC, http://www.easic.com, 2010. ***. http://www.magma-da.com. ***. eGenPla - developer guide. eASIC, http://www.easic.com, 2001. Singh H., Lu G., Lee M.-H., Kurdahi F., Bagherzadeh N., Filho E., i Mastre R. MorphoSys: Case s study of a recongurable computing system targeting multimedia applications. In Proceedings of Design Automation Conference, 2000. Dene N. P. eRECOP - Coprocesor Recongurabil Tehnologia eASIC. Technical report, Universitatea s n Transilvania Braov, 2005. Referat pentru doctorat. s Dene N. P. eTMPAL - PAL Multiplexat Timp Tehnologie eASIC. Technical report, Universitatea s n n Transilvania Braov, 2006. Referat pentru doctorat. s Tulbure T. A Time Multiplexed Programmable Array for Structured ASIC Technology. In Proceedings of the 9th International Symposium on Electronics and Telecommunications, ISETC 2010, Timioara, s pages 2529, November 2010. Tulbure T. Area Optimized Solution for Structured ASIC Dynamic Recongurable PLA. In Annals of the University of Craiova, ICATE 2010, number 34, pages 245251, 2010. ***. GAL22V10 Data Sheet. Lattice & Vantis, http://www.latticesemi.com, 1998. ***. CoolRunner XPLA3 CPLD Architecture Overview. Xilinx Corp, http://www.xilinx.com, 2000. Tulbure T. A Dynamic Recongurable CPLD Architecture for Structured ASIC Technology. In Recongurable Computing: Architectures, Tools and Applications, Proceedings of 7th International Symposium on Applied Recongurable Computing, ARC 2011, Belfast, LNCS 6578: http://www.springerlink.com/content/75t854p0425h5046, pages 296301, 2011. Cooke L. gCPLD Architecture. 2001. ***. MAX V Device Handbook. Altera Corp, http://www.altera.com, 2010. ***. CoolRunner-II CPLD Family Datasheet. Xilinx Corp, http://www.xilinx.com, 2008. ***. XC2C64A CoolRunner-II CPLD. Xilinx Corp, http://www.xilinx.com, 2008. Cooke L. eASIC eCore based FPGA. 2001. Tulbure T. Implementation of an Embedded FPGA Architecture on Structured ASIC technology. In Proceedings of 4th Edition of International Conference on Electronics, Computers and Articial Intelligence, ECAI 2011, Piteti, pages 16, 2011. s Tulbure T. i Gvru R. Testability Optimizations for a Dynamic Recongurable PLA on Structured s a s ASIC Technology. In Proceedings of 3rd International Conference on Recent Achievements in Mechatronics, Automation, Computer Sciences and Robotics, MACRO 2011, Trgu Mure, pages 185 a s 192, 2011. Tulbure T. i Gvru R. A Test Optimized Dynamic Recongurable CPLD For Structured ASIC s a s Technology. In Proceedings of International Semiconductor Conference, CAS 2011, Sinaia, page to appear, 2011. Scheer L., Lavagno L., i Martin G. EDA for IC Implementation, Circuit Design, and Process s Technology. Taylor and Francis, 2006. Sbarcea B. eGenPLD - PLD-like structures generator for eASIC technology. Diploma thesis, Universitatea Transilvania Braov, 2001. s Brayton R., Hachtel G., McMullen C., i Sangiovanni-Vincentelli A. Logic Minimization Algorithms s for VLSI Synthesis. Kluwer Academic Publishers, 1984. Chen D., Cong J., Ercegovac M., i Huang Z. Performance-Driven Mapping for CPLD Architecture. s IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 22(10):14241431, 2003. Cong J. i Ding Y. FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in s Lookup-Table based FPGA Designs. IEEE Trans. on CAD, 13(1):112, 1994. Chen D. i Cong J. DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA s Designs. In Proc. IEEE International Conference on Computer Aided Design, pages 752760, San Jose, 2004. Khan A., Miyamoto N., Ohkawa T., Jamak A., Kita S., Kotani K., i Ohmi T. An approach to realize s time-sharing of ip-ops in time-multiplexed FPGAs. In Proceedings of IEEE International Conference on In Field-Programmable Technology, pages 351354, 2004.

53

BIBLIOGRAFIE

[55] Phelps A. E. Constructing an Error Correcting Code. Technical report, University of Wisconsin Madison, 2006. [56] Butler J. T. i Sasao T. Index to Constant Weight Codeword Converter. In Proc. of The 7th s International Symposium on Applied Recongurable Computing, LNCS 6578, pages 193205, 2011.

Microelectronic Recongurable Architectures For Structured ASIC Technology


Abstract
This thesis denes microelectronic recongurable architectures for structured ASIC technology and proposes associated methodology for implementation and reprogramming. The new architectures are based both on ideas from available commercial programmable devices and ideas from recongurable computing scientic domain, especially related to multi-context architectures and hardware virtualization through time multiplexing techniques. They are developed in a broad range of capacities and conguration options, to allow designers to benet from both post layout exibility and fast reconguration capability. Post layout exibility is used to debug and reprogram a part of an application while fast reconguration allows usage in the domain of recongurable computing. Several solutions are presented for circuits with complexity ranging from PAL (Programmable Array Logic), PLA (Programmable Logic Array) to CPLD (Complex Programmable Logic Device) and FPGA (Field-Programmable Gate Array) architectures, starting from static reconguration option to a single clock cycle dynamic reconguration. Customizing the solutions for structured ASIC technology combines architectural advantages with technological advantages to obtain a circuit that is ecient from area, power and timing perspective and also facilitates reducing the implementation eort for deep submicron integrated circuits. The system on chip (SoC) methodology helps designers deal with the increasing logic capacity oered by technological advance within a reasonable cost, but designing and testing of a correct functioning digital circuit is still very dicult. A possible solution is to integrate recongurable blocks in the integrated circuits to add post fabrication exibility only where it is required. Static recongurable architectures for structured ASIC resolve this problem, allowing the possibility to recongure post fabrication part of the chip, with a minimal area overhead. Multi-context dynamic recongurable architectures use both spatial and temporal aspects of logic capacity. They permit fast dynamic reconguration of an application or part of an application by storing multiple congurations using on chip memory. Multi-context dynamic recongurable architectures for structured ASIC oer solutions: for increased logic capacity, for fast reconguration and for emulation of multiple circuits communicating in a virtual hardware environment. Throughout this thesis these recongurable architectures for structured ASIC are described in detail, they are implemented and compared with commercial programmable devices at same technological node. The area overhead is analyzed by implementing a test application both directly in structured ASIC and by programming the recongurable architectures. Test extensions are dened and implemented to increase the architecture test coverage without aecting the area and timing performance. In order to facilitate implementation of projects on the new recongurable architectures, the author proposes a methodology that reuses many structured ASIC implementation stages and introduces some custom stages, characteristic to the new architecture. Design automation software is implemented to demonstrate the reconguration options and to allow designers an easy adoption of the new architectures.

CURRICULUM VITAE
Nume: Data naterii: Adresa E-mail: Studii: 2001-2011 Facultatea de Inginerie Electric i tiina Calculatoarelor Universitatea Transilvania Braov Doctorand Facultatea de Inginerie Electric i tiina Calculatoarelor Universitatea Transilvania Braov Master n Tehnici EDA Facultatea de Inginerie Electric i tiina Calculatoarelor Universitatea Transilvania Braov Student la Electronic Aplicat Liceul teoretic Dr. Ioan Meot, Braov Traian-Tiberiu TULBURE 21 Noiembrie 1976 B-dul Victoriei, Nr. 5, Bl. 38, Sc. B, Ap. 27, Braov, 500214 tulbure@vega.unitbv.ro

2000-2001

1995-2000

1991-1995 Experient: 2009-2011

Sef Lucrri Facultatea de Inginerie Electric i tiina Calculatoarelor Universitatea Transilvania Braov Asistent Facultatea de Inginerie Electric i tiina Calculatoarelor Universitatea Transilvania Braov Preparator Facultatea de Inginerie Electric i tiina Calculatoarelor Universitatea Transilvania Braov Application Engineeering Manager eASIC Corporation, Braov Hardware Designer eASIC Corporation, Braov Electronic digital, Modelare RTL, Calcul reconfigurabil 7 publicaii internaionale (1 indexat ISI Web of Science, 3 indexate n IEEE Xplore) ca prim autor 2 publicaii internaionale (1 indexat ISI Web of Science) co-autor 2 lucrri n reviste de specialitate (CNCSIS rank B and B+) ca prim autor 1 lucrare n reviste de specialitate (CNCSIS rank B and B+) co-autor 1 lucrare la conferine naionale ca singur autor

2004-2009

2003-2004

2005-2011 2000-2005

Activti de cercetare: Activitate tiinific:

CURRICULUM VITAE

Name: Date of birth: Address: E-mail: Education: 2001-2011

Traian Tiberiu TULBURE 21 November 1976 B-dul Victoriei, Nr. 5, Bl. 38, Sc. B, Ap. 27, Braov, 500214 tulbure@vega.unitbv.ro

Faculty of Electrical Engineering and Computer Science Transilvania University of Braov PhD student Faculty of Electrical Engineering and Computer Science Transilvania University of Braov M.Sc. in EDA Tehniques Faculty of Electrical Engineering and Computer Science Transilvania University of Braov B.Sc. in Electronics Dr. Ioan Meot High School, Braov

2000-2001

1995-2000

1991-1995 Profesional activity: 2003-2011

Lecturer Faculty of Electrical Engineering and Computer Science, Transilvania University of Brasov Application Engineeering Manager eASIC Corporation, Braov Hardware Designer eASIC Corporation, Braov Digital electronics, RTL modeling, reconfigurable computing 7 international publications (1 indexed by ISI Web of science, 3 indexed by IEEE Xplore) as first author 2 international publications (1 indexed by ISI Web of science) as co-author 2 journal (CNCSIS rank B and B+) papers as first author 1 journal (CNCSIS rank B and B+) paper as co-author 1 national conference paper as first author

2005-2011 2000-2005

Research interest: Scientific activity: