implementarea logiciidigitaleatm.neuro.pub.ro/radu_d/html/09_10/src2009/1/draft_curs2.pdf · ioana...

87
Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016 •Circuite discrete ~1940-50 Porti logice discrete ~1950-60 Circuite integrate (IC) 1. ex. TTL O clasa de circuite digitale dezvoltata cu ajutorul tranzistoarelor cu jonctiune bipolara si rezistoare (Transistor–transistor logic) – atat functiile date de portile logice (ex, AND) cat si functiile de amplificare sunt realizate de catre tranzistoare exemplu: seria 74LSxx, ~1960-... 2. SPLD (simple programmable logic devices) ~1970-... circuite cu 2 nivele de logica (SPLD) 3. MPGA (mask-programmable gate arrays) ~1970-... folosite pentru realizarea circuitelor integrate pentru aplicatii specifice (application-specific integrated circuits – ASIC) 4. large programmable logic devices ~1980-... - mai multe SPLD intr-un singur circuit (CPLD) - arii de porti logice programabile + interconexiuni =(FPGA) 5. noi clase de circuite integrate Implementarea logicii digitale

Upload: others

Post on 16-Jan-2020

30 views

Category:

Documents


0 download

TRANSCRIPT

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

•Circuite discrete ~1940-50• Porti logice discrete ~1950-60• Circuite integrate (IC)

1. ex. TTL O clasa de circuite digitale dezvoltata cu ajutorultranzistoarelor cu jonctiune bipolara si rezistoare(Transistor–transistor logic) – atat functiile date de portile logice

(ex, AND) cat si functiile de amplificare sunt realizate de catretranzistoare exemplu: seria 74LSxx, ~1960-...

2. SPLD (simple programmable logic devices) ~1970-...circuite cu 2 nivele de logica (SPLD)

3. MPGA (mask-programmable gate arrays) ~1970-...folosite pentru realizarea circuitelor integrate pentru aplicatiispecifice (application-specific integrated circuits – ASIC)

4. large programmable logic devices ~1980-...- mai multe SPLD intr-un singur circuit (CPLD)- arii de porti logice programabile + interconexiuni =(FPGA)

5. noi clase de circuite integrate

Implementarealogicii digitale

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

CIRCUITE INTEGRATECircuite integrate pe scara mică şi medie (Small scale and medium scale integration)

-până la 200 de porţi per circuit-cele mai folosite: circuitele 74xx + porţi, flip flop, latch-uri, decodoare, numărătoare, registri etc.Circuite integrate pe scara mare (Large scale integration)- de la 200 la 200 000 număr de porţi per circuit- memorii de capacitate mică, circuite programabile

Circuite integrate pe scară foarte mare (Very large scale integration)- peste 200 000 porţi per circuit

- numărul portilor este înlocuit adesea de numărul tranzistoarelor, deoarece aceste circuite au memorii integrate, etc.

Proiectarea sistemelor folosind circuitele integrate pe scară mică sau medie are ca avantaj înţelegerea uşoară a functionalităţii circuitului dar ca dezavantaj major ar fi faptul ca nu se pot folosi pentru proiecte elaborate fără a creşte mărimea plăcii obtinute, a puterii consumate şi a costului.

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Notiuni Circuite DigitaleUn site foarte bun pentru reluarea notiunilor de circuite:

http://www.play-hookey.com/digital/

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Un circuit combinational are in general m intrari si n iesiri. Iesirile in acestcaz sunt definite in mod unic pentru fiecare combinatie de intrari

y1=f1(x1,x2,...,xn)

y2=f2(x1,x2,...,xn)

.........................

ym=fm(x1,x2,...,xn)

unde f1, f2,...,fm sunt funcţii booleene cu argumentele x1,x2,...,xn

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Mask-Programmable Gate Array (MPGA)Logicacombinationalasi secventiala

Canalede rutare

Blocuri I/O

- Dispozitive prefabricate alcatuite din ariide tranzistoare, porti logice /elementesecventiale– canale de rutare– Blocuri I/O

