You are on page 1of 32

Pannon Egyetem

Szegedi Tudomnyegyetem

FPGA alap begyazott


rendszerek tervezse
Dr. Kincses Zoltn, Dr. Vrshzi Zsolt

5. Perifrik hozzadsa (IP adatbzisbl) az


sszelltott begyazott alaprendszerhez

TMOP 4.1.2A - Egyetemi jegyzet


Trgyalt ismeretkrk
1. Bevezets Begyazott rendszerek
2. FPGA-k, Digilent Nexys-2 s Atlys fejleszt krtyk s eszkzk
3. Begyazott Rendszer fejleszt szoftverkrnyezet (Xilinx XPS Xilinx
Platform Studio/Xilinx SDK Software Developement Kit) ttekintse
4. Begyazott alap tesztrendszer (BSB - Base System Builder and Board
Bring-Up) sszelltsa XPS-ben
5. Perifrik hozzadsa (IP adatbzisbl) az sszelltott begyazott
alaprendszerhez
6. Sajt perifria hozzadsa az sszelltott begyazott alaprendszerhez
7. Szoftver alkalmazsok fejlesztse, tesztelse, hibakeresse (debug) Xilinx
SDK hasznlatval (Software Development Kit)
8. HW-SW rendszerek egyttes tesztelse (Xilinx ChipScope)
9. Begyazott Linux opercis rendszer I.: a MicroBlaze szoft-processzoron
Linux rendszer belltsa s indtsa
10. Begyazott Linux opercis rendszer II.: Alkalmazs fejleszts, tesztels,
meghajtprogramok, s boot-ols
11. Egyedi hardver szellemi termkek fejlesztse s tesztelse (Atlys AC97,
Nexys VGA vezrl)

2
ATLYS
Xilinx EDK hasznlata

IP HOZZADSA A BEGYAZOTT
RENDSZERHEZ

3
Feladat
XPS:
Katalgusban lv IP (Intellectual Property)
hozzadsa az elkszlt hardver rendszerhez,
Az .UCF fjl mdostsa a hozzadott IP maghoz,
valamint kls port-okhoz tartoz belltsokkal,
A mdostott .MHS fjl vizsglata.
SDK
fordt belltsainak testre szabsa
Teszt-alkalmazs generlsa beptett SW
template alapjn

4
A feladat megoldsnak lpsei

Az elz rn elksztett projekt megnyitsa (lab1


-> lab2 nven),
Az IP katalgusbl kivlasztott GPIO perifrik
integrlsa s sszektse az alaprendszerrel,
Kls GPIO portok ltrehozsa (.UCF, .MHS),
Az MHS file ttekintse,
Egy Perifria tesztalkalmazs (TestApp) ksztse
az SDK-ban,
A FW-SW tervek teszt verifiklsa az Digilent Atlys
krtyn
5
Begyazott rendszer kibvtse
AXI4

MicroBlaze processzor mag


AXI AXI4
AXI DDR Memria
sszekt Memria
MBDEBUG
MDM
AXI4
Blokk Vezrl

Push-
D-LMB Button
AXI4-Lite
GPIO
BRAM
I-LMB AXI4 AXI Switches
AXI4-Lite
sszekt GPIO
Blokk
TX
AXI4-Lite
UARTLite RX
RS232

j GPIO (General Purpose I/O) modulok:


Push Button (nyomgomb kezel)
Switches (kapcsol kezel)
6
Korbbi projekt archivlsa s megnyitsa
Hozzunk ltre egy j mappt, legyen a neve \lab2
Msoljuk t az elz rn elksztett projektet (azaz a
\lab1 mappa tartalmt)
Indtsuk el az XPS szoftvert: Start Programok
Xilinx Design Tools ISE Design Suite 14.7 EDK
Xilinx Platform Studio
File Open Project
<projectdir>/lab2/system.xmp Open

