a xilinx fpga-k

21
A A Xilinx Xilinx FPGA FPGA - - k k A programozhat A programozhat ó ó logik logik á á kr kr ó ó l l á á ltal ltal á á ban ban A Spartan A Spartan - - 3 FPGA bels 3 FPGA bels ő ő fel fel é é p p í í t t é é se se Az FPGA fejleszt Az FPGA fejleszt é é s menete s menete BMF KVK MAI, Molnár Zsolt, 2008.

Upload: vacsaa

Post on 26-Oct-2015

60 views

Category:

Documents


1 download

DESCRIPTION

Xilinx FPGA

TRANSCRIPT

Page 1: A Xilinx FPGA-k

A A XilinxXilinx FPGAFPGA--kk

A programozhatA programozhatóó logiklogikáákrkróól l ááltalltaláábanbanA SpartanA Spartan--3 FPGA bels3 FPGA belsőő felfelééppííttééseseAz FPGA fejlesztAz FPGA fejlesztéés menetes menete

BMF KVK MAI, Molnár Zsolt, 2008.

Page 2: A Xilinx FPGA-k

A programozhatA programozhatóó logiklogikáák I.k I.

Logikai eszközök:

- Fix logikai eszközök- A gyártósoron eldől a végleges funkciójuk- Komplex feladatnál gond a korlátozott kínálat- Hosszú tervezési idő- A készülék módosítása, továbbfejlesztése drága- Egyedi feladatra ASIC/BOÁK - drága

- Programozható logikai eszközök (PLD)- „Tetszőleges” funkció megvalósítható bennük- A készülék fejlesztésekor csak át kell programozni- A lábak funkciója tervezhető, alakítható- A tervezési idő lecsökken- A prototípus sokszor megegyezik a végleges gyártmánnyal

Page 3: A Xilinx FPGA-k

A programozhatA programozhatóó logiklogikáák II.k II.

Programozható logikák:

- FPGA (Field Programmable Gate Array)- Nagy „kapuszám” (tipikusan több százezer kapu)- Nagy variálhatóság- Nagysebességű kommunikáció az eszközök között- Viszonylag nagy integrált memória- SRAM tartalmazza a konfigurációt

- CPLD (Complex Programmable Logic Device)- AND-OR felépítés- Kisebb kapuszám (tipikusan néhány ezer kapu)- Jól meghatározható késleltetés- Nagy órajel-frekvencia (több száz MHz)- Kis fogyasztás, alacsony ár- Mérésen nem témánk

Page 4: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése I.se I.

Legfontosabb jellemzők:- Legfeljebb 74880 logikai cella, 5 millió kapu- Legfeljebb 633 I/O láb- Max. 280 MHz órajel- Korlátlan számú programozás- Számos logikai szabványhoz való illeszthetőség- IEEE 1149.1/1532 szabványú peremfigyelés (Boundary Scan)

Page 5: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése II.se II.

CLB:Configurable Logic BlockKonfigurálható logikai blokk

IOB:Input/Output BlockBemeneti/Kimeneti blokk

DCM:Digital Clock ManagerÓrajel menedzselő blokk

Block RAM:18 kbites dual-portosRAM blokkok

Multiplier:18x18 bites szorzó(36 bites eredmény)

Page 6: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése III.se III.

A konfigurálható logikai blokk (CLB)

- Kombinációs vagy szekvenciálishálózatok megvalósítására

- 4 szelet (SLICE) minden CLB-ben

Page 7: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése IV.se IV.

A konfigurálható logikai blokk (CLB) (SLICEM)

LUT:Look-Up Table4 bites RAM alapú logikai függvény-generátor, amely konfigurálható RAM-nak, vagy shift-regiszternek is

FFX/FFY:Flip-flop X/YTárolóelem, konfigurálható D-FF-nak, vagy latch-nek, fő feladata a szinkronizálás

MUX:MultiplexerA belső kapcsolatok kialakítására

WSGEN:Write Signal Generator

Page 8: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése V.se V.

A bemeneti/kimeneti blokk (IOB)

- Programozható kétirányú interfész egybe/kimeneti láb, és az FPGA belsőlogikája között

- Számos választható logikai szabvány (18aszimmetrikus és 8 szimmetrikus)

- DCI: digitálisan vezérelhető impedanciaaz illesztéshez

- Kapcsolható le- és felhúzó ellenállások

- Programozható SR és kimeneti áram-korlát (2…24 mA)

- ESD védelem

