Documente Academic
Documente Profesional
Documente Cultură
PROIECT LA DISCIPLINA
SISTEME INCORPORATE
ANUL II
Anul universitar: 2014 - 2015
SISTEME RECONFIGURABILE
CUPRINS
INTRODUCERE
ANEXE
11
INTRODUCERE
Tensiune mare aplicata pe linia si coloana pe care se vrea marcarea unui 0 logic
Curentul mare aplicat legaturii linie-coloana determina arderea legaturii
Alte memorii pot fi arse si reprogramate (EPROM, EEPROM).
Logica in RAM/ROM
Orice memorie RAM poate implementa functii logice reconfigurabile
Stocheaza tabela de adevar a functiei logice in memorie
Exemplu: folosesc RAM de 4 biti pentru a simula o poarta SI cu doua intrari
stocand 0 la adresele 00, 01 si 10 si 1 la adresa 11
cu 2m cuvinte de 1 bit se poate implementa orice functie de m intrari
O memorie cu 2m cuvinte de w biti latime poate implementa w functii logice
diferite cu m intrari
Memoriile ROM sau EEPROM pot implementa aceleasi functii logice dar cu anumite
avantaje:
Memoria este nevolatila
Datele sunt stocate la programare si pot fi reconfigurate printr-un update de
firmware
5
Circuitele FPGA
Circuitele FPGA (Field-Programmable Gate Array) sunt circuite integrate
programabile de catre utilizator care permit un acces rapid la circuite VLSI configurabile. Un
circuit FPGA consta dintr-o retea de celule logice care pot fi interconectate prin comutatoare
de rutare programabile. Circuitele FPGA combina facilitatile retelelor de porti programabile
prin mati MPGA (Mask Programmable Gate Array) i a dispozitivelor logice programabile
PLD (Programmable Logic Device). De la circuitele MPGA s-a adoptat structura retelei
bidimensionale de celule logice, iar de la circuitele PLD s-a preluat programabilitatea de catre
utilizator. Implementarile din cadrul tezei de fata au fost realizate pentru circuite FPGA.
Utilizarea circuitelor FPGA s-a raspndit pe scara larga, ceea ce se datoreaza duratei reduse
de productie i costului relativ redus al acestor dispozitive programabile. Reprezentnd un
mediu de implementare pentru circuite VLSI configurabile, circuitele FPGA ofera
urmatoarele avantaje fata de tehnologiile alternative (MPGA, celule standard, macro-celule):
- Circuitele FPGA permit o reducere semnificativa a ciclului de proiectare si
productie.
- Circuitele FPGA asigura o reducere a costului de productie al circuitelor VLSI.
Aceste avantaje, care se datoreaza programabilitatii de catre utilizator a circuitelor, asigura o
reducere a duratei de proiectare, deoarece se pot realiza ntr-un timp scurt iteratii multiple de
proiectare. Totui, programabilitatea de catre utilizator are si dezavantaje: densitatea logicii si
performantele de viteza ale circuitelor FPGA sunt considerabil mai reduse dect ale celorlalte
alternative. Dei mbunatatirile din ultimii ani au permis creterea performantelor circuitelor,
sunt necesare nca eforturi de cercetare pentru a dezvolta arhitecturi optime pentru circuitele
FPGA. Cercetarile din ultimii ani legate de circuitele FPGA au ncercat sa evalueze modul n
care arhitectura acestor circuite afecteaza cele doua metrici importante: suprafata totala a
circuitului i performantele de viteza. Pentru experimentele efectuate asupra diferitelor
arhitecturi propuse, cercetatorii au dezvoltat i utilitare de proiectare asistata de calculator n
scopul implementarii sistemelor numerice cu ajutorul circuitelor propuse. Pentru diferiti
parametri ai arhitecturilor (complexitatea blocurilor logice, flexibilitatea interconexiunilor
etc.), au fost evaluate performantele acestor arhitecturi, ajustndu-se n mod iterativ
arhitectura circuitelor, ct i utilitarele CAD. Sunt descrise n continuare unele aspecte de
unei sectiuni pot fi conectate utiliznd un singur segment de interconectare. Conexiunile mai
lungi utilizeaza un nivel superior de interconexiuni pentru legatura ntre sectiuni. Un circuit
FPGA cu o asemenea structura este numit ierarhic. Circuitele FPGA ierarhice permit o
reducere considerabila a spatiului ocupat i o cretere a performantelor de viteza. Unele
circuite FPGA dispun de resurse limitate de rutare. De asemenea, flexibilitatea de
interconectare este n unele cazuri mai redusa, segmentele de interconectare avnd o lungime
mai mare. n cadrul tezei se propune o metodologie de proiectare pentru circuitele FPGA cu
caracteristicile amintite.
a acestei probleme, procesul de proiectare este mpartit n mod obinuit n urmatoarele etape
generale.
1) Partitionarea. Sistemul proiectat, care de multe ori nu poate fi implementat ntr-un singur
circuit FPGA, trebuie divizat n mai multe parti, astfel nct fiecare parte sa poata fi
implementata ntr-un singur circuit FPGA, i sa poata fi gestionata independent de celelalte.
Partitionarea circuitelor FPGA multiple trebuie sa satisfaca restrictii suplimentare asupra
dimensiunii subcircuitelor i a numarului terminalelor de I/E.
Pentru a tine cont de restrictiile suplimentare, au fost publicati un numar de algoritmi de
partitionare pentru circuitele FPGA.Partitionarea reprezinta n acelai timp o metoda
algoritmica pentru rezolvarea problemelor complexe de optimizare care apar n sinteza logica
sau n proiectarea fizica a circuitelor VLSI. n cadrul tezei, partitionarea a fost studiata din
acest punct de vedere, n scopul aplicarii acesteia pentru rezolvarea problemei de plasare. S-a
studiat mai ales modul n care partitionarea pe baza taieturii minime poate fi aplicata pentru
circuitele FPGA, avndu-se n vedere i alte metode de partitionare, cum este partitionarea
prin metoda calirii simulate i partitionarea prin utilizarea algoritmilor genetici.
2) Maparea tehnologica. Pentru fiecare portiune a sistemului care va fi implementata ntr-un
singur circuit FPGA, logica trebuie divizata suplimentar n fragmente, astfel nct fiecare
fragment sa aiba o dimensiune suficient de mica pentru a putea fi implementata ntr-un singur
bloc logic al circuitului. Aceasta divizare se realizeaza n cadrul etapei de mapare
tehnologica. Maparea tehnologica este operatia de transformare a unei reprezentari logice
cu nivele multiple ntr-o interconexiune de elemente logice dintr-o biblioteca data de
elemente. Aceasta operatie este o etapa importanta a sintezei sistemelor numerice cu ajutorul
circuitelor FPGA. Calitatea circuitelor sintetizate depinde n mare masura de aceasta etapa.
Maparea tehnologica implica doua operatii distincte: recunoaterea echivalentei logice ntre
doua functii logice, i determinarea setului optim de porti echivalente din punct de vedere
logic, ale caror interconexiuni reprezinta circuitul original. Prima operatie, numita potrivire,
implica testarea echivalentei i asignarea intrarilor. Att testarea echivalentei, ct i asignarea
intrarilor sunt operatii complexe din punct de vedere computational. A doua operatie, numita
acoperire, implica gasirea unei reprezentari alternative a unei retele booleene utiliznd
elemente logice care au fost selectate dintr-un set disponibil.
3) Plasarea. n cadrul plasarii, fiecarui fragment care va fi implementat ntr-un bloc logic
trebuie sa i se asigneze un bloc liber din cadrul circuitului. Plasarea este o etapa importanta a
procesului de proiectare, deoarece n aceasta etapa se iau cele mai importante decizii. Pentru
plasare trebuie minimizate anumite functii obiectiv, cu conditia respectarii unor restrictii
10
ANEXE
Arhitectura CLB pentru Xilinx Spartan II
CLB-ul consta din 2 parti identice (slides) fiecare parte continand un LUT, logica
pentru propagarea transportului si elementelor de memorie.
O parte include 2 celule logice bazate pe LUT de 4 biti, intrari F1-F4, G1-G4. Fiecare
LUT poate fi folosit si ca registru de deplasare pe 16 biti sau memorie ROM sincrona pe 16
11
biti. O adunare se face acceptand transportul carry in care va transporta primul etaj de carry
control logic, apoi pe al doilea fiind generat astfel semnalul carry out.
Logica contine si o poarta XOR. Pentru constructia unui sumator poarta XOR este
folosita pentru generarea sumei, iar LUT pentru calcularea trasportului.
Fiecare parte include un multiplexor, pentru combinarea rezultatelor celor 2 generatoare de
functii. Un alt multiplexor combina iesirile celor 2 multiplexoare, rezultand astfel iesirea unui
bloc CLB. Fiecare bistabil poate fi configurat ca si latch sau bistabil de tip D (sincron)
existand intrari pentru clock, clock enable.
Actel Accelerator
Familia de circuite accelerator are 3 tipuri de intercoxiuni locale:
- fast connect
- direct connect
- carry connect
12
Fast connect ofera interconectarea in plan orizontal a doua module logice dintr-un super
cluster sau catre super clusterul imediat anterior.
Carry connect ofera conexiuni pentru propagarea transportului intre super clustere.
Direct connect ofera interconectivitate doar in interiorul superclusterului si leaga o celula de
tip C de una de tip R din vecinatate.
Conexiunea direct connect nu contine dispozitive antifuse de aceea intarzierile pe
acest tip de conexiune sunt cele mai mici.
Interconectarea globala este oferita cu ajutorul unor canale segmentate. Exista trasee
atat orizontale cat si verticale, care strabat intregul circuit, majoritatea sunt insa segmentate,
segmentele avand lungimi diferite. Circuitul ofera 3 tipuri de semnale globale.
- HTLC (hard-wired clock) permite alimentarea cu un Clock comun a celulelor de tip
R din intregul circuit. Un numar de 4 semnale de clock pot fi routate pentru Clock, CLEAR,
PRESET sau ENABLE de la orice celula R sau catre orice intrare dintr-o celula C.
- GCLR (Global CLEAR) si GPRE (Global PRESET) sunt disponibile pentru toate
celulele de tip R si pot fi utilizate (preluate) de la orice pin de intrare/iesire.
BIBLIOGRAFIE
13
2. A.L. Abbott, P. Athanas, L. Chen, and R. Elliott, Finding Lines and Building
Pyramids with Splash 2, in Proceedings, IEEE Workshop on FPGAs for Custom
Computing Machines , Napa, CA, April 1994, pp. 155161
3. Chu P.P., FPGA prototyping by Verilog examples, John Wiley and
Sons, 2008.
4. Trimberger S., Redefining the FPGA for the next generation, International
Conference on Field Programmable Logic and Applications, FPL 2007, Amsterdam,
Olanda, august 2007.
14