metodede executiealgoritmi hardware -...

86
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016 S. Reda EN2911X FALL’07 Avantaje: •Performante foarte bune si eficienta Dezavantaje: •Fara flexibilitate (nu poate fi modificat dupa procesul de fabricatie) • cost mare Hardware (Application Specific Integrated Circuits) Software-programmed processors Avantaje: •Software-ul este foarte flexibil la schimbari Dezavantaje: •Performantele sunt dependente de clock •Set fix de instructiuni dat de hardware Reconfigurable computing Avantaje: •Este la mijloc intre solutii hardware si software •Performante mult mai bune decat in software •Mult mai flexibil decat o solutie hardware Metode de executie algoritmi

Upload: others

Post on 23-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

  • 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