7
GPIO perifrik hozzadsa s sszektse az
alaprendszerhez II.
j IP mag hozzadsra kt lehetsg knlkozik az XPS-ben:
a.) System Assembly View hasznlatval
b.) Az MHS fjl kzi szerkesztsvel
Adjunk a processzor rendszerhez kt AXI_GPIO perifrit a System Assembly View
segtsgvel

1
3

8
GPIO perifrik hozzadsa s sszektse az
alaprendszerhez III.

9
GPIO perifrik hozzadsa s sszektse az
alaprendszerhez IV.
Egy IP modulhoz (pl. AXI_GPIO) az XPS automatikusan belltja
a kvetkezket:
A Busz Interface kapcsolatot az IP modul s buszrendszer kztt
Az IP modul cmtartomnyhoz rendelst (Base-High Address)
Az I/O port-ok kls port-okhoz rendelst

10
GPIO perifrik hozzadsa s sszektse az
alaprendszerhez V.
Adjunk hozz a rendszerhez mg egy AXI_GPIO IP-t a katalgusbl
Pldny neve legyen push
A GPIO csatorna szlessge: 5 (mivel 5 nyomgomb van az Atlys krtyn)
Ez a GPIO csatorna is csak bemenet legyen
A kapott eredmny a System Assembly View-ban

11
GPIO sszektets kls porthoz rendelse I.
A dip s push GPIO pldnyokat hozz kell kapcsolni az Atlys krtyn tallhat DIP kapcsolkhoz s
nyomgombokhoz
1.) A GPIO pldnyok adat port-jt kls FPGA pin-re kell kapcsolni
2.) Az .UCF fjl-ban megkell adni az adott FPGA pin azonostjt
Ezt a feladatot a kvetkezkppen oldhatjuk meg
System Assembly View -> Port fl megnyitsa
dip (IO_IF) gpio_0, valamint push (IO_IF) gpio_0 megnyitsa
Jobb kattints a GPIO_IO-ra s aztn No Connection
Jobb kattints a GPIO_IO_I-re s aztn Make External

Alapbellts

12
GPIO sszektets kls porthoz rendelse II.
Mdostani kell az .ucf file-t (\data\system.ucf alaprtelmezett)
Megfelel pin nevek megadsa

13
Xilinx EDK hasznlata

MHS LER VIZSGLATA

14
A mdostott MHS file ttekintse
1.) Krds
Kls portok szma?
Kls portok szma (amelyek kimenetek)?
Kls portok szma (amelyek bemenetek)?
Kls portok szma (melyek ktirnyak)?
2.) Krds
Mely pldnyok kapcsoldnak a clk_100_0000MHzPLL0
nev rajelhez?
Mely pldnyok kapcsoldnak az axi4_0 nev AXI
interface pldnyhoz?
3.) Krds
Vzolja fel a rendszer teljes memria trkpt a
pldnynevek megadsval!
15
Xilinx SDK

SZOFTVER TESZT ALKALMAZS


SSZELLTSA

16
Tesztalkalmazs (TestApp) ksztse I.

1.) SDK elindtsa (EDK-bl): Project Export


Hardware Design to SDK
2.) Kattintsunk az Export & Launch SDK gombra
Ha mg nincs elksztve az j rendszerhez tartoz
netlista s bitstream, akkor ez automatikusan
legenerldik mieltt az SDK elindulna
3.) A Select a workspace ablakban vlaszuk ki a
<projectdir>/lab2/SDK/SDK_Export
majd kattintsunk az OK-ra
4.) Az SDK-ban: File New Xilinx Board
Support Package kattintsunk a Finish-re
17
Tesztalkalmazs (TestApp) ksztse II.
Sofware Platform Settings (korbbi rendszerekben EDK rsze volt!)
Opercis rendszer kivlasztsa: standalone vs. xilkernel (esetleg 3rd Party OS)
Rendelkezsre ll knyvtri fggvnyek (lib) kivlasztsa

18
Tesztalkalmazs (TestApp) ksztse III.
res alkalmazs ltrehozsa (Xilinx C Project)
1
2 3

