bl eloadas5

26
Page 1 1 2

Upload: ing-kovacs-levente-kalman

Post on 20-Jan-2016

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BL Eloadas5

Page 1

1

2

Page 2: BL Eloadas5

Page 2

3

4

Page 3: BL Eloadas5

Page 3

5

6

Page 4: BL Eloadas5

Page 4

7

8

Page 5: BL Eloadas5

Page 5

9

10

Page 6: BL Eloadas5

Page 6

11

12

Page 7: BL Eloadas5

Page 7

13

14

Page 8: BL Eloadas5

Page 8

15

16

Page 9: BL Eloadas5

Page 9

17

18

Page 10: BL Eloadas5

Page 10

19

20

Page 11: BL Eloadas5

Page 11

21

22

Configuration Sequence

Page 12: BL Eloadas5

Page 12

23

Configuration Sequence

24

Configuration Sequence

Page 13: BL Eloadas5

Page 13

25

Configuration Sequence

26

Internal Configuration Access Port (ICAP)

• ICAP provides one of the mechanisms to configure the FPGA

– Typically used for dynamic partial reconfiguration

• ICAP allows partial reconfiguration under software or hardware control

– Software control requires some sort of processor system to drive the ICAP input with configuration data and control system

– Hardware control requires some sort of finite state machine to fetch the configuration data and then drive it into the ICAP

Page 14: BL Eloadas5

Page 14

27

ICAP Primitive

• ICAP – Internal Configuration Access Port (generic)

– ICAP_VIRTEX6

– Cannot be inferred and must be instantiated

• No macro nor CORE Generator™ tool support

• The ICAP peripheral enables partial reconfiguration

– Enables access to the configuration functions from within the FPGA fabric

– Similar to SelectMAP

28

Configuration Time

Page 15: BL Eloadas5

Page 15

29

Custom ICAP Processor

30

Futásidejű részleges újrakonfigurálás tervezési és kivitelezési fázisai

Page 16: BL Eloadas5

Page 16

31

A részleges újrakonfigurálhatóságot biztosító FPGA jellemzők

• Az FPGA áramkört alkotó modulcsoportok közül a frame (keret) az alegkisebb granularitási egység, amelybe/ből konfigurációs adat írható vagyolvasható. A konfigurációs kereteket olyan bitcsoportok alkotják, melyekszélessége 1 bit és kitöltik egy teljes oszlopát az FPGA chipnek.

• A Xilinx Virtex FPGA áramkörök keretei rögzített és azonos méretűek. Egykeret címe öt komponensből áll és egy keretcím regiszterben van tárolva(frame address register - FAR). Ezek a komponensek a következők:

– Top/Bottom: az FPGA áramkör alsó és felső félre van osztva. Az alsófélben levő keretek az felső fél kereteinek a tükörképeit alkotják.

– Block Type: az áramkör alkotóelemei tömbtípus szerint vannakosztályozva (CLB, DSP, BRAM, stb. modulok), a címzés is ezt követi. ABRAM tartalom illetve a BRAM csatlakoztatás különböző blokktípusbavan osztályozva. Minden blokktípust egy három számjegyű kódazonosít, ami a FAR része. A sor cím vagy Row address szerint az FPGAvízszintes órajel-zónákra van osztva (HCLK). Ezen zónák számozása achip közepétől indul nullától, és felfele meg lefele is növekszik. A kétirány között a FAR Top/Bottom bitje tesz különbséget. Egy keretmagassága egyenlő egy HCLK sorral.

– Minden blokktípus saját címzéssel rendelkezik, mely balról jobbranövekszik. Ezt nevezik oszlopcímnek (Column Address) vagy főcímnek(major address). Ezen belül, minden CLB/DSP/BRAM oszlop az FPGAtípusától függő számú un. másodlagos címmel (minor address)rendelkezik.

32

A részleges újrakonfigurálhatóságot biztosító FPGA jellemzők

• A konfigurációs keretek nem csupán a CLB területet állítják be, hanemtartalmaznak konfigurációs biteket az illető oszlopba tartozó (annakfelső és alsó végein található) IOB modulokra vonatkozóan is.

• Egyetlen CLB oszlop, tehát, több konfigurációs keretet tartalmaz. Akonfigurációs adatok alapján minden egyedi CLB LUT vagy flip-flopkülön-külön konfigurálható kellene legyen, de a háttérben zajlómechanizmusok miatt egy teljes konfigurációs keretet be kell olvasniegy BRAM memóriába. Amikor ezt a keretet visszaírjuk a konfigurációsmemóriába, annak a nem módosított adatterületei nem változtatják acsatlakozó áramköri elemek beállításait.

• Mivel az FPGA memóriacellák tranziens-érzéketlenek, újraíráskor a nemmódosított logika zavartalanul folytatja működését.

• Ez a szabály két esetben nem érvényes, éspedig akkor, amikor a LUTegységek léptetőregiszter illetve RAM üzemmódba vannak állítva. Haegy LUT elemet módosítunk, vagy csak visszaolvasunk egy olyanoszlopból, amely LUT RAM-ot vagy LUT shift-regisztert is tartalmaz,akkor ezek működése megszakad és elveszítik aktuális állapotukat.Ennek elkerülése érdekében e két típusú elemet olyan oszlopba kellhelyezni, amelyet nem fogunk változtatni.