Proiectarea (la fabricant) implica folosireaelementelor de bibliotecasi a uneltelor de dezvoltare care realizeaza maparea sirutarea corespunzatoarefunctiei implementate

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Metode de implementare a logicii:Full Custom Logic – logică particularizată în întregime. În acest caz fiecare funcţie logică este manual proiectată şi optimizată. Se pot obţine circuite compacte, viteze mari de lucru, consum de putere mic. Este o tehnică care se foloseşte rar, deoarece duce la costuri mari de proiectare şi productivitate mică.

•Proiectare folosind celule standard (Standard Cell Design)– foloseşte blocuri logice predefinite (ca la circuitele de tip 74xx) care sunt puse la dispoziţia utilizatorului într-o bibliotecă de celule. Design-ul se poae reliza în schematic sau prin folosirea limbajelor de descriere hardware HDL (Hardware Description Language). Plasarea si rutarea celulelor se face automat. Se reduce astfel timpul de proiectare precum şi costul acesteia.

•Proiectarea care foloseste arii de porţi (Gate Array Design). Proiectarea Full Custom si Standard Cell presupune realizarea măştilor particulare pentru producerea circuitelor, ceea ce este o metodă scumpă. Pentru circuitele care folosesc arii de porţi, măştile sunt identice ceea ce conduce la un preţ mai mic.

•Proiectarea care foloseşte circuite programabile

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Programabilitatea dispozitivelor logice

• MPLD mask-programmable PLDsprogramate de fabricant (ca la MPGA)

FPLD field-programmable PLD- complet prefabricate, testate si incapsulate- programate de catre utilizator- reduc timpul de realizare a aplicatiilor- exista variante reprogramabile

Tipuri de PLD

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

SPLD - Simple Programmable Logic Devices

Modelul la nivel de switch

Structura de baza a interconexiunilor programabile estemodelata la nivel logic de un comutator controlat de un semnal c

c=0 comutator deschis; c=1 comutator inchis

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Porti programabile AND cu n intrari– se combina interconexiunile programabile cu functia logica

Porti programabile OR cu n intrari– se combina interconexiunile programabile cu functia logica

Portile programabile n-AND si n-ORse pot combina in arii de logicaimplementata pe doua nivele

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Plane AND urmate de plane OR → suma de produse sum-of-products (SOP)Plane OR urmate de plane AND → produs de sume product-of-sums (POS)

Exemplu:Aria programabila:- 3 intrari (x1, x2, x3)-2 iesiri (z1, z2)

-Planul portilor AND-6 intrari

Planul portilor OR- 2 iesiri, fiecare cu cel mult6 termeni

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

ROM (Read-only Memory)

O memorie ROM poate fi vazuta ca o arie programabila AND-OR cu:• n intrari, 2n termeni produs non-programabili (mintermeni)• m iesiri, fiecare cu toti 2n termeni produs

- Memorie cu n linii de adresa si m iesirimemorie de (2n x m) bit

Exemplu:

n=3 linii de adresa

m=2 iesiri

Se implementeaza tabela de adevara functiei logice, stilul de calcul se va denumit look-up table

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

•Proiectarea care foloseşte circuite programabile

ROM – este un circuit logic de tip SOP (sum-of-products) cu o arie fixă de porţiAND şi o arie programabilă de porţi OR. Se pot implementa M funcţii (outputs) pentru N intrări (inputs). Programarea ROM-ului constă în specificarea tabeleide adevăr a funcţiilor.

PLA - Programmable Logic Array - este un circuit logic de tip SOP (sum-of-products) cu o arie programabilă de porţi AND şi o arie programabilă de porţiOR. Se pot implementa funcţii folosind mintermenii disponibili care se pot utilizade către mai multe funcţii.

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Plane programabile AND si plane programabile OR-Mai compacte si mai flexibile decat ROM:

-Portile AND pot calcula orice produs (nu numai mintermeni)-Planele AND nu calculeaza toti termenii 2n

Sunt primele circuite pentru implementarea logicii programabile– sunt realizate de catre Philips in anii 1970

– PLA-urile nu au fost considerate un succes comercial- procesul de fabricare era costisitor- circuitele aveau viteze mici

PLA (Programmable Logic Array)

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