19
Tesztalkalmazs (TestApp) ksztse IV.

2
3

20
Tesztalkalmazs (TestApp) ksztse V.

21
Tesztalkalmazs (TestApp) ksztse VI.

j forrs fjl ltrehozsa


1

22
Tesztalkalmazs (TestApp) ksztse VII.

Forrskd megrsa

23
Tesztalkalmazs (TestApp) ksztse VIII.

Fordt belltsa
Jobb kattints a TestApp-ra C/C++ Build Settings

2
1 4

Mivel a programunkban van egy ciklus, mely a


ksleltetsrt felel, s nem szeretnnk ha a fordt
kioptimalizln

24
Tesztalkalmazs (TestApp) ksztse IX.
Linker Scrip ltrehozsa
Jobb kattints a TestApp-ra Generate Linker Script

25
Begyazott rendszer s szoftver teszt-verifikcija I.
Atlys krtya bekapcsolsa
Az USB-soros port s az USB programoz csatlakoztatsa a szmtgphez
A Terminal1 ablakban az USB soros port belltsa, majd csatlakozs
Xilinx Tools Program FPGA
.bit, .bmm s .elf fjlok kivlasztsa

26
Begyazott rendszer s szoftver teszt-verifikcija II.

Kapcsolk (dip) s nyomgombok (pusb) mkdsnek vizsglata


Program Debug-golsa

27
Plda 1: LED vezrl
Lpsek:
Az ismeretkr elsajttsa sorn ltrehozott projekt
archivlsa (Lab2), illetve Xilinx XPS-ben megnyitsa
LED vezrl: az IP katalgusbl kivlasztott GPIO
perifria integrlsa s sszektse az alaprendszerrel
(8-bites, mivel 8 LED),
Kls GPIO portok ltrehozsa (.UCF, .MHS),
Az .MHS file tartalmnak ttekintse,
Egy Perifria teszt-alkalmazs (TestApp) talaktsa a
Xilinx SDK-krnyezetben,
A FW-SW tervek teszt verifiklsa a Digilent Atlys
krtyn
28
Plda 1. Begyazott rendszer kibvtse
AXI4

AXI AXI DDR

MicroBlaze processzor mag


AXI4 Memria
sszekt Memria
AXI4
MBDEBUG Blokk Vezrl
MDM
Leds
AXI4-Lite
GPIO
D-LMB
Push-Button
AXI4-Lite
AXI GPIO
BRAM
I-LMB AXI4 sszekt
AXI4-Lite Switches
Blokk GPIO
TX
AXI4-Lite
UARTLite RX
RS232

j GPIO (General Purpose I/O) modulok:


LEDs: (LED kezel): 8-bites legyen (csak kimenet)

29
Plda 2.) LED-es szmll
Mdostsa az elz Plda 1.) szerepl Perifria
Teszt SW alkalmazst gy, hogy a LED-eket
egy 8-bites szmll rtknek nvelsvel
egyms utn villantsa fel.

Segtsg:
hasznlja a beptett u8 adattpust
Mivel sys_clk = 100 MHz, ksleltesse a LED-ek
fel-/le-villanst (pl. for() ciklussal)

30
Plda 3.) LED-es szmll
Mdostsa az elz Plda 3.) szerepl Perifria
Teszt SW alkalmazst gy, hogy a LED-eken a
kapcsolk llsa jelenjen meg.

31
sszefoglals
Az elz rn ltrehozott MicroBlaze alap
rendszerhez hozzadtunk kt GPIO perifrit az IP
katalgusbl
A perifrikat a megfelel mdon konfigurltuk,
s hozzkapcsoltuk a kls FPGA lbakhoz (pin)
Ezutn analizltuk a mdostott .MHS fjlt
Az .UCF fjlt kiegsztettk az Atlys krtyn lv
DIP kapcsolk s nyomgombok bektsnek
megfelelen
Vgl verifikltuk az elkszlt rendszer s
alkalmazs mkdst

32

You might also like