Page 17: BL Eloadas5

Page 17

33

Részleges újrakonfigurálási technikák

• Az FPGA áramkörök legfontosabb jellemzője az újrakonfigurálhatóság, mely abeépített hardware funkcionalitásának megváltoztatását biztosítja. Az erőforrásokterében végzett konfigurációs bitstream feltöltéseket, azonban, teljes vagy részlegesüzemmódban is meg lehet valósítani. Teljes feltöltéskor a bitstream mindenkomponens rendeltetését megváltoztatja. A Xilinx által gyártott FPGA áramkörök egyrésze (Virtex-II / Virtex-II Pro, Virtex-4, Virtex-5 és Virtex-6) részlegesújrakonfigurálási képességgel is rendelkezik, vagyis az abban működő áramkörtetszőleges részterületének adhatunk új funkcionalitást, míg a rendszerünkvezérlőegysége zavartalanul működik tovább. A részleges újrakonfigurálási technikákkét osztályba sorolhatók.

• Statikus részleges újrakonfigurálásról beszélünk akkor, amikor az FPGA-ba építettáramkört, annak inaktív állapotában, részterületében programozunk át, mígdinamikus részleges újrakonfigurálást (Partial Dynamic Reconfiguration - PDR)végezhetünk úgy, hogy akítv állapotban végezzük el ugyanazt a feladatot.

• A PDR technika sikeres alkalmazásához néhány specifikus fogalom bevezetésérevan szükség. Egy részlegesen újrakonfigurálható régió (Partial ReconfigurableRegion - PRR) egy olyan területe az FPGA áramkörnek, melynek pontosanmegszabjuk a határvonalait. Az ezeken belül eső komponenseket tudjuk majdműködés közben átkonfigurálni. A PRR több modulra osztható (Partial ReconfigurableModule - PRM), melyek konfiguráció során felcserélhetőek.

34

Custom Access to ICAP• Uses GPIOs to monitor and

• initiate partial reconfiguration

• Uses the ICAP Interface custom

• peripheral to load a bitstream

• into the ICAP device

• Controlled via a state

• machine

• Use when

• Maximum performance

• required

• Custom bitstream

• encryption is applied

• Special control is required

Page 18: BL Eloadas5

Page 18

35

36

Page 19: BL Eloadas5

Page 19

37

38

Top Level Block Diagram for the XPS HWICAP Core

Page 20: BL Eloadas5

Page 20

39

ICAP Read Cycle - Virtex-4, Virtex5 and Virtex-6 Devices

• Az ICAP modul bármilyen típusú tervben

példányosítható. Saját driver modult is készíthetünk, de

a Xilinx is szolgáltat egy HWICAP nevű IP magot e célra.

A HWICAP beágyazott processzorból (MicroBlaze vagy

PowerPC) illetve egy speciálisan erre a célra megírt véges

állapotú automatával vezérelhető.

40

ICAP - Write cycleAz ICAP - Internal Configuration Access Port egységen keresztül juttathatók el a

konfigurációs RAM-ba. Az ICAP primitívnek négy bemente (CLK, CSB, RDWRB, I)

és két kimente (O és BUSY) van, amint a mellékelt ábrán látható. Az ICAP írási

módba helyezéséhez a CSB és a RDWRB vonalakat is alacsony logikai szintre kell

helyezni majd adatot küldhetünk az I bemenetre (9. ábra), melyre a BUSY jel

aktiválása lesz a válasz. Olvasási üzemmódban az ICAP RDWRB vonal magas logikai

szinten kell maradjon. Ebben az esetben az aktiválódó BUSY jel az mutatja,

hogy az ICAP érvényes adatokat olvas a konfigurációs memóriából.

Page 21: BL Eloadas5

Page 21

41

42

Page 22: BL Eloadas5

Page 22

43

44

Page 23: BL Eloadas5

Page 23

45

46

Részleges újrakonfigurálás tervezése a Xilinx PlanAhead környezetben

• Az előzőleg megtervezett, beágyazottprocesszort (Xilinx Platform Studio –XPS azaz EDK-ban) és/vagy saját logikáttartalmazó (ISE-ben) projekt(ek)netlistáit használjuk kiindulópontként aPlanAhead nevű környezetbemeneteiként, amint az a mellékeltábrában is látható. Ezután mindenperiférikus eszköz elhelyezkedését megkell adni (floorplanning) az erőforrás-kihasználtság megőrzésével. Ezt követiaz újrakonfigurálásra szánt területekkijelölése, majd a tervezésiszabályellenőrzések (design ruleschecks).

• A PlanAhead ezután meghívja azISE place and route eszközeit, melyeksikeres lefutása után a bitgen eszközlétrehozza a projekt statikus részéből ateljes konfigurációs bitstream-et és arészleges újrakonfigurálásra tervezettmodulokhoz a részleges bitsream-eket.

Page 24: BL Eloadas5

Page 24

47

48

Page 25: BL Eloadas5

Page 25

49

50

Page 26: BL Eloadas5

Page 26

51

PlanAhead