Documente Academic
Documente Profesional
Documente Cultură
)
a.) Ce este un FPGA
Un FPGA (Field Programmable Gate Array) este un circuit integrat digital configurabil, de către utilizator, după
ce a fost fabricat (spre deosebire de dispozivele a căror funcție este implementată in procesul de fabricație).
Configurarea FPGA se face, in general, cu ajutorul unui limbaj de descriere hardware HDL, similar cu cel folosit
pentru dispozivele ASIC, dezvoltându-se recent și compilatoare care traduc intructiuni din limbajul C în limbaje HDL.
Un astfel de compilator este Impulse C.
FPGA-urile sunt alcătuite din blocuri logice configurabile (programabile) legate între ele de o serie de conexiuni
configurabile la rândul lor.
FPGA logică programabilă multi-nivel, fără limitări, cu elemente logice şi interconexiuni programabile
26 septembrie 1989 – Ross Freeman patentează conceptul de FPGA bazat pe SRAM
Componente PFGA
Logic Element sau CLB-Configurable Logic Block:
implementează funcţii logice de amploare variabilă
pot fi de ordinul a câtorva porţi logice (fine-grained)
Sau pot fi de ordinul unor blocuri de însumare sau chiar mai complexe (coarse-grained)
Interconexiunile:
Permit conectarea programabilă a elementelor logice
organizate de obicei în canale (chanels) sau alte unităţi
în mod tipic se oferă mai multe tipuri de interconexiuni în funcţie de distanţa dintre blocurile logice care
participă la conexiune
IOB – IOBlock:
Sunt pinii de intrare-ieşire ai circuitului
în general programabili să fie intrări, ieşiri sau bidirectionli
Oferă facilitati suplimentare cum ar fi “Low power” sau “High speed connections
3. Element Logic?
Fiecare element logic LE are o singură ieşire binară
Conexiunile dintre LE sunt programabile (tracks)
Interconexiunile (tracks) sunt grupate în canale (channels)
3.Linii lungi?
Liniile lungi se obţin prin interconectarea mai multor segmente
Fiecare MUX adaugă la întârzierea semnalului
Liniile lungi sunt sensibile la perturbaţii externe
Se utilizează răsucirea liniilor (wire twisting)!
Liniile direcţionale implică jumătate dintre interconexiunile necesare pentru linii bidirecţionale!
Liniile bidirecţionale implică resurse considerabile pentru rutare (switch box)!
Liniile direcţionale implică doar jumătate din switch box-urile necesare rutării liniilor bidirecţionale
Bottom-up:
rafinează soluţiile la fiecare pas
corelează specificaţiile iniţiale cu costurile
9. Arhitecturi reconfigurabile
a) masina Fix-Plus (1959)
b) masina lui Ramming (1977, Univ. Of Dortmund)
c) masina Xputer (inceputul anilor 80)
d) masina PAM (1989)
e) masina SPLASH (1990)
Altele: PRISM, GARP, DISC, DPGA
10.
Reconfigurable computer (calcul reconfigurabil) - is a device which computes by using post fabrication spatial
connections of computer elements.
Tipuri de paralelism
MIMD – Multiple Instruction Multiple Data (la nivel de aplicaţie)
SIMD – Single Instruction Multiple Data (la nivel de buclă de aplicaţie)
ILP – Instruction-Level Parallelism (la nivel de instrucţie)
Pipeline (la nivel de buclă)
La nivel de bit
Procesoarele de uz general folosesc doar un singur nivel de paralelism! Sistemele reconfigurabile pot folosi mai
multe nivele de paralelism!
Un procesor superscalar trebuie să estimeze graful de date la execuţie, un sistem reconfigurabil estimează graful
de date la compilare
Fără limitări legate de unităţile funcţionale
Fără supraîncărcare datorată logicii de control
Fără limitări de dimensiune de pagină
Locul intre sistemele de calcul:
ASIC (custom chip) oferă înaltă performanţă cu costul inflexibilităţii
Procesorul este foarte flexibil dar nu adaptat la particularităţile aplicaţiei
Hardware-ul reconfigurabil (FPGA – standard chip) reprezintă un compromis reuşit
Domenii de utilizare:
Prototipare rapidă
Fără timpi morţi între finalizarea design-ului şi obtinerea circuitului final (funcţional)
Design-ul poate fi programat în FPGA şi testat imediat
Trecerea de la prototip la produsul final comercial este mult mai uşoară şi mult mai usor de negociat
Acelaşi FPGA poate fi utilizat pentru realizarea mai multor design-uri fiind astfel mult reduse costurile materiale
In-System Customization
Timpul de punere pe piaţă înseamnă un produs funcţional dar cu minimă funcţionalitate
Aceasta reclamă posibilitatea de upgrade, care nu poate fi aplicată la ASIC-uri
In-System Customization înseamnă upgrade post-vânzare
Computaţie multi-mod
Utilizăm o paletă de dispozitive electronice care trebuie interconectate
Parametrii de interconectare sunt diferiţi pentru utilizatori diferiţi ai aceluiaşi dispozitiv
O platformă reconfigurabilă poate asigura interfaţa potrivită precum şi posibilităţi de extindere
Computaţie adaptivă
Ubiquitous and Pervasive Computing – Computer Anytime Anywhere
Parametri impredictibili şi variabili fac imposibilă o strategie de tip compile-time
O platformă reconfigurabilă satisface cerinţele adaptabilităţii run-time