-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
S. Reda EN2911X FALL’07
Avantaje:•Performante foartebune si eficientaDezavantaje:•Fara
flexibilitate(nu poate fimodificat dupaprocesul de fabricatie)•
cost mare
Hardware(Application Specific Integrated Circuits)
Software-programmedprocessors
Avantaje:•Software-ul estefoarte flexibil la
schimbariDezavantaje:•Performantele suntdependente de clock •Set
fix de instructiuni dat de hardware
Reconfigurablecomputing
Avantaje:•Este la mijloc intresolutii hardware sisoftware
•Performante multmai bune decat in software•Mult mai flexibildecat
o solutiehardware
Metode de executie algoritmi
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Dezvoltarea circuitelor integrate – Tipuri de proiectare
Stil tipic de proiectare ASIC
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Timpii de dezvoltare circuite integrate = timpul de proiectare
design + timpul de fabricare
– Design particularizat (full-custom design)• proces indelungat
de dezvoltare, cost mare (toate fazele suntrealizate in procesul de
dezvoltare al circuitului integrat) • performante foarte bune in
ceea ce priveste puterea consumata, aria ocupata, etc.– Design
“semicustom”• se reduc timpii de dezvoltare si costul• se folosesc
elemente predefinite pentru a reduce timpul de
proiectare(cell-based designs)• Pentru MPGAs (Mask Programmable
Gate Array) se reduce timpulde fabricare prin folosirea elementelor
prefabricate •Circuitele FPGA sunt complet prefabricate, testate si
incapsulate(off-the-shelve devices) “disponibile de-a gata”
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Caracteristicile stilurilor de proiectare
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Ce este un ASIC (Application-Specific IC )
– este opusul unui circuit integrat de uz general- functia unui
ASIC este definita in timpul procesului de fabricare- pentru un
circuit integrat de uz general, functia acestuia estedefinita dupa
procesul de fabricare.
Un circuit FPGA este un circuit integrat de uz general
ASIC-urile sunt proiectate in mod tipic folosind
proiectareabazata pe celule (cell-based) si MPGA (uneori
full-custom)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Caracteristica Sistemelor de Calcul Reconfigurabile
• Paralelism particularizat pentru a corespunde obiectivelor
design-ului
• Logica specializata pentru a indeplini anumite functii
specifice
• Functionalitati care se pot modificain functie de cerintele
problemei
Paralelism, specializare, adaptare la nivel hardware
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Folosirea circuitelor reconfigurabile1. Productie mica/medie de
IC2. Prototipizare si emulare logica3. Accelerare algoritmi de
sortare, programare dinamica, cu aplicatii in
domenii cum ar fi: procesare semnale si imagini, criptografie,
bioinformatica, recunoastere forme etc.i. Unitati functionale
reconfigurabile folosind un procesor
(instructiuni specifice)ii. Unitati reconfigurabile folosite ca
si coprocesoriii. Unitati reconfigurabile accesate prin I/O externe
sau retele
[Compton’02]
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Calculul temporal vs. calculul spatial
Executia temporala(software)
Executia spatiala(reconfigurable computing)
Cheia de a acelera procesele de calcul este abilitatea de a
extrage paralelismul (concurenta) din algoritmi. Acest lucru se
poate realiza folosind sistemele reconfigurabile. Un astfel de
device este si FPGA-ul.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Informatia poate fi stocata in SRAM. 4-6input Look-Up Table
(LUT) este o marime tipica
Exemplu de programare functie intr-un LUT (Look-up Table)
O celulă logică este o tabelă de căutare (LUT) care poate avea
un număr diferit de intrări înfuncţie de tipul circuitului. Astfel,
pentru Virtex 6 de la Xilinx, LUT are 6 intrări, Virtex 4 are 4
intrări. Mai multe LUT formează un CLB (Configurable Logic Block) –
bloc logic configurabil. Aceasta este o denumire care la un alt
producător de circuite este diferită. CLB este denumireafolosită de
firma Xilinx. Altera foloseste penrtu circuitele sale (ex familia
de circuite Stratix) denumirea de module logice adaptive - adaptive
logic modules (ALMs). Este de asemenea posibilsă se folosească
mux-uri pentru a implementa logica.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
4-inputLUT
flip-flop
clock
muxy
qe
abcd
Switchbox
Logica programabila
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
În circuitele FPGA se folosescsi alte unităţi, cum ar fi: RAM,
ALU, multiplicatoare, sumatoare.Unităţile logice sunt
conectatefolosind o interconectarereconfigurabilă.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Configurare FPGA
[Maxfield’04]
Programmable logic element
• FPGA sunt alcatuite dintr-o arie de blocuri logice
programabile(programmable logic blocks) iar functionalitatea este
determinata prinbitii de configurare programabili
• Blocurile logice sunt conectate de un set de resurse de
rutare(routing resources) care sunt de asemenea programabile.
Logica poate fi mapata in resursele reconfigurabile
(reconfigurable
fabric)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Fluxul de proiectare
Fluxul de proiectare SPLD
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Fluxul de proiectare FPGA (similar pentru CPLD)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016 [Maxfield’04]
FPGA-urile pot fi dinamic reprogramate inainte de a rula
logica(runtime) sau in timpul rularii logicii (virtual
hardware)
• full
• partial
Fisierul de configurare
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Implementarea unui design in FPGAs, implica descompunerea
design-ului simaparea in Blocul Logic (LB)
Maparea in LUT dintr-un CLB
RTL
.
.C = A+B
.
Circuit
AB
+ C
Array
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
1) Tehnologia de mapare (mapping)
LUT
Compilarea circuitului
2) Plasare (Placement)
LUT
?Asignarea unui LUT logic unei locatii fizice.
3) Rutarea (Routing)
Selectare segmente de fire sicomutatoare (switch)
pentruinterconexiuni.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Resursele de rutare programabile
• Fire care asigura legarea unui nod computational de iesire cu
intrarea altui nod computational
• De ce sunt importante resursele de interconectare? - Resursele
de rutare ocupa o arie foarte mare.– Intarzierile date de fire
cresc in functie de lungime ->
se recomanda evitarea firelor de legatura lungi atuncicand
acestea nu sunt necesare
– Miniaturizarea tehnologica reduce marimeacircuitului, dar
conduce la cresterea intarzierilor in fire.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Arhitecturi FPGA
Arhitectura unui circuit FPGA este descrisa de– arhitectura
blocurilor logice (logic block) data de structurablocului logic:
porti, multiplexoare, LUT-uri- arhitectura resurselor de rutare –
routing architecture data de
structura si dimensiunile interconexiunilor. - stil “insula”,-
bazat pe linii, - ierarhic
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Fiecare producator de circuite FPGA
– are propriul stil in a defini blocul logic, arhitectura de
rutare si uneltele de dezvoltare (CAD) pentru mapare, plasare si
rutare
– circuitele actuale FPGA au in acest sens
- Structura blocului logic este bazata pe LUT - arhitectura de
rutare este de tip insula sau ierarhica
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Definitii rutare generala
• Un segment de fir este un fir care nu este traversat de un
switch programabil
• O cale (track) – este o secventa de unul sau mai multesegmente
de fir intr-o linie. Segmentele pot fi conectate prinintermediul
comutatoarelor la capete.
• Un canal de rutare (routing channel) este un grup de
caiparalele. Latimea canalului width este data de numarul cailordin
canal.
channel
segment
track
CLB CLB CLB CLB
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
– Fiecare logic element are la iesire un bit de date.– Intre
elemente exista interconexiuni programabile– Caile de
interconectare (tracks) sunt grupate in canale
LE LE
LE LE
LE LE LE LE
LE LE
LE LE
Element Logic Cai de rutare
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Conexiunea blocurilor: se formeaza unde intrarea CLB sau pinii
de iesire se conecteaza la canalele de rutare.
Ar fi simplu daca numai blocurile logice din aceeasi coloana
saurand ar trebui sa comunice. Realitatea este insa alta!
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Switch care conecteaza fire bidirectionale segment-segment
channel
segment
track
CLB CLB CLB CLB
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Switch blocks (blocuri de switch-uri): se formeaza la
intersectia canalelorverticale si orizontale
Switchbox
Marimea “switch box” creste ca o functie patratica a numarului
de fire de intrare.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Detalii switch bidirectional
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Rutarea segmentata si ierarhicasegmented routing hierarchical
routing
•Fire scurte pentru trafic local•Fire scurte care se pot
conectafolosind matricile de switch-urirealizand astfel fire
lungi
•Contin si fire lungi pentru a permite o comunicare
eficientafara a mai trece prin switch-uri
•Rutare intr-un “group” de blocuri logice la un nivel local
•Fire lungi ierarhice care conecteaza diferite grupuri
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Need a mechanism to move results of computation
around.Communication: Interconnect & Routing
Nearest Neighbor:
Segmented:
Hierarchical:
CLB
CLB
CLB
CLB
CLB
CLB
CLB CLB CLB CLB CLB
CLB CLB CLB CLB CLB
CLB CLB CLB CLB CLB
CLB CLB CLB CLB CLB
CLB CLB CLB CLB CLB
CLB CLB CLB CLB CLB
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Un model FPGA -> (o abstractizare a modelului comercial si o
generalizare)
Modelul “Toronto” – utilizat in cercetare in ceea ce
privestearhitectura blocurilor logice si arhitectura resurselor de
rutare
Aria modelului este una simetrica (exista si versiuni pentru
ariiierarhice)
Blocul logic contine un LUT, un registru si un MUX
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Exemplu pentru modelulToronto:
Arhitectura de tip insula a resurselor de rutare; blocuri
logice, blocuri de conectare, blocuri de comutatoare
Parametri: W, Fc, FsW numarul de fire intr-un canalFc numarul de
fire care se conecteaza la un bloc logic. Fs numarul de fire pe
care o matrice de comutatoarele poate conecta
Exemplu: W = 4, Fc = 2, Fs = 3
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Xilinx XC4000 Routing
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Tipuri de Reconfigurare
• Static – aplicatia nu ruleaza in momentul configurarii•
Partial static (=reconfigurare partiala) diferita parti ale
aplicatiei suntexecutate in fragmente temporale pe acelasi suport
configurat
•Dinamic – aplicatia se poate modifica ca raspuns la
schimbarileexterioare (in timpul executiei)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
• Circuitele reconfigurabile pot contine elemente care nu sunt
reconfigurabilesi care sunt interfata cu blocurile logice folosind
interconexiunile programabileExample:
–Memorii incapsulate (Embedded memory)
–Inmultitoare, sumatoare, etc.
–Procesoare incapsulate
•Este constisitor a se implementa memoriifolosind blocuri logice
configurabile → se adauga blocuri RAM
•Pozitia si marimea variaza in functie de device.
•Fiecare bloc poate fi folosit independent saucombinat pentru a
forma memorii RAM maimari
•Pot fi single sau dual-port RAMs
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Multiplicatoare si sumatoare incapsulate
•Multiplicatoarele sunt inerent maiincete daca sunt implementate
princonectarea unui numar mare de blocuri logice programabile ->
solutia este de a adauga blocuri de multiplicatoare in hard
•Tipic, acestea sunt localizate in apropierea blocurilor de
memorieRAM incapsulata
•Unele FPGA folosesc blocuriMultiply-And-Accumulate (MAC)
(utilizate in aplicatiile DSP)
MAC = multiply-accumulate = realizeaza produsul a doua numere si
adauga produsul la un acumulator.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Programarea FPGA
Configurareamemoriei care determinaprogramabilitateablocului
logic si a interconexiunilor
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Tehnologia de programare a comutatoarelor
Anti-fuse
Flash
SRAM
Switch-ul implicit esteOFF; cand esteprogramat este
ON.Avantaje:•Intarzieri neglijabile•Arie mica Dezavantaje:•Nu sunt
chiarreconfigurabile, suntprogramabile o singura data
Switch implicit esteON; cand esteprogramat este
OFF.Avantaje:•Programarea nu se pierde cand circuitulnu mai este
alimentatDezavantaje:•Necesita mai multi pasi in procesul de
fabricatie
Celulele SRAM stocheazaprogramabilitateadevice-uluiAvantaje:•Pot
fi reconfiguraterapid, si de cate orieste necesar•Nu necesita pasi
de fabricatie suplimentariDezavantaje:•Ocupa arie mai mare•Se
pierdeprogramarea daca nu mai sunt alimentate
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Switch in tehnologie Antifuse
Metal 3
Metal-to-Metal Antifuse
Metal 2
Via
Metal 1
Contact
Silicon
– Anti-fuzibilii - sunt “one-time programmable”(OTP)
programabili o singura data.
• Pulsul de tensiune elimina dielectricul• Necesita programarea
o singura data.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Anti-Fuse FPGA
– Resurse de rutare mici (rapid)– Securizare– Toleranta buna la
erorile de fabricatie– Rezistenta aproximativ 100
antifuse polysilicon ONO dielectric
n+ antifuse diffusion
2
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Interconnection Fabric
Logic Module
Horizontal Track
Vertical Track
Anti-fuse
Interconexiune tipica Anti-fuse pentru circuitele de la firma
Actel
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Securitatea design-ului in tehnologia “Anti-fuse”
• Tehnologia este foarte buna pentru securizarea design-ului–
Fisierul de configurare (bitstream) nu poate fi interceptat (nu
necesita un transfer de bitstream, fara configurare externa)–
Necesita un microscop “Scanning Electron Microscope” (SEM)
pentru a putea determina starea antifuzibilului (exemplu:
ActelAX2OOO antifuse FPGA - contine 53 milioane de anti-fuzibili
din care numai 2-5% sunt programati intr-un design de marime
medie
©ACTEL
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Flash / EEPROM Devices
Coolrunner II - CPLDCourtesy: Xilinx
•Tehnologia deriva din tehnologia PLD•Traditional bazata pe
arhitectura AND/OR•Utilizata tipic pentru glue logic, masini de
stare etc
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Tendinte Flash/EEPROM
•Elemente logice (LUTs si flip flops)•Rutare segmentata
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
SRAM-FPGA
Read or Write
Data
Q
Q
Programming Bit I1 I2
P1P2P3P4
Out
2-Input LUT
•Se pot programa de multe ori•Fiecarui bit de programare i se
asociaza aproximativ 5 tranzistori•Arie mare de dispozitive alocate
pentru programare -> reduce viteza comparativ cu EPROM si
antifuse.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
– Unele clustere logice sunt mari(ex. Altera contine 8
perechiLUT-FF)
– 3 puncte importantes:• Elementele logice per cluster •
Conectivitatea cluster-ului
catre firele de interconectare– flexibiliitatea de
conectare(Fc)
• Flexibilitatea matricii de interconectare (Fs) – switch
box
LogicCluster
IO connectionsswitchbox
Probleme si implicatii in proiectarea de circuite
LogicElement
•Cata functionalitate trebuie saofere un element logic?•Cate cai
de rutare trebuie saexiste intr-un canal? •Capabilitatile
switch-urilor?
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Cluster-ul logic
Intrebare: cate blocuri logiceelementare (BLE) trebuie sa fie
intr-un cluster?
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Marimea cluster-ului logic (Cluster Size)
•Interesant, clusterele logice mai mici sunt mai eficiente (Betz
–CICC’99)•Include si aria necesara pentru rutare•Clusterele mici
(ex. Un singur BLE per cluster) nu sunt“prietenoase” pentru
programele de tip CAD (Computer Aided Design) •Cele mai multe
circuite comerciale au 4-8 BLE per cluster
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Numarul de intrari per Cluster
•Prin reducerea numarului de intrari, se reduce
dimensiuneacircuitului si acesta devine si mai rapid•Cele mai multe
FPGA (Xilinx, Lucent) au 4 BLE per cluster cu mai multe intrari
decat ar avea nevoie in realitate
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
LogicCluster
IO pin
Tracks
OutT0 T1 T2
T0T1T2Out
FC = 3T0 T1 T2
– Fc -> la cate cai de rutare se poate conecta un pin?– Daca
clusterul logic e mic FC este mare FC = W– Daca clusterul logic
este mare, Fc poate fi mic.
•Conectivitatea cluster-ului catre firele de interconectare–
flexibiliitatea de conectare (factorul Fc)
•Flexibilitatea matricii de interconectare (Fs) – switch box
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Flexibilitatea Switchbox – data de factorul Fs
0
1
0
1
0 1
0 1
– Switch box – furnizeaza arii de interconectare optimizate–
Flexibilitatea nu este atat de importanta ca factorul FC– Ex: 6
tranzistoare sunt necesare pentru FS= 3
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Exemple de circuite
•Xilinx - familia XC4000EX-FS = 3-FC = 0.2-I = 8-Num BLE – about
2.5
•Altera – familia Flex10K-FS = 3-FC = 0.25-I = 22-Num BLE –
about 28
° Altera nu foloseste segmentarea, toate liniile traverseaza
partimari din circuite.
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Switchbox 0 21
2
01
2
01
0 21
– Rotirea conexiunilor in interiorul switchbox cu mentinerea
factorului FS= 3
– Tot 6 tranzistoare necesarepentru matricea de comutare
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Alta problema: plasarea bufferelor
– FPGA mecesita buffere pentru a izola retelele RC – Arhitectii
trebuie sa decida unde vor plasa aceste bufere.
S S
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Caile de interconectare bazate pe switch si fire pot fi modelate
ca si retele RC
S S
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Implementarea memorie in FPGA
Addr
A D
A D
16X1
16X1LUT1
LUT2
– Pentru 4-input LUTs - 16 bits de informatie disponibili– Pot
fi conectate (chain) prin retelele programabile
– Un aspect cheie il reprezinta flexibilitatea
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Xilinx XC4000 Series Devices
– Ideal pentru stocare de date de dimensiuni mici– Nu se pierde
spatiu
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Xilinx XC4000 Dual Port Mem
– Accesare date in mod concurent.– Acces de tip granulatie fina
(Fine-grained access)– Acces sincron
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Memorii de tip granulatie mare (coarse-grained)
5V
Word line
BITLine
BITLine
– Blocuri mari SRAM speciale care se aflain ariile FPGA
– Conduc la implementari eficiente de memorie cu performante
predictibile
– Celule SRAM cu 6 tranzistoare
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Xilinx Virtex Block Memory
4096 bit SRAMs
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
- Examplu: Altera Flex10K- Fiecare EAB (Embedded Array Block)
are un spatiu de stoare de 2K bits- EAB Este plasat in centrul
circuitului– LE si EAB sunt conectate in jurul canalului de
interconectare
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
EAB - Altera
– Arie integrataoptimizata
– Datele si adreselesunt folosite cu performantefoarte bune
– Scalabile pentrudimensiuni maimari
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
•Rata de crestere a memoriei•Aproximativ 2400 tranzistoare per
CLB
-(1200 per LUT) pentru implementare XC4000 (32x1 SRAM)•6
tranzistoare per celula pentru Altera SRAM (2K per EAB)
307200128245762512x87680032122881128x819200812288132x82400112288132x1transCLBstransEABsSize
Xilinx 4000EAltera 10K
Pentru 512x8 fine-grained – de 10X mai mare dimensiunea
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
•Blocuri bi-dimensionale de Logic Array Blocks (LABs), cu 16
Logic Elements (LEs) in fiecare LAB.
•Blocuri de memorie integrate (Embedded memory blocks) (M4K)
simultiplicatoare (18x18)
•PLL (Phased Locked Loops) – utilizate pentru a genera semnale
de clock intr-ogama de frecvente
•Ex: Circuitul EP2C35 din familia Cyclone: 60 coloane, 45
randuri si 33216 LEs. 105 M4K blocks si 35 multiplicatoare
integrate.
Exemplu- studiu de caz: Altera Cyclone II
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
LE are 2 moduri de operare: normal si aritmeticModul normal –
implementari pentru logica generala• 4-input LUT• 6 input
connections• 3 output connections
Organizarea elementului logic (modul normal)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Modul aritmetic este potrivit pentru implementare: sumatoare,
numaratoare, acumulatoare, comparatoare
• LUT-ul este impartit in doua 3-input LUTs (ideal pentru
implementareaunui sumator de 2-bit)
Organizarea elementului logic (Logic element) in modul
aritmetic
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
• Fiecare LAB: 16 LEs, LAB semnale de control, LE carry chains,
register chains si interconexiuni locale.
• Interconexiunile locale transfera semnale intre elementele
logice (LE) in acelasiLAB
• LABs, PLLs, M4K RAM si inmultitoarele din vecinatate de la
stanga si dreaptapot de asemenea folosi o conexiune locala pentru
LAB
Organizareablocului logic (Logic array block)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Register/carry chain – conectare cu un LAB
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
•Multitrack – constau in randuri (directlink, R4, R24) si
coloane (register chain, C4, C16)•Interconexiunile R4/C4
traverseaza 4 blocuri (stanga, dreapta / sus, jos)
Interconexiuni Multi-track
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
• 4608 RAM bits •250 MHz• port single sau dual• configurabil ca
si FIFO
• ideal pentru aplicatii DSP• 250 Mhz• configurabil ca si 1
inmultitorpe 18 bit, sau ca 2 inmultitoareindependente de 9 biti
fiecare
Embedded RAMs si multiplicatoare
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
• Element IO, structura (IOE) (permitesemnale
bidirectionale)
• 5 IOE per rand I/O block
Elementul IO (Input/Output) si structrura (IOE)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
ANEXE:
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Informatii privind preturile circuitelor reconfigurabile (FPGA)
–DIGI-KEY CORPORATION: http://www.digikey.com/2 exemple:-Spartan
IIE (300 porti) aprox. 25$
- Virtex 4 aprox. 2000$ (contine o serie de unitati functionale
performante- DSP, microcontroller, interfete Ethernet etc..)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Aria cea mai recenta de cercetare in domeniul
calcululuireconfigurabil
• Dezvoltarea de arhitecturi de consum eficient si tehnici de
CAD pentru FPGA • Aplicatii noi pentru circuitele reconfigurabile
(in special aplicatiiintegrate si securizare)•O mai buna intelegere
a rolului microprocesoarelor standard si a hardware-ului
reconfigurabil.
-Tipuri multiple de paralelism•Arhitecturi reconfigurabile de
granulatie mare (Coarse-grained)
-
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de
Calcul, Univ. Politehnica din Bucuresti, 2016
Resurse bibliografice:[1] Prof. Sherief Reda Division of
Engineering, Brown University Spring - Reconfigurable Computing[2]
Prof. Russell Tessier - Reconfigurable Computing [3] Dr. Gilles
SASSATELLI- Lecture on Reconfigurable Technologies[4] Marco
Platzner Computer Engineering GroupReconfigurable Computing