Sunteți pe pagina 1din 19

Capitolul 5 5 ARHITECTURA CIRCUITELOR FPGA.

FAMILIA XC4000 (Field Programmable Gate Array)

5.1 Generaliti
Un circuit FPGA (Field Programmable Gate Array) este alctuit dintr-un numr mare de celule logice de baz numite blocuri logice configurabile (vezi figura 5.1), care sunt mai mici dect un circuit PLD obinuit. Aceste celule logice sunt distribuite pe toat suprafaa cipului. Fiecare celul este nconjurat de interconexiuni programabile ansamblul acestor interconexiuni poart numele de matrice de conexiuni programabile. ntreg ansamblul de celule i interconexiuni se afl ntr-un inel format de blocurile de intrare / ieire. Un bloc logic configurabil poate implementa mai puine funcii logice dect un circuit PLD, dar numrul acestor blocurilor logice configurabile dintr-un circuit FPGA este mai mare dect numrul de circuite PLD dintr-un circuit PLD raportat la aceeai dimensiune a pastilei de siliciu.

Figura 5.1 Arhitectura general a circuitelor FPGA

Capitolul 5

Ariile logice FPGA au fost introduse n 1985 de firma XILINX. Poziia de lider a fost pstrat prin continua mbuntire a circuitelor, i prin oferta soluiilor de proiectare complet. Una dintre cele mai cunoscute familii este XC4000E, despre care vom discuta n continuare. Cel mai mic membru al familiei XC4000E este circuitul XC4003E alctuit dintr-o arie 10X10 blocuri logice configurabile (CLB = Configurable Logic Blocks). Componenta cu capacitatea cea mai mare din familia XC4000E este circuitul XC4000EX care conine 1.024 CLB-uri (arie 32X32). Prin extinderea caracteristicilor familie XC4000EX a rezultat familia XC4000XL, cel mai mare membru al acestei familii este circuitul XC4085XL care conine 3.136 CLB-uri (vezi tabelul T5.1).
Tabelul T5.1 Familia de circuite FPGA XC4000

n tabelul T5.1 sunt prezentai membri familiei XC4000. Pe primele dou coloane este dat numrul de blocuri logice configurabile (CLB-uri), pe cea de a doua coloan numrul maxim de porturi de intrare/ieire. Deoarece se folosesc mai multe tipuri de capsule (cu numr diferit de pini), nu toate porturile se vor regsii la pinii externi, n cazul capsulelor cu numr mai mic de pini. La fel ca i n cazul circuitelor CPLD, proiectantul are posibilitatea de a migra de la un circuit FPGA de capacitate mai mic la un altul de capacitate mai mare, pstrnd tipul de capsul. n cea de a cincia coloan a tabelului se d numrul maximi de bistabile pentru fiecare membru al familie. Dup cum se va studia mai departe se va putea observa c avem cte dou bistabile pentru fiecare CLB i fiecare IOB (Input/Output Block = bloc de intrare/ieire). Fiecare CLB poate implementa memorii SRAM de maxim 32 de bii. Astfel c se poate vorbii de capacitatea maxim a unei memorii ce poate fi implementat ntr-un circuit FPGA, vezi coloana a asea din tabelul T5.1. n ultimele dou coloane ale tabelului este exprimat capacitatea fiecrui circuit n numr de

69

Arhitectura circuitelor FPGA. Familia XC4000

pori logice. Se poate observa c numrul de pori logice este variabil, el depinznd de logica implementat, combinaional sau secvenial. Se poate considera c fiecare celul de memorie RAM este implementat cu un bistabil de tip D. Pentru implementarea bistabiluli de tip D sunt necesare 4 pori logice, rezult c 32 celule SRAM X 4 = 128 de pori logice/CLB. Abundena de pori logice, registre, interfee I/O cu o vitez de rspuns mare, sunt doar cteva caracteristici ale circuitelor logice reprogramabile FPGA. Seria circuitelor cu aria de configurare de tip SRAM include i urmtoarele familii de produse: XC2000, XC3000, XC4000, XC5200 i XC6200.