PAL - Programmable Array Logic - este un circuit logic de tip SOP (sum-of-products) cu o arie programabilă de porţi AND şi o arie fixă de porţi OR. Se pot implementa funcţii folosind mintermenii disponibili pentru fiecarefuncţie de ieşire. (PAL este marcă înregistrata Advanced Micro Devices )

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

•Comparativ cu circuitele PLA, circuitele de tip PAL- suntconsiderate mai compacte si mai rapide•Au existat in numeroase versiuni cu numar diferit de intrari si iesiri•Iesirile pot fi folosite pentru a implementa circuite secventiale•Comercial sunt considerate un succes – exista si un standard industrial PALs 16R8 by AMD

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

SPLD (simple PLDs)– sunt arii programabile AND-OR

- ROM: plane fixe AND plane programabile OR - PLA: plane programabile AND, plane programabile OR -- PAL: plane programabile AND, plane fixe OR

– SPLD sunt folosite pentru a implementa design-uri pana la ~200 porti– pentru a implementa functii mai complexe, cu numar mai mare de intrari solutia SPLD nu este indicata:

- planele AND devin prea mari- planele multi-level suntconsiderate mai eficiente

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

Pentru circuitele PLD de capicitate mare sunt 2 abordari:

– CPLD: SPLD multiple plus interconexiuniprogramabile– FPGA: arii de porti logice programabile + interconexiuni programabile

- combina conceptele de "field-programmable" si "gate array"

→ Field-Programmable Gate Array

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

CPLD : Complex Programmable Logic Devices

Comercial CPLD-urile sunt introduse de firma Altera– exista in diferite variante si la alte firme: AMD, Lattice, Cypress, Xilinx, etc.

Sunt alcatuite din:-Un numar de blocuri SPDL (macrocelule)-Blocuri de I/O-Interconexiuni programabile (mai complexe sau maiputin complexe) situate intre macrocelule si blocurile de I/O (input/output)

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

CPLD : Complex Programmable Logic Devices

Macrocelulele : Folosesc suma de produse + elementesecventiale de tip flip-flop

Arhitectura bazata pe suma de produse este asemanatoare ca la SPLD. De fapt sunt alcatuite din blocuri multiple de SPLD

Este alcatuit dintr-un număr de blocuri logice programabile (PLA, PAL şi mai puţin ROM) conectate de o arie programabilă de fire de interconectare.

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

Aplicaţii tipice pentru circuitele de tip CPLD

În circuitele de tip CPLD se pot realize proiecte destul de complexe, cum ar controller graphic, controller LAN, UART etc. Ca regulă generală: se vor folosi aceste circuite pentruproiecte care au nevoie de porţi AND şi OR dar nu au nevoiede un număr mare de circuite de tip flip-flop. Datorită faptuluica sunt reprogramabile, este posibil să se reconfigureze in sistem (un exemplu ar fi să se schimbe protocolul pentru un circuit care implementează un protocol de comunicare) fără a intrerupe alimentarea

Design-ul se partiţionează în blocurile SPLD care compunCPLD-ul, făcând în acest mod să se obtină un rezultatpredictibil în ceea ce priveşte performanţele de viteză. Un avantaj al circuitelor CPLD este predictibilitatea implementarii.

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

TEHNOLOGII RECONFIGURABILE

Definitie:

• Set de resurse configurabile care pot fi interconectate in diferite moduri.

Arhitecturi:

•Realizari ale functiilor Boolean prin folosirea sumei de produse(PALs,PLAs,PLDs…)

•Arii de celule (FPGA)

Tehnologii de programare:

•Fuse – prin folosirea fuzibililor

•Antifuse – prin folosirea anti-fuzibililor

•Static RAMs (SRAM)

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Fiecare tip de circuit programabil contine:

• Interconexiuni — resursele de conexiuni.

• comutatoare programabile —permit conectarea elementelorde logică la firele de legătură sau a firelor de legătură întreele.

• blocul logic - Logic Block — un circuit de bază care estemultiplicat în aria programabilă. Când un circuit esteimplentat într-o arie programabilă, este mai întâi descompusîn circuite mai mici care sunt mapate în blocul logic.

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