Page 9: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése VI.se VI.

Az egységek kapcsolódása (Spartan)

PSM: Programmable SwitchMatrixProgramozhatókapcsoló mátrix

Page 10: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése VII.se VII.

Az egységek kapcsolódása

Különféle kapcsolódási típusok

Page 11: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése VIII.se VIII.

Az egységek kapcsolódása

A kapcsolódó egységek mátrixa

Page 12: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése IX.se IX.

A kapcsolódási lehetőségek

Long Line:- 24 darabos kötegek, horizontálisan és vertikálisan- 6-6 egységet (példában CLB-t) tartalmazó csoport közül egy kapcsolódhat rá

- Egy egységhez max. 4 Long Line kapcsolódhat- Alacsony kapacitás → magas frekvenciás jelekhez- Skew (elcsúszás) kicsi- A dedikált órajel-vonalak (8 db) helyett is használható

Page 13: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése X.se X.

A kapcsolódási lehetőségek

Hex Line:- 8 darabos kötegek, horizontálisan és vertikálisan- 3-3 CLB-t tartalmazó csoport közül egy kapcsolódhat rá- Egyetlen meghajtója lehet- Kissé magasabb kapacitás, mint a Long Line esetében, de még alkalmazható nagyfrekvenciás jelekhez

Page 14: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése XI.se XI.

A kapcsolódási lehetőségek

Double Line:- 8 darabos kötegek- Az összes szomszédos egységhez csatlakozhat, de keresztirányban nem

- Nagyobb flexibilitás- Nagyobb kapacitás miatt lassabb

Direct Line:- Bármelyik két szomszédos egységet összekötheti, diagonálisan is

- Leggyakrabban az előző vonalakra (long, hex, double) való bekötéshez használt

Page 15: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése XII.se XII.

A RAM blokk

Double Line:- Single/Dual port módban is működhet - 18 kbit kapacitás- XC3S200: 12 blokk, 216 kbit- XC3S5000: 104 blokk, 1,87 Mbit

Page 16: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk belsbelsőő felfelééppííttéése XIII.se XIII.

Az órajel menedzselő áramkör

DLL:Delay-Locked Loop - Órajel-elcsúszás (skew) kiküszöbölésére (visszacsatolás)

DFS:Digital Frequency Syntethizer - Az órajel frekvenciáját szorozza meg egy beállítható konstanssal (felszorzás/leosztás)

Phase Shifter:Fázisban eltolt órajeleket képes létrehozni (pl. 90º, 180º, 270º)

DLL

Page 17: A Xilinx FPGA-k

A A SpartanSpartan FPGAFPGA--kk belsbelsőő felfelééppííttéése XIV.se XIV.

A peremfigyelés kialakítása (Spartan)

Page 18: A Xilinx FPGA-k

Az FPGA fejlesztAz FPGA fejlesztéés folyamatas folyamataDesign Entry/Synthesis:

- Terv létrehozása- Kapcsolási rajz alapon- HDL alapon (hardverleíró nyelv)- Egyéb forrásból (FSM,…)

- Kitételek/korlátozások megadásaDesign Implementation:

- A terv (logikai leírás) konvertálásafizikai információvá (konfigurálóbitfolyammá)- Mapping (MAP):

a terv adaptálása az adott eszköz-reben, kitételek feldolgozása,tervezési szabályok ellenőrzése

- Placement/Routing (PAR):elemek elhelyezése, összekötésekmegvalósítása, optimalizálás

Design Verification:- Az elkészült áramkör funkcionális

és minőségi vizsgálata (szimuláció/in-circuit ellenőrzés)

Page 19: A Xilinx FPGA-k

A SpartanA Spartan--3 3 FPGAFPGA--kk felkonfigurfelkonfiguráálláásasa

Legfontosabb tulajdonságok:

- Konfigurálás = RAM jellegű (felejtő) konfiguráló cellák konfigurációs bitmintával való feltöltése

- Konfigurálható:- Soros/párhuzamos memóriából (boot)- Soros interfészen keresztül (JTAG)

- Programozás

Page 20: A Xilinx FPGA-k

A SpartanA Spartan--3 fejleszt3 fejlesztőőpanel (panel (DigilentDigilent))

Page 21: A Xilinx FPGA-k

TovTováábbi informbbi informáácicióók k

- www.xilinx.com

- mai-mszglab.tar.hu/mai-mszglab.uw.hu

- Mérési útmutató- Varga László előadásának kivonata