5.2 Descrierea seriei XC4000


Seria XC4000 este implementat intr-o structur regular, flexibil cu o arhitectur programabil, realizat prin blocuri/celule logice configurabile (Configurable Logic Blocks, CLBs), blocuri/celule de intrare/ieire (Input/Output Blocks, IOBs) i resurse de conexiuni programabile (vezi figura 5.2). Circuitele sunt configurate cu ajutorul memoriei interne (inaccesibil utilizatorului). Configuraia este realizat fie n mod activ de ctre FPGA prin citirea unei memorii EPROM (serie / paralel), sau configuraia este nscris de un microprocesor, microcontroler sau alt FPGA prin mai multe metode, care vor fi descrise n cele ce urmeaz.

5.2.1 Descrierea funcional

Seria XC4000 realizeaz prin tehnologia submicron avansat, o arhitectur performant cu o vitez de lucru ridicat. Seriile XC4000E i XC4000X permit frecvene de funcionare extern de 80MHz, iar structura intern poate funciona chiar i la frecvene de 150MHz. Seria XC4000 ofer realizarea unor structuri de dual port RAM, inhibarea frecvenei de tact, transmisia carry rapid la operaii aritmetice. Circuitele sunt flexibile n aplicaii, mai ales unde este nevoie de utilizarea unor circuite de memorii rapide. 5.2.2 Descrierea blocurilor componente

Structura intern programabil de utilizator include dou elemente majore configurabile (vezi figura 5.2) : - Blocurile logice configurabile (CLBs); - Blocurile de intrare / ieire (IOBs). Astfel vom avea:

70

Capitolul 5

Blocurile CLB furnizeaz elementele funcionale i realizeaz structura logic proiectat; Blocurile IOB furnizeaz interfaa ntre semnalele interne i exteriorul circuitului (legtur realizat fizic prin intermediul pinilor).

Figura 5.2 Arhitectura intern XC4000

Structura cuprinde nc alte trei elemente programabile: - Fiecrui CLB i este asociat un 3-state buffer (TBUF) a crui ieire este conectat la liniile lungi asociate; - Decodificatoare rapide implementate pentru viteze ridicate; - Un oscilator intern cu frecvena de 8MHz; - Interconexiunile programabile furnizeaz resursele de conectare ntre elementele CLB, IOB. Funcia logic realizat de fiecare bloc configurabil este implementat prin intermediul memoriei statice de configurare. Valorile stocate n aceste memorii determin starea blocurilor i a interconexiunilor n interiorul FPGA.

5.3 Blocurile logice configurabile (CLB)


CLB-urile implementeaz majoritatea funciilor logice proiectate. Elementele principale ale unui bloc configurabil sunt artate n figura 5.3. F i G generatoare de funcii cu 2x4 intrri conferind astfel o versatilitate nelimitat CLB-ului. H generator de funcii suplimentar ce posed 3 intrri dintre care dou provin de la generatoarele de funcii F i G, iar a treia provine din exterior de la unul din CLB-ulurile vecine. Astfel blocul configurabil poate implementa funcii logice cu 9 variabile de intrare, cum ar fi generatoarele de paritate, comparatoarele de identitate sau un set de dou funcii cu cte patru intrri. Blocul configurabil CLB conine dou elemente de stocare numite registre (bistabili D), care se pot utiliza pentru stocarea rezultatelor date de generatoarele de funcii. De asemenea elementele de registru sau generatoarele de funcii se pot

71

Arhitectura circuitelor FPGA. Familia XC4000

utiliza i independent. Intrrile DIN, H1 sunt intrri directe de stocare. Ieirile generatoarelor de funcii se pot utiliza ca ieiri independente de ieirile elementelor de stocare. Aceast flexibilitate mrete resursele logice i simplific implementarea proiectelor. Astfel prin intermediul a 13 intrri i 4 ieiri este asigurat accesul la fiecare bloc configurabil. Intrrile i ieirile respective legate la resursele programabile de interconectare vor realiza funciile logice.

Figura 5.3 Structura intern a blocului logic configurabil (CLB)

5.3.1 Generatoarele de funcii Generatoarele de funcii sunt implementate ca tabele de memorii (memory look up table). Astfel, timpul de propagare este independent de funcia implementat. Al treilea generator de funcii cu ieirea H, poate implementa orice funcie logic Boolean cu 3 variabile. Dou dintre aceste intrri mpreun cu H1, ieirile F i G formeaz o alt funcie logic. Alternativ, una sau ambele intrri (H2, H0) pot fi semnale externe blocului. Intrarea H1 provine din exterior. Semnalele de ieire ale generatoarelor de funcii pot forma ieirile CLB. Ieirile F sau H sunt conectate la ieirea X, iar G sau H sunt conectate la ieirea Y. Un bloc configurabil se poate utiliza pentru implementarea oricrei funcii logice lund n considerare urmtoarele posibiliti:

72

Capitolul 5

Orice funcie cu pn la patru variabile independente, plus orice funcie secundar cu pn la patru variabile independente, plus orice funcie logic cu maximum trei variabile independente1; - Orice funcie logic cu 5 variabile independente; - Orice funcie logic cu 4 variabile mpreun cu unele funcii de 6 ase variabile; - Unele funcii logice cu pn la 9 variabile. Prin implementarea funciilor logice, cu un numr mare de variabile ntr-un singur bloc, se reduce numrul de blocuri necesare pentru realizarea proiectului. De asemenea se reduc i timpii de propagare, astfel c va crete capacitatea de implementare i viteza de lucru. 5.3.2 Bistabilii interni

Pe lng faptul c sunt ieiri pentru reeaua de interconexiuni, ieirile combinaionale pot fi i surs de intrare pentru bistabili interni ai CLB pentru realizarea circuitelor secveniale. Bistabilii sunt de tip D i au tactul de nscriere pe front pozitiv prin semnalul comun de tact K. Inhibarea tactului se realizeaz prin semnalul EC. Prin semnalul de inhibare ambele intrri de tact se pot inhiba sau nu n mod permanent. 5.3.3 Intrarea de tact Fiecare bistabil poate fi nscris att pe frontul pozitiv ct i pe cel negativ al tactului. Dei semnalul K este comun el se poate inversa separat la fiecare dintre intrrile bistabililor. Orice invertor plasat la intrarea de tact este absorbit n mod automat de CLB. 5.3.4 Inhibarea de ceas Semnalul de inhibare EC este activ pe nivel logic High. Semnalul comand inhibarea la ambele elemente de stocare, dar lsat neconectat va avea valoare logic implicit. Semnalul nu este inversabil la intrarea n bistabil. 5.3.5 Set / Reset Setarea i resetarea bistabililor se face n mod asincron prin intermediul semnalelor SR/H0. Aceast opiune determin starea bistabililor n momentul cnd ele devin active dup configurare . De asemenea determin efectul semnalului de Set / Reset global pe perioada normal a operaiei i totodat determin efectul semnalului SR al CLB.

n cazul generrii a 3 funcii separate, una dintre funcii trebuie s furnizeze intrarea bistabilului intern al CLB. Doar dou funcii combinaionale sunt realizabile.

73

Arhitectura circuitelor FPGA. Familia XC4000

Starea Set / Reset se specific prin utilizarea atributului INIT, sau prin amplasarea n schema electric a simbolurilor corespunztoare din biblioteca de circuite secveniale. SR nu este inversabil n interiorul CLB i este activ pe 1 logic. 5.3.6 Set / Reset global Un semnal global Set / Reset asigur tergerea bistabililor n momentul cuplrii la tensiune, pe durata reconfigurrii, sau cnd linia de reset global este activat. Aceast linie de reset global GSR nu interfereaz cu resursele de interconectare, ea este implementat ntr-o reea separat. Fiecare bistabil este configurat n aa fel ca att setarea local SR sau global GSR s seteze bistabilul. Semnalul GSR se poate conecta la orice pin programabil. Pentru a utiliza aceast legtur global se va specifica n schema electric un buffer de intrare i un pin de legtur n modul artat n figura 5.4, sau n program HDL se va specifica GSR.

Figura 5.4 Schema de conectare a semnalului global Set / Reset

Opional se poate insera un invertor dup buffer-ul de intrare pentru a inversa sensul semnalului global GSR. 5.3.7 Intrri i ieiri de date Sursa semnalului de intrare n bistabil este programabil. Acest semnal de intrare se poate selecta dintre funciile F, G i H, sau de la semnalul de intrare direct Direct_In (DIN) a blocului programabil. Dou ci de trecere rapid sunt multiplexate mpreun cu ieirile bistabililor. Aceste ci de trecere uneori sunt utilizate de programul de interconectare automat pentru alimentarea unor semnale interioare. 5.3.8 Semnale de control Multiplexoarele interne ale CLB faciliteaz implementarea funciilor alese (figura 5.3). Multiplexoarele sunt controlate de semnalele (C1 C4), sau de semnalele interne rezultante (H1, DIN/H2, SR/H0 i EC). Oricare dintre aceste

74

Capitolul 5

semnale sunt sursa semnalelor de control intern. Cnd funcia logic este activ atunci aceste semnale sunt: - EC Clock Enable; - SR/H0 Set/Reset asincron sau intrarea H0 a generatorului de funcie H; - DIN/H2 Intrare direct H2 a generatorului de funcii H; - H1 Intrarea direct H1 a generatorului de funcii H. Dac blocul este configurat ca i memorie RAM/ROM cele patru intrri au semnificaia: - EC Clock Enable; - WE Write Enable; - D0 Intrare dat pentru generatorul de funcie F i /sau G; - D1 Intrare dat pentru generatorul de funcie G (mod RAM/ROM 16x1 i 16x2) sau bitul de adres 24 (mod 32x1). 5.3.9 Generatoarele de funcii utilizate ca RAM Generatoarele de funcii F i G se pot utiliza ca celule de memorie RAM/ROM. Modurile de configurare posibile sunt: nscriere pe nivel logic; nscriere pe front pozitiv / negativ; Port dual cu nscriere pe front pozitiv / negativ. Modurile de configurare acceptate pentru portul simplu i dual sunt prezentate n tabelul T5.2.
Tabel T5.2 Moduri de configurare a memoriei

16x1

16x2

32x2

nscriere pe front

nscriere pe nivel logic Da

Sigle-port Dual-port

Da Da

Da

Da

Da Da

5.3.10 Opiuni de configurare ale memoriilor RAM Circuitele RAM realizate cu seria XC4000 pot lucra n dou moduri de lucru: Modul de lucru sincron (Edge Triggered) - Informaia este nscris pe frontul pozitiv / negativ al tactului, WE funcioneaz ca semnal de inhibare tact de nscriere. Modul de lucru asincron (Level Sensitive) - Semnalul extern WE funcioneaz ca semnal de nscriere (strobe).

75

Arhitectura circuitelor FPGA. Familia XC4000

Figura 5.5. Cile de propagarea a bitului de transport

5.3.11 Logica de propagare carry Fiecare generator de funcii din CLB conine circuite aritmetice dedicate generri rapide a bitului de transport (superior / inferior sau carry / borrow). Acest semnal de ieire este conectat la blocul logic adiacent. Circuitul logic dedicat realizrii bitului de transport mrete performanele circuitelor de adunare / scdere i numrtoare. Acest fapt orienteaz circuitele FPGA pentru aplicaii n care prelucrarea semnalelor necesit vitez mare de calcul. Aceast realizare a bitului de transport este cel mai nsemnat avantaj al seriei XC4000 ce permite realizarea unor circuite numrtoare cu o frecven de lucru de pn la 70Hz. Propagarea bitului de transport este realizat conform figurii 3.5.

5.4 Blocurile de intrare / ieire (IOBs)


Blocurile configurabile de intrare / ieire realizeaz interfaa ntre mediul exterior i structura intern a circuitului FPGA. Fiecare IOB controleaz un pin al circuitului integrat. Blocurile de intrare ieire se pot configura ca i port de intrare, port de ieire sau port bidirecional. n figura 5.6 este prezentat diagrama simplificat a blocului IOB. 5.4.1 Semnalele de intrare din blocul IOB spre interiorul FPGA Cile I1 i I2 furnizeaz semnalele de intrare n IOB. Acestea sunt conectate la un bisatbil al crui tact de nscriere poate fi pe front sau pe nivel logic.

76

Capitolul 5

Blocurile IOB se pot configura astfel nct nivelel tensiunilor de intrare / ieire s fie compatibile cu nivelel de tensiune TTL sau CMOS. Opiunea se selectez la lansarea programului de generare a fiierului de configurare. 5.4.2 Intrri pe registru

Semnalel I1 i I2 se pot conecta la bistabilul de intrare al blocului IOB. Semnalul de inhibare a bistabililor din IOB poate fi configurat astfel nct s fie comun sau separat pentru cele dou registre. Acest semnal nu se poate inversa n interiorul IOB.

Figura 5.6 Diagrama simplificat a blocului de intrare / ieire la seria XC4000X Suprafeele haurate indicnd diferenele fa de seria XC4000E

5.4.3 Semnale de ieire din IOB n mod opional semnalele de ieire se pot inversa n interiorul blocului de intrare / ieire. Aceste semnale se pot conecta direct la ieirea pinului sau la bistabilul de ieire din IOB. Seria XC4000X permite un curent maxim de ieire egal 12mA / ieire. O ieire se poate configura ca ieire open drain (open collector) prin plasarea unui buffer 3-state (OBUFT) n schema circuitului (vezi figura 5.7).

77

Arhitectura circuitelor FPGA. Familia XC4000

Figura 5.7. Ieirea Open Drain

5.4.4 Controlul vitezei de cretere a semnalului (Slew Rate Control) Slew rate-ul fiecrui buffer, este redus pentru a minimiza consumul de putere i pentru a minimiza semnalele tranziente la tensiunea de alimentare. Sarcina capacitiv la cuplri simultane n aceeai direcie este de 200pF ntre tensiunea de alimentare i masa de alimentare. 5.4.5 Linia global de comand a ieirilor 3 state O linie global separat permite forarea n starea de impedan ridicat a tuturor ieirilor FPGA ului, cu excepia cazului testrilor perimetrice (boundary scan). Aceast linie global (GTS) nu consum resursele de conectare, ci este o linie dedicat, linie ce poate fi comandat de la orice port IOB al circuitului. Linia poate de asemenea fi comandat i de la un nod intern, similar semnalului GSR.

5.5 Buffer ele de impedan ridicat


Fiecrui CLB i este asociat o pereche de buffere (vezi figura 5.8) de impedan ridicat. Aceste buffere se pot utiliza pentru a conecta blocul CLB la linia orizontal lung, pentru a realiza funcia wired or/and. Dar la fel se pot implementa reele multiplexate sau bus bidirecional salvnd astfel resursele logice ale CLB. Rezistoarele programabile ataate acestor linii orizontale ajut la implementarea funciilor wired or/and. Un alt buffer cu acces similar este aezat n dreapta fiecrui bloc de intrare / ieire. Liniile lungi orizontale au o rezisten implementat la fiecare capt pentru a prevenii strile logice flotante. 5.5.1 Modurile de utilizare ale buffer-elor 3 state Aceste buffere se pot configura n trei moduri: - Buffer 3 state standard; - Funcie cablat wired and cu intrare pe pinul I; - Funcie cablat wired or and.

78

Capitolul 5

Parte comun att seriei XC4000E ct i seriei Corespunde numai seriei XC4000 Matrice de cuplare programabil
Figura 5.8 Interconexiuni programabile

5.6 Realizarea decodificatoarelor rapide de capacitate ridicat


Circuitele dedicate ajut la realizarea funciilor de decodificare. n cazul n care numrul biilor de adres sau de date este mare, atunci pentru realizarea decodificatoarelor generatoarele de funcii realizeaz aceast funcie de decodificare prin nivele ierarhice multiple, ceea ce mrete timpul de propagare. Ieirile decodificatoarelor implementate n CLB pot fi intrri pentru alte blocuri configurabile, astfel c se realizeaz o structur asemntoare circuitelor PAL. De asemenea ieirile decodificatoarelor se pot conecta direct la ieirile circuitului (pin IOB).

79

Arhitectura circuitelor FPGA. Familia XC4000

5.7 Oscilator intern on chip


Seria XC4000 posed un oscilator intern implementat pe chip. Acest oscilator este utilizat ca semnal de tact n momentul proxim cuplrii la tensiune, pentru lansarea procesului de configurare i tergerea memoriei de configurare. La fel este surs de semnal a pinului CCLK n mod de configurare master. Frecvena nominal a oscilatorului este de 8MHz, dar frecvena variaz n funcie de tensiunea de alimentare i temperatur. Frecvena de ieire poate varia ntre 4 i 10 MHz. Ieirile oscilatorului sunt disponibile utilizatorului dup configurarea circuitului. Aceste ieiri sunt frecvene ce se obin de la ieirea divizorului de frecven. Aceste ieiri sunt frecvenele ce se obin de la ieirile divizorului de frecven i sunt biii 4, 9, 14, 19. Astfel dac frecvena nominal a oscilatorului este 8MHz, atunci frecvenele divizate sunt: 500kHz, 16kHz, 490Hz, i 15Hz. Aceste semnale se pot utiliza n schema electric prin plasarea simbolului OSC4 (vezi figura 5.9).

Figura 5.9 Simbolul oscilatorului intern al FPGA ului XC4000

5.8 Interconexiunile programabile


Toate conexiunile interne sunt compuse din segmente de metal cu puncte de cuplare programabile i matrice de cuplare pentru realizarea legturilor interne. Exist urmtoarele tipuri de conexiuni: - Realizarea legturilor ntre blocurile CLB este asociat rndurilor i coloanelor matricei CLB; - Realizarea legturilor ntre blocurile IOB formeaz un cordon n jurul matricii CLB (VersaRing), acest cordon conecteaz pinii I/O cu blocurile logice interne; - Conexiunile globale sunt compuse din reele dedicate, proiectate pentru distribuirea rapid a semnalelor de comand i control utilizate n proiect. Se disting 5 tipuri de linii de interconectare: linii de lungime simpl, linii de lungime dubl, linii de lungime quad-dubl, linii de lungime octal, linii lungi.

80

Capitolul 5

5.8.1 Realizarea legturilor ntre blocurile CLB n figura 5.10 sunt prezentate resursele de conectare ale unui bloc CLB. Liniile de culoare nchis exist numai la circuitele XC4000EX.

Figura 5.10 Realizarea legturilor ntre blocurile CLB

ntrrile i ieirile n blocurile configurabile sunt distribuite n toate cele patru direcii, pentru ca realizarea conexiunilor s fie ct mai flexibil. Poziia intrrilor i ieirilor CLB este interschimbabil pentru evitarea congestiunilor, n timpul plasri i realizri conexiunilor.

5.8.2 Matricea de cuplare programabil Liniile de simpl i dubl lungime verticale i orizontale se intersecteaz n aa numita matrice de cuplare programabil (pragrammable switcing matrix PSM). Romburile de la intersecia a dou linii reprezint tranzistoarele de trecere utilizate pentru realizarea conexiunilor ntre linii (vezi figura 5.11.a). n figura 5.11.b sunt prezentate cteva posibiliti de interconectare oferite de PSM.

81

Arhitectura circuitelor FPGA. Familia XC4000

Figura 5.11.a Matricea programabil de cuplare

Figura 5.11.b Posibiliti de interconectare a dou linii

5.8.3 Linii de simpl lungime Liniile de simpl lungime permit interconectarea rapid a blocurilor adiacente. Fiecrui bloc i sunt asociate 8 linii verticale i 8 linii orizontale de simpl lungime. Aceste linii sunt conectate n matrice programabile situate la interseciile fiecrei linii i coloane. Conectarea liniilor de simpl lungime la matricele programabile este artat n figura 5.12, iar realizarea conexiunilor este artat n figura 5.8. Liniile de simpl lungime introduc ntrzieri n propagarea semnalelor ori de cte ori intr ntr-o matrice programabil. Din aceast cauz nu sunt utilizabile pentru realizarea legturilor la distan. Ele sunt utilizate n mod normal pentru a ghida semnalele ntr-o arie restrns. 5.8.4 Liniile de dubl lungime Liniile de dubl lungime realizeaz o gril din segmente de metal. Fiecare linie are lungime dubl n comparaie cu liniile simple. Liniile duble sunt grupate n perechi i intr n fiecare a doua matrice (vezi figura 5.12). Fiecrui CLB i se asociaz patru linii verticale i patru linii orizontale, pentru realizarea conexiunilor. Realizarea conexiunilor este artat n figura 5.8. 5.8.5 Linii lungi Liniile lungi asemntor liniilor de dubl lungime formeaz o gril de metal ce acoper toat aria circuitului. Aceste linii cu un fun-out ridicat i timpi de propagare minimi pot conduce la semnale critice. La cele dou linii orizontale fiecare CLB se poate conecta prin intermediul unui buffer 3-state. Astfel c aceste linii pot implementa bus-uri uni- sau bi-direcionale sau funcii cablate.

82

Capitolul 5

Figura 5.12 Liniile de simpl i dubl lungime i matricile programabile

Figura 5.13 Diagrama de conexiuni a seriei XC4000 cu cordonul VersaRing (n stnga) Decodificatoarele (WED) i blocurile I/O Suprafeele haurate corespund numai seriei XC4000X

83

Arhitectura circuitelor FPGA. Familia XC4000

5.8.6 Resurse de conectare a intrrilor / ieirilor Seria XC4000 posed resurse suplimentare pentru conectarea blocurilor IOB. Un cordon de legturi realizat n jurul blocurilor CLB, numit VersaRing faciliteaz conectarea pinilor i realizarea conexiunilor interne fr a consuma resursele de conectare pentru implementarea proiectului. Cordonul VersaRing conine opt linii de dubl lungime i patru linii lungi (vezi figura 5.13).

5.9 Configurarea circuitelor FPGA


Procesul de configurare este metoda prin care un proiect digital este implementat (tradus n fiier hart de bii) i transmis printr-o anumit metod circuitului FPGA. Metoda se aseamn cu programarea perifericelor unui microprocesor. Pentru configurarea unui CLB i a conexiunilor asociate se utilizeaz cteva sute de bii. Fiecare bit de configurare definete starea unei celule de memorie statice care controleaz un bit din tabela de stri, intrare multiplexor sau punct de tranziie programabil. Sistemul de dezvoltare traduce proiectul ntr-o list de conexiuni de format Xilinx sau EDIF. 5.9.1 Pinii dedicai pentru selectarea modului de configurare n momentul cuplri la tensiune starea logic a celor trei pini dedicai (M2, M1, M0) determin metoda de configurare. Dup configurarea circuitului aceti pini se pot folosi ca intrri (M2, M0) i ieiri (M1) ale FPGA. Considernd cei trei pini de configurare sunt permise opt moduri de configurare. Aceste moduri sunt artate n tabelul T5.2. Astfel conectnd toi pinii de ieire la 1 logic circuitul FPGA va funciona n mod slave serial, care este modul de lucru cel mai popular , n care datele de configuraie vor fi transmise n mod serial de la un alt FPGA, sau un microprocesor sau microcontroler. Deii pinii de mod conin rezisten integrat de 100 k, se recomand conectarea unor rezistene cu valoarea 4,7 k. Dup cum se poate observa i din tabelul T5.3 circuitele din seria XC4000 pot fi configurate n ase moduri dac nu se consider cele trei moduri de Master un singur mod de configurare. Modurile de configurare se pot clasifica n : - Moduri master (trei moduri de configurare); - Moduri paralel (dou moduri de configurare); - Moduri slave (utilizate mai ales n daisy chain). Ultimul mod de configurare modul expres se poate considera un mod de configurare serial, care permite configurarea rapid a circuitelor XC4000EX.

84

Capitolul 5 Tabel T5.3 Moduri de configurare

Moduri de configurare Master Serial Slave Serial Master Paralel, prin incrementare Master Paralel, prin decrementare Periferial Sincron Periferial Asincron Expres Rezervat

M2 0 1 1

M1 0 1 0

M0 0 1 0

CCLK ieire intrare ieire

Data Bit-serial Bit-serial Byte Paralel, prin incrementare de la 00000H

1 0 1 0 0

1 1 0 1 0

0 1 1 0 1

ieire intrare ieire intrare -

Byte Paralel, prin decrementare de la 3FFFH Byte - Parale Byte - Parale Byte - Parale -

5.9.2 Secvena de configurare n secvena de configurare apar patru perioade distincte: - tergerea memoriei de configurare; - Iniializarea circuitului; - Configurarea circuitului; - Modul de funcionare dorit.

5.10 Productori de circuite FPGA i medii de proiectare


Firma ACTEL este un productor cunoscut de circuite FPGA, cteva familii de circuite produse de aceast firm sunt: ACT 1 (aprox. 2000 de pori logice), ACT 2 (2500 8000 pori logice), ACT 3 (capacitate de pn la 10.000 de pori logice). Alte circuite FPGA realizate de firma Actel sunt familiile Actel 1200XL i 3200DX Integrator care sunt destinate aplicaiilor cu pre de cost relativ redus i performane medii. Tehnologia CMOS de realizare este de 0,6 m. De asemenea firma Actel pune la dispoziia proiectantului i un set de programe de proiectare reunite sub numele Actel Designer Series. Acest mediu de proiectare ofer soluii complete, de la descrierea proiectului i pn la programarea i testarea circuitului logic. O alt familie de circuite FPGA este familia AT6000 produs de firma ATMEL. Aceast familie de circuite se bazeaz pe celule de tip SRAM. Densitatea

85

Arhitectura circuitelor FPGA. Familia XC4000

circuitelor din aceast familie este cuprins ntre 2000 - 20.000 de pori logice, plus 1024 6400 registre i sunt realizate n tehnologie CMOS de 0,8 m. Firma Atmel ofer i un mediu de proiectare complet (Atmel Integrated Development System) disponibil att pentru PC-uri ct i pentru staii de lucru Sun. Un alt productor cunoscut de circuite FPGA este firma LUCENT Technologies (fost AT&T Microelectronics). Circuitele FPGA produse de aceast firm sunt cunoscute sub numele de ORCA (Optimized Reconfigurable Cell Arrays = matrici de celule logice reconfigurabile optimizate). Circuitele din familiile ORCA: OR1C,OR2C, OR2T, OR2CA, OR2TA, OR3CA, OR3TA, au ca i celule de baz mici memorii de tip SRAM i sunt realizate n tehnologie CMOS de la 0,6 pn la 0,35m. Capacitatea circuitelor este cuprins ntre 3.500 i 11.400 de pori logice. Prin intermediul mediului de proiectare numit ORCA Foundry firma Lucent ofer un pachet de programe de implementare a proiectelor care n prealabil au fost sintetizate cu aa numitul pachet de programe SCUBA (Syntesis Compiler for User Programmable Arrays) oferit de o firm ter. Alte firme productoare de circuite FPGA sunt: Gatefield (familiile GFxxxF ProASIC), Motorola (familiile MPA10xx) i QuickLogic (familiile pASICx).

86

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