FPGA — Field-Programmable Gate Array Este o structură care permite implementarea logicii de capacitate mare.FPGA-ul clasic este alcatuit din 3 componente: •arii de blocuri logice programabile; (alcatuite din LUT-uri, registri si multiplexoare)•Interconexiuni programabile•Blocuri I/O

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Circuitele de tip FPGA sunt o variantă îmbunătăţiţă a tehnologiei care foloseste arii de porţi şi oferă un cost redus pentru prototipizare.

Tipuri de circuite:

· Nevolatile, programabile o singură dată (anti-fuse – anti fuzibil)

· Nevolatile, reprogramabile (flash)

· Volatile (SRAM)

Un astfel de circuit este însă mai mult decât o arie de porţi. Acestaconţine celule de intrare şi ieşire I/O Cells, celule logice, memorii, microprocesoare, circuite pentru gestionarea clock-ului, transceiver de viteză mare, resurse de rutare programabilă, cea din urmă fiind şiprincipala îmbunătăţire faţă de ariile de porţi standard.

Un FPGA este de fapt un circuit de logică programabilă si care are o mulţime de fire de legătură programabile

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

• FPGA: Field Programmable Gate Array• Arii de porti logice (de uz general) programabile

CLB CLB CLB

CLB CLB CLB CLB

CLB CLB CLB CLB

CLB CLB CLB CLB

Configurable Logic Block

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

CLB CLB

CLB

CLB

CLB CLB CLB CLB

Configurable Logic Block

Utilizarea resurselor de interconectare

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Multiplexor (sau mux) – un circuit care selecteaza una dintremai multeintrari digitale, iar la iesire se transmite in functie de selectie o singura linie

Un multiplexor cu 2n intrari va avea n linii de selectie, folositepentru a selecta care linie de intrare este transmisa catreiesire

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Look-up table n-LUT

– n-LUT n intrari si o singura iesire– o tabela LUT poate implementa orice functie logica a intrarilor

– la nivel logic, o tabela n-LUT reprezinta o memorie de (2n x 1) biti, functia logica este determinata de continutul de memorie

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

FPGA – Simple Logic Block

Configurarea blocului logic este data de continutul memoriei LUT side semnalul de control al MUX-ului- 4-LUT cu 16 biti de configurare- Multiplexor cu 1 bit de configurare

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Celulele logice - Logic-cells

O celula logica este alcatuita din LUT (Look-up table) –tabela de cautare, D flip-flop

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

LUT

CLB

CLB CLB

LUTABCD

Z

4 input Look Up Table

00000001

11101111

ABCD Z

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Exemple de implementare functii logice

CLB

CLB CLB

LUTABCD

Z

4 input Look Up Table

00000001

11101111

ABCD Z00

01

ANDZA

BCD

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Alte exemple – Functia OR

CLB

CLB CLB

LUTABCD

Z

4 input Look Up Table

00000001

11101111

ABCD Z01

11

ORZA

BCD

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

CLB

CLB CLB

LUTABCD

Z

4 input Look Up Table

X000X001

X110X111

ABCD Z01

11

2:1Mux

CD

B

Z

Alte exemple – Multiplexor

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Interconectari programabile

CLB

CLB CLB

LUTABCD

ZDFF

PIP Programmable Interconnection Point

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

FPGAs vs. CPLDsAmbele sunt circuite digitale programabile, dar fiecare are caracteristicile sale.

· FPGAs sunt circuite "fine-grain" adica cu granulatie mica. Acest faptse traduce prin aceea ca vor contine foarte multe blocuri mici de logicasi flip-flops (pana la 100000). CPLDs sunt "coarse-grain“ – circuite cu granulatie mare. Contin un numar relativ mic (100 max) de blocuri maride logica cu flip-flops.

· FPGAs sunt bazate pe memorie RAM. Trebuie sa fie configurate la fiecare alimentare cu tensiune. CPLD folosesc tehnologia EEPROM. Vorfi active la power-up daca au fost programate cel putin odata.

. CPLD au timpi mai mici de la intrare la iesire – si acest lucru este dat de arhitectura cu granulatie mare, de ex. un singur bloc logic va puteastoca ecuatii mari.

. FPGA au resurse de rutare speciale pentru a implementa eficientnumaratoare binare si functii aritmetice (sumatoare, comparatoare) siRAM. CPLD nu are aceste facilitati.

FPGA poate contine design-uri mari, in timp ce CPLD poate continenumai design-uri mici.

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Parametrii principali pentru circuitele programabile sunt:1. Capacitatea logică Logic Capacity - cantitatea de logică care poatefi mapată într-un singur circuit, şi se măsoară în număr de porţiechivalente cu implementarea tradiţională, sau numărul de porţi NAND cu 2 intrări.2. Densitatea logică - Logic Density - cantitatea de logică pe unitatede arie.3. Performanţa de viteză Speed-Performance - parametru care măsoară viteza maximă la care poate opera un circuit implementat in aria programabilă. Spre exemplificare, pentru circuitele combinaţionale (circuite pentrucare ieşirea este dependentă numai de intrările curente, ieşirea fiinddată de combinarea intrărilor - comparatoare, decodoare, multiplexoare, demultiplexoare etc) performanţa este dată de cea mai mare întârzierede-a lungul oricărei căi. Pentru circuitele secvenţiale (circuite logicepentru care ieşirile la un moment de timp specificat sunt funcţie de intrările de la momentul respectiv, si de asemenea de un număr finit de intrări precedente) performanţa este dată de frecvenţa maximă de ceaspentru care circuitul implementat functioneză corect4. Resurse interne disponibile

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Exemplu: Xilinx Spartan-3E - familie de circuite

Familia de circuite de tip Spartan este de cost redus, si volum mare.

• Famillile de circuite Spartan FPGA:– Spartan-II, Spartan-IIE– Spartan-3 Generation• Spartan-3 (densitate mare)• Spartan-3E (optimizat pentru costul logicii)• Spartan-3A (optimizat pentru costul pinilor)• Spartan-3AN (imbunătăţit cu flash nevolatil)• Spartan-3ADSP (imbunătăţit pentru procesare de semnale)

– compatibilitate a pinilor pentru familia de circuite.– memorii on-chip si unităţi de gestionare a clock-ului– până la 1 600 000 porţi sistem.

În tabelul de mai jos se prezintă comparativ diferite circuite din famila Spartan3.

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

Tehnologii de programare:•OTP (One -time programmable) – programarea se poate face o singura data si se realizeaza prin tehnicile:

1) fuse – fuzibil2) antifuse – anti-fuzibil

• Numar limitat de reconfigurari (x.103 )(E)EPROM

• Configurarea se va face la fiecare power-upSRAM

Anti-fuzibilii sunt circuite deschise poziţionate între două fire de legatură. În momentul în care sunt programate devin circuite cu rezistenţă mică, permiţând realizarea conexiunilor intre fire

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Fuse (PLA)

– dupa fabricare starile “on” pot fi programate la starea “off”– programabile o singura data

• EPROM/EEPROM (SPLD, CPLD)– comutatoarele sunt implementate folosind tranzistoare“floating gate transistors”– programabile electric; se sterg folosind lumina ultravioleta(EPROM) sau electric (EEPROM/Flash)– re-programabile

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Fuse (PLDs, CPLDs)

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Antifuse (PLDs, CPLDs)

Se realizeaza un scurtcircuit dintre doua straturide metal. Dielectricul dintrecele doua straturi de metal se va topi

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

Antifuse (FPGA)- Dupa fabricare, starea switch-rilor este off; pot fi programateprin ardere pentru a deveni on– programabil o singura data

SRAM (FPGA)– comutatoarele sunt implementate prin tranzistoare controlate de catre celule SRAM– pot fi reprogramate rapid (se scriu celule de memorie)→ actual pentru reconfigurabilitate – tehnologia de baza

Ioana Dogaru, Radu Dogaru, Curs Sisteme Reconfigurabile de Calcul, Univ. Politehnica din Bucuresti, 2016

Tehnologii switch-uri

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

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

Bibliografie:

- EE178 Lecture Module 2 Eric Crabill SJSU / Xilinx - Architecture of FPGAs and CPLDs: A Tutorial Stephen Brown and Jonathan Rose Department of Electrical and Computer Engineering University of Toronto- Curs Sasatelli- Marco Platzner Computer Engineering Group- Reconfigurable Computing- Dr. Phillip Jones - Reconfigurable Computing Laboratory Iowa State University