Sunteți pe pagina 1din 56

Pannon Egyetem, MIK-VIRT, Veszprm

Dr. Vrshzi Zsolt


voroshazi.zsolt@virt.uni-pannon.hu

Tervezsi mdszerek programozhat


logikai eszkzkkel
2. Tervezsi mdszerek. Tervezs folyamata.
HLS: magas szint szintzis. Programozsi mdok. Xilinx Vivado hasznlata.

Frisstve: 2017. 09. 26.


Trgyalt ismeretkrk
2. elads
I.) Tervezsi mdszerek
II.) Tervezs folyamata (design-flow)
III. ) HLS: magas-szint szintzis (CFG, DFG)
IV.) FPGA-k integrlt fejleszt krnyezetei
V.) Xilinx Vivado Design Suite (2015.2)
VI.) Digilent Adept Suite (csak konfigurls, vagy
krtya diagnosztika)

2
Szempontok, absztrakcis szintek, modellezs

I. TERVEZSI MDSZEREK

3
Tartomnyok absztrakcis szintek

Klnbz tervezsi szempontok (metodika)


szerint dolgozhatunk, azaz a rendszer
modellezst klnfle tartomnyokon s azokon
bell eltr absztrakcis szinteken vgezhetjk.
Az ismert Gajski s Kuhn fle Y-diagram szerint 3
lehetses tartomnyt klnbztethetnk meg:
Funkcionlis/viselkedsi,
Strukturlis s
Geometriai.
(ksbbiekben: a HDL lersok sorn, ltalnosan a viselkedsi s a
strukturlis tartomny szerinti tervezst alkalmazzk)

4
Gajski-Kuhn - Y-diagram
Strukturlis
Funkcionlis
/ viselkedsi
Processzor-Memria
Algoritmus
Regiszter-Transzfer (RTL) Regiszter-Transzfer Nyelv
(RTL)
Kapu Boole algebrai egyenletek
Tranzisztor Differencil egyenletek
Poligonok

Geometria / virtulis rcs

Szabvnyos cellk

Floor Plan (teljes layout


terv)

Geometriai

5
Funkcionlis tartomny
A rendszer viselkedsnek lerst adjuk meg, de nem foglalkozunk
annak bels rszleteivel (felptsvel).
A funkcionlis tartomny a leg-absztraktabb megkzeltst jelenti,
mivel a teljes rendszer viselkedse megadhat az algoritmikus
szinten.
A kvetkez szint az RT, azaz regiszter-tviteli szint (Register-
Transfer), vagyis a regiszter-memria-processzor elemek kztti
transzformcik megadsa. Az adatot egy regiszter, vagy egy
memria adott celljnak rtke, mg a transzformcikat az
aritmetikai s logikai opertorok jellemezhetik. Az adat-, s vezrlsi
informci ramlsa definilhat akr a regiszter-transzfer szint
nyelvi lersokkal (RT Language) is, vagy hatkonyan szemlltethetk
grafikus mdon az adat-, s vezrlsi- folyam grfok segtsgvel
(DFG, CFG).
A harmadik szint a hagyomnyos logikai szint, ahol egy-egy funkci
megadhat a Boole-algebrai kifejezsek, igazsg tblzatok
segtsgvel.
Vgl az utols szinten az ramkr mkdst definil differencil-
egyenleteket kell definilni, amely a hlzat feszltsgben, s
ramban bekvetkez vltozsokat hivatott lerni.
6
Strukturlis tartomny
A strukturlis tartomnyban viszont pontosan a rendszer
bels elemeinek felptst s kzttk lv sszekttetseket
vizsgljuk.
A strukturlis tartomny legfels szintjn kell a f
komponenseket s sszekttetseit definilni, amelyet
processzor-memria kapcsolatnak (processor-memory
switch) is hvnak.
A msodik szint itt is a regiszter-tviteli szint (RTL), amely
egyrszt az adattbl (data path), msrszt vezrlsi
szakaszokbl (control path, sequence), szekvencikbl ll.
A harmadik szint a logikai szint, amelyben a rendszer
struktrja az alapkapuk s sszekttetseik segtsgvel
pthet fel.
A negyedik, legalacsonyabb szinten a tranzisztorok, mint az
ramkri rajzolatok (layout) elemi egysgeit kell tekinteni
(azokbl ptkezni).
7
Geometriai tartomny
Vgl a geometriai tartomny azt mutatja, ahogyan a
rendszert elhelyezzk, lekpezzk (=MAPPING) a
rendelkezsre ll fizikai erforrsok felhasznlsval (fellet).
A legfels hierarchia szinten, a szilcium felleten
elhelyezett vagy n. kitertett VLSI ramkrt kell tekinteni
(floor-plan): FPGA esetn teht magukat a logikai cellkat
s makrocellkat, valamint a kzttk lv
sszekttetseket (lsd FPGA felpts)
A kvetkez szintet a szabvnyos alapcellk (Standard Cell)
knyvtrai kpezhetik, amelyeket, mint technolgiai
adatbzist hasznlhatunk fel a regiszterek, memrik, vagy
akr aritmetikai-logikai egysgek megvalstshoz.
A harmadik szinten az egyedi tervezs integrlt ramkrk
(ASIC) geometrija egy virtulis rcson adhat meg.
Vgl az utols, legalacsonyabb szinten a poligonokat kell
megrajzolni, amelyek csoportjai az ramkr egyes maszk-
rtegeinek feleltethetk meg.
8
EDA: Electronic Design Automation
Manapsg a szmtgppel segtett
elektronikus tervezi, fejleszti s szimulcis
eszkzk szles sklja ll a rendelkezsnkre.
Segtsgkkel egy-egy tartomnyon bell nem
kell minden szintet kln-kln pontosan
definilni (sokszor nem is lehet), elegend a
tervezst a legfelsbb absztrakcis szinteken
elvgezni (design entry), amelybl az
alacsonyabb szintek automatikusan
generldnak (EDA).
9
DESIGN FLOW (XILINX FPGA-k esetben)

II. TERVEZS FOLYAMATA

10
Xilinx design-flow
Az FPGA alap rendszertervezs folyamatt a Xilinx
Vivado/ISE fejleszt krnyezetben trtn egymst
kvet lpseken keresztl demonstrljuk. A fejleszts
egyszerstett folyamatt a kvetkez oldalon lv bra
szemllteti. Lpsei:
1.) Design Entry (pl. HDL forrs)
2.) Szimulci
3.) a. Szintzis s b.) Implementci
4.) Idztsi analzis
5.) Bitfolyam (konfigurci) ltrehozsa

11
11
Xilinx ISE / Vivado
Knyszer- RTL forrsok
felttelek (design entry): Tesztpad
- HDL lers (.vhd, .v)
(constraints) - kapcsolsi rajz (.sch) (testbench)
.XDC - llapot diagram

Szintzis RTL szimulci


(Synthesis) (Xsim)

.ngc / .edf

Implementci
Funkcionlis
Fordts szimulci (functional
(Translate)
simulation)

Lekpezs (MAP)

Fizikai elhelyezs
pcf s sszekts
(PAR = Place &
Route)

.ncd

Konfigurcis bitfjl
Statikus id ztsi
generlsa Idztsi szimulci
an alzis (Static
(bitstream (timing simulation)
Timin g analyzis)
generation)

.bit

FPGA
Xilinx design-flow
12
A tervezs fontosabb lpsei (I.):
1.) Modulris, vagy komponens alap (hierarchikus)
rendszertervezs
Lentrl-felfel (bottom-up), vagy fentrl-lefel (top-down)
irny tervezsi metodika alkalmazsa
HDL lersok, kapcsolsi rajzok, vagy llapot diagramok
megadsa a tervezs kezdeti fzisban (=design entry),
illetve
felhasznli-tervezsi megktsek, knyszerfelttelek (user
constraints XDC) rgztse (lsd ksbb a szintzis s
implementci sorn),
2.) Szimulci: prhuzamosan a tervezs egyes
szintjein, illetve a legfelsbb hierarchia szinten HDL
tesztkrnyezet, tesztgy vagy tesztpad (testbench)
sszelltsa = szimulcis modell
RTL / viselkedsi szimulci tesztvektorokkal, amely mg
PC-n trtnik
13
A tervezs fontosabb lpsei (II.):
3.) a.) Szintzis s b.) implementci!:
Szintzis: logikai szintzis sorn a HDL lers ltalnos
kapu-szint komponensekk transzformldik (pl. logikai
kapuk, FFs)
Implementci 3 f lpsbl ll: TRANSLATE (Compiler)
MAP (Fit) PAR (Placer & Router / Assembler)
lpseinek sorozata. Ezeket a kifejezseket a Xilinx FPGA
rendszer-fejlesztsi folyamatn kvl is hasonlan nevezik.
Ha az implementci brmely adott lpsben hiba
trtnt, akkor az implementci tovbbi lpsei mr vgre
sem hajtdnak. Az adott lpsben meglv hibt elszr ki
kell javtani ezt az ISE/Vivado zenet ablakban
megjelentett informcik alapjn lthatjuk - s csak utna
tudjuk a tovbbi implementcis lpseket vgrehajtani.
14
A tervezs fontosabb lpsei (III.):
Implementcis fzisok (3./b. rszletezve):
TRANSLATE: tbb, esetleg eltr hardver ler nyelven
megrt tervezi file sszerendelse (merge) egyetlen netlist-
fjlba (EDIF). A netlista fjl tartalmazza a komponensek s
sszekttetseik szabvnyos szveges lerst.
MAP: az elkszlt logikai tervnek egy adott technolgia
szerinti lekpezse (technology mapping), amelyet az
elz lpsben kapott EDIF netlistbl a kapukbl pl. CLB-
ket, ill. IOB-kat kpez le.
PAR: vgleges fizikai ramkri tervet hoz ltre perifria
knyszerfeltteleitl fggen (.PCF peripheral constraint
file), amely fzisban a komponenseket az fizikailag az FPGA-
n meglv s azonosthat cellkon helyezi el (pl. XnYm). Az
elhelyezett fizikai komponenseket vgl a routing eljrs
sszehuzalozza, az egyes tervezsi megktseket, knyszer-
feltteleket figyelembe vve (.PCF). Kimenetn egy .NCD
fjl jn ltre.
15
A tervezs fontosabb lpsei (IV.):
4.) Statikus idztsi analzis: idztsi paramterek
(timing parameters) meghatrozsa (max. rajel
frekvencia, kapuk megszlalsi idejnek, vezetkek
jelterjedsi ksleltetsek hatsnak vizsglata stb.)
5.) Bit-folyam (bit-stream), mint konfigurcis fjl
generlsa (.BIT) s letltse FPGA-ra (CLB-k,
programozhat sszekttetsek belltsa,
konfigurlsa minden egyes inicializcis fzis utn
szksges, ksznheten annak, hogy a Xilinx FPGA-kat
alapveten az SRAM alap technolgia jellemzi).

16
ltalnos ismertets

III. HLS: HIGH-LEVEL SYNTHESIS


MAGAS-SZINT SZINTZIS ALAPJAI

17
Elmleti httr
Turing-Church tzis: HW SW ekvivalencia.
a -rekurzv fggvnyek (utastsok),
krnyezet fggetlen nyelvtan (algoritmus modell, pl. CFG),
ill.
TM Turing Machine (HW)
egymsba ekvivalens mdon transzformlhatak.

Tervezs: a vals rendszerek felptshez klnbz modellek


szksgesek. Egy vals modellt implementlhatunk a szmtgppel
segtett (CAD tool) tervez rendszerrel: a struktrjt felptjk, ill.
viselkedst (behaviour) is tudjuk szimullni.
Folyamatok:
Tervezs (CAD): informci-feldolgoz folyamat:
Gyrts (CAM):
Tesztels v. Verifikci (CAE) :
18
HLS: High Level Synthesis
HLS clja:
tervezs automatizlsnak (EDA) vizsglata kombincis- s, sorrendi
digitlis hlzatok (KH, SH) esetn, mghozz a logikai (Boole-algebrai)
szint feletti hierarchia szinten definilt gyakorlati krnyezetben,
Rendszer megvalstsa gyorsan, akr komplex rendszerek szintzisre
is (elfogadhat idben): rapid prototyping, time-to-market fogalmak,
Bemenete magas szint hardver ler nyelv (pl. konvencionlis VHDL,
vagy Verilog), amelynek segtsgvel a rendelkezsre ll
adatbzisok (DB tervezi alap ptelem knyvtrak) alapjn
elektromos ramkrket tervezhetnk pl. jrakonfigurlhat CPLD,
FPGA ramkrkn.

Magas szint szintzis f lpsei a fkuszban:


Tervezs-temezs (SCHEDULING)
Erforrs foglals / feladat feloszts - (ALLOCATION)
Kttt algoritmusok (BINDING algorithms) megktsek (constraints)

19
Ers korrelci:
Stlus Absztrakci Formalizmus

Lers
Formalizmus Tervezs
(pl. VHDL)
Ab

s
sz

lu
t
tra

S
kc
i

Technolgia

20
1. Stlus

Komplex feladat egyszerbb, kezelhet


rszfeladatokra bontsa
Szisztematikus
rthet mdszerek kellenek
Pl: programozsi stlusok (Top-down, strukturlt)

J stlus kialaktsnak szablyai:


Top-down/Bottom-up mdszer szerinti tervezs
Csak kiforrott, biztos technikkat szabad alkalmazni
Fontos a dokumentls!
Stlushoz soroljuk a tervezs menett (design-flow)
21
Xilinx Vivado Design Flow

22
2. Absztrakci

Digitlis tervezs elvi-fogalmi szintje


Kezdeti absztrakci a tervezs sorn meghatroz,
kritikus pont!
1. koncepcionlis modell (elvi elgondols)
2. megvalsthat, realizlhat modell (HW)
Magas-szint absztrakci elvi modell
szintenknti finomtsa s felptse

23
Absztrakcis szintek

Rendszer szint (legfelsbb szint)


Algoritmikus szint
Funkcionlis szint (pl. multiplexer, dekder, ALU
stb.) RTL szint (VHDL, Verilog stb.)
Logikai szint (kapuk Boole algebra)
Fizikai ramkr szint (tranzisztor szint)
ersen gyrts-technolgia fgg pl. deep submicron
technology)

24
3. Formalizmus

A rendszer viselkedsnek lersra szolgl (HDL)


Szisztematikus szablyok s eljrsok
Minden absztrakcis szinten fontos a hasznlatuk
Pl: alapvet formalizmus a Boole-algebra (binris logika elmlete)
de csak alsbb szinteken hasznlhat

(felsbb-, rendszer-szint) (alsbb-, ramkri szint)


Absztrakci Boole algebra
(konkretizls)

25
VHDL-rl rviden
VHDL = VHSIC HDL (Very High Speed Integrated Circuit
Hardware Description Language) nev nyelv a 80-as
vek kzepn alakult ki, melyet azta nemzetkzi
szabvnynak is elfogadtak (IEEE-1076 1987 s ANSI
1989).
biztostja az egyes rtegnek megfelelen egy szabvnyos
nyelven a hardver lerst,
a magasabb szinteken az ember szmra is ttekinthetv
teszi a hardver dokumentcijt,
az als szinteken lehetv teszi a tervek tadst a gyrts
CAD/CAM rendszerei fel,
biztostja a hardver szimulcis ellenrzst (verifikcit).

26
VHDL
A VHDL nyelv hardver lers leginkbb egy emberi nyelvhez
kzel ll, magas szint programnyelvhez hasonlthat. A VHDL
hardver ler nyelv hrom alapegysge
architektra (architecture): HW egysg funkcija s szerkezete
interfsz (entity): HW egysgek kztti kommunikci (protokoll)
jellemzi
konfigurci (configuration): architektrk s interfszek egymshoz
rendelse
ENTITY or_gate IS
PORT (a, b: IN bit; y: OUT bit)
END or_gate
ARCHITECTURE viselkedes OF or_gate IS
BEGIN
y <= a OR b
END viselkedes
CONFIGURATION or2_konfig OF or_gate IS
FOR viselkedes
END FOR
END or2_konfig
27
HLS sorn hasznlt algoritmusok
1.) In core modell szintzis: a bemeneti magas-szint nyelvbl grf-reprezentcit llthat el, amely a vezrlst s az
adatokat kln-kln kezeli. (Lsd CFG vs. DFG).

2.) Adatfolyam analzis. Ez a mdszer hatrozza meg a vltozk rtknek lettartamt, amelyeket sokszor hasznlunk a
magas-szint fordtnl, tovbb meghatrozza rendeltetsszer viselkedst (vltozk kirtkelse). Allokci s
temezs (scheduling) sorn is hasznljuk.

3.) A lehet leggyorsabb SCHEDULING / temezs (ASAP): a gyors vgrehajts elrshez minimalizlja a lehetsges
tvonalak szmt (azaz minimalizlja az utastsokban szerepl ciklusok szmt). Optimalizlja az utak hosszt, amely
az egyes vezrlsi lpsek szmt jelenti. Az FSM (vges llapot gp) ksztsekor a CFG-t krmentess teszi a
visszacsatolsok elhagysval. Lehetnek feltteles elgazsok. Az utak szma a csompontok szmnak nvelsvel
exponencilisan n.

4.) Modul hozzrendels (MAP): A modul hozzrendelsi problma akkor lp fel, amikor a mveleteket tbbfajta
funkcionlis egysggel (FU: Functional Unit) kell megvalstani, mivel ez a hozzrendels vlasztja ki a megfelel FU-t az
adott utasts elvgzshez.

5.) Kezdeti (internal based) ALLOKCI: a teljes kezd adatt (data-path) lv blokkok generlsa (lefoglalsa), majd
optimalizlsa - Place and Route

6.) Ksleltets s mret becslse: logikai minimalizls (vezrljelek szmnak cskkentse, ha lehetsges), ill. kimenetek
generlsa
28
SYNTHESIS IN-CORE MODEL
Magas-szint nyelvbl grf reprezentci
a.) Vezrls folyam grf (CFG)
b.) Adatfolyam grf (DFG)
A kt grf-reprezentci kztt az egyes
llapotokban lehetnek csatolsok, linkek is.

29
a.) CFG: Control Flow Graph
Irnytott grf, CFG=(N,P)
Cscsok halmaza (N):
hozzrendels,
sszeads,
logikai mveletek, stb.
lek halmaza (P):
Precedencia relcik,
egymst kvet utastsok
sszefgg grf (nem aciklikus!)
30
a.) CFG (folyt.)
Sorozat, szekvencia: egy l (n1,n2)P azt jelenti,
hogy n2 kvetkezik n1 vgrehajtsa utn
Feltteles vgrehajts (branch, if): egy mvelet
utn egy msik mvelet, ha a felttel teljesl.
A felttel Boolean kifejezs, melynek rtke 1, akkor
vgrehajtdik, klnben 0.
Iterci (loop): Ciklusok, amelyek a folyamat
iteratv viselkedst jelzik

31
b.) DFG: Data Flow Graph
Irnytott grf, DFG=(N U V,D)
Cscsok halmaza:
N: utastsok
V: vltozk
lek halmaza (D):
Adatkapcsolatok
Fontos: nem felttlenl sszefgg grf, azaz a DFG-
nl az egyes mveletek lehetnek brzolva gy is,
hogy nincs kzttk kapcsoldsi pont (nem hzdik
l), teht rszekre lehet bontani.

32
Csak a
hozzrendelsi utastsok megszmozsa (begin-end

Plda #1: CFG vs. DFG


rszen) szksges.
Process-en belli rszek sorrendben (egyms utn
hajtdnak vgre)
VHDL lers:

33
Plda #2: VHDL CFG, DFG
architecture behavioral of MODULE is
begin
p1: process(a, b, cin) Csak az
Utastsok
variable vsum : std_logic_vector(3 downto 0); megszmozsa!
variable carry : std_logic;
begin
carry := cin; --1
for i in 0 to 3 loop --2
vsum(i) := (a(i) xor b(i)) xor carry; --3
carry := (a(i) and b(i)) or (carry and (a(i) or b(i))); --4
end loop; --5
sum <= vsum; --6
cout <= carry; --7
end process p1;

end behavioral;

Megj. Ez egy 4-bites RCA (4 Full Adder sorba kapcsolst 0..3-ig) valstja meg!
34
Megolds #2: VHDL CFG, DFG

35
Plda #3: VHDL CFG
Csak az
Utastsok
-- behavioral implementation of the LED_proc megszmozsa!
architecture behavioral of LED is
begin
LED_PROC: process (Bus2IP_Clk) is
begin
if Bus2IP_Clk'event and Bus2IP_Clk='1' then --1
if Bus2IP_Reset='1' then --2
LED_i<="0000"; --3
else --4
if Bus2IP_WrCE(0)='1' then --5
LED_i<=Bus2IP_Data(0 to 3); --6
else --7
LED_i<=LED_i; --8
end if; --9
end if; --10
end if; --11
end process LED_PROC;
end behavioral;

36
Megolds #3: VHDL CFG
Bus2IP_Clk'event and
Bus2IP_Clk='1'
1
Bus2IP_Reset='1'
2

Bus2IP_Reset='1' 4 3

Bus2IP_WrCE(0)='1'
5
Bus2IP_WrCE(0)='1'
7 6

10

11
37
ttekints

IV. FPGA-K FEJLESZT KRNYEZETEI

38
Az FPGA-k lehetsges programozsi
nyelvei / fejleszt krnyezetei:
I.) Hagyomnyos HDL nyelvek (HDL FPGA szintzis):
VHDL,
Verilog HDL (System Verilog)
II.) C-alap nyelvek (C FPGA szintzis):
a.) Xilinx Vivado HLS/HLX, SDAccel, SDSoC, SDNet (software
defined)
b.) Altera SDK OpenCL, Altera HLS (2017)
Catapult-C, (rgen Mentor Graphics, ma Calypto)
Impulse-C, System-C, Mitrion-C, stb.
III) Modell alap nyelvek (modell FPGA szintzis):
a.) Matlab Simulink,
b.) NI LabView (FPGA Modul)
39
Hagyomnyos HDL nyelvek clja I.
Hardver modellezs (korbban dokumentci),
A nyelv elemkszlet jelents rsze,
csak a hardver funkcik modellezsre ill. PC-n trtn
szimulcira hasznlhat, ill.
A nyelvi elemkszlet bvebb tartomnya
Szintzisre s implementcira is hasznlhat
(FPGA-n futtathat), azonban
Szintetizlhat rszhalmaz szintzis eszkz fgg (pl: XST = Xilinx
Synthesis Tool), primitvek alkalmazsa rvn
Kapuszint modulokbl ptkez, kapcsolsi rajzon alapul
tervezsi mdszerek levltsa,
RTL (Register-Transfer Level) szint lers: VHDL, Verilog
Automatikus hardver szintzis a lersbl,
Tervezi hatkonysg nvelse.

40
HDL nyelvek II.
Alapveten modulris s egyben hierarchikus
felpts tervezst tesz lehetv
HDL modul = entits / modul
Be-, kimenetek, illetve ktirny port-ok definilsa
Be-, kimenetek kztti logikai kapcsolatok s idztsek
definilsa
NEM szoftver!!
Nem utastsok sorozatra hanem HW erforrsokra
kpzdik le
Alapveten idben prhuzamos, konkurens
mkdst r le (gondoljunk az FPGA nagyszm,
prhuzamosan elrhet blokkjainak felptsre)
Ha kln definiljuk egy eljrsban (process, always),
lv utastsokat fogja csak szekvencilisan vgrehajtani!
41
HDL nyelvek gyengesgei
HDL nyelveken trtn fejleszts a hagyomnyos szo_ver
fejlesztshez viszonytva tovbbra is idignyes,
Sok SW fejleszt rendelkezik C/C++ ismerettel, azonban
kevesen HDL tapasztalattal, amely a hasznlatnak egyik f
korltja lehet.

ppen ezrt szlettek meg napjainkra a magas-szint C


szintaktikt kvet nyelvek, valamint a Modell-alap
nyelvek:
+ Gyorsabb prototpus fejleszts, szimulci/verifikci
+ HW(FW) / SW egyttes tervezs, szimulci s
verifikci
42
Altera vs. Xilinx fejleszt krnyezetek
Altera
Quartus II: integrlt fejleszt krnyezet (HW/FW fejleszts hagyomnyos
HDL-alapon)
Qsys: modularizlt, hierarchikus begyazott rendszer fejleszts
EDS: begyazott SW fejleszts (Eclipse)
NiosII EDS: soft-core, illetve EDS-SOC DS5: ARM hard-core proc. tmogats
Modelsim: professzionlis HDL szimulcis krnyezet
Altera SDK OpenCL (2013-): C/C++ alap
Altera HLS: beta (2017?)
Xilinx
Vivado Design Suite: hagyomnyos HDL alap krnyezet
ISE Design Suite: integrlt fejleszt krnyezet (HW/FW)
ModelSim, vagy ISim: szimulcis krnyezetek
EDK: begyazott rendszer fejleszt krnyezet
SDK: begyazott SW fejleszt krny. (Eclipse)
Vivado HLS/HLx: C/C++ alap rendszerfejleszts
SDAccel, SDSoC, SDNet (2015-)
43
I. a. Xilinx Vivado / HLS fejleszt krnyezet

44
I. b. Altera SDK for OpenCL

45
III. a.) Matlab - Simulink
Xilinx System Generator for DSP:
digitlis jelfeldolgoz
fggvnyek gyjtemnye

Mcode: Matlab-Code (.m nyelven


rhat egyedi modul, amely bepthet
akr a Simulink blokkok kz

46
III. b.) LabView FPGA modul

3->8 dekder

47

47
Rvid ltalnos ismertets

V. XILINX VIVADO DESIGN SUITE


(2015.2)

48
Xilinx Vivado Design Suite 2015.2
Laborokon a Xilinx Vivado Design Suite 2015.2 (illetve ISE Design Suite
14.7) integrlt keretrendszert hasznljuk!
* Vivado: integrlt fejleszt krnyezet, amelybl ms program
modulok indthatk, mint pl:
IP Integrator IP magok paramterezse
Source Editor: forrskd szerkeszt

* Vivado Simulator: integrlt szimultor
Vivado (EDK + SDK) Begyazott rendszer firmware + szoftver
egyttes fejleszt krnyezete
Timing Analyzer Idztsi analiztor
FPGA Editor (chip layout, floorplan)
* Hardware manager Bitstream (FPGA konfigurci) letlt
program
ChipScope: logikai analiztor
* Kvetkez eladsokon rszletesen trgyaljuk s labor gyakorlatokon hasznljuk

49
FPGA konfigurlhatsgnak lehetsgei
Az FPGA konfigurlsra hrom lehetsg is
addik:
1.) Digilent Adept Suite hasznlata,
2.) Xilinx ISE 14.7 fejleszt krnyezet beptett
Xilinx iMPACT eszkznek hasznlata:
Digilent Plug-in modulja bepl a Xilinx ISE Design Suite
keretrendszerbe, s kzvetlenl az ISE, EDK, vagy akr
ChipScope futtatsakor elrhetv teszi az iMPACT
hasznlatt (korbban csak Adept Suite)
3.) Xilinx Vivado 2015.2 krnyezetbe bepl
Hardware Manager hasznlata.
Mi ezt hasznljuk!
50
1.) Digilent: Adept Suite
Adept Suite alkalmazs egy PC-n fut interfsz a programozhat
Digilent FPGA krtykhoz (pl. Atlys, Nexys-2, ZYBO, stb.).
Biztostja az on-board FPGA eszkzk konfigurlhatsgt,
adatok fel-/letltst (USB-n keresztl), I/O perifrik
funkciinak bvtst, valamint bizonyos krtyk esetn a
beptett ntesztek futtatst (krtya verifikci) is.
Tovbbi funkcik:
JTAG lnc, v. BSCAN (Boundary Scan) lnc keresse, inicializlsa
(konfigurci letltse eltt szksges lps),
Xilinx CPLD-k, FPGA-k, s PROM-ok programozsa a megfelel
konfigurcis formtumban,
Xilinx FPGA (Virtex, Spartan csaldok) s CPLD: .bit
XCFS (Xilinx Platform Flash) PROM: .bit vagy .mcs
Adattvitel az FPGA s PC kztt (specifikus regiszterek rsa, olvassa),
adatfolyam (stream) rsa-olvassa (nem hasznljuk).
51
Felhasznlt irodalom
Digilent - Adept Suite (2.16.4):
https://reference.digilentinc.com/reference/software/adept/start?redirect=1id=digilent_adept_2

Programok Digilent Adept Adept Applicahon


User's Manual.pdf
Digilent Plug-in:
http://store.digilentinc.com/digilent-plugin-for-xilinx-tools-download-only/

52
Digilent Adept szoftver hasznlata
Programok Digilent
Adept Suite 1
FPGA krtya
bekapcsolsa utn
megbizonyosodni, hogy
az Adept Suite
felismerte 3

JTAG (IEEE 1149.1)


lnc inicializlsa (ARM
DAP + FPGA)
FPGA konfigurcis 2
bitfile (projekt_neve.bit)
megkeresse s
felprogramozsa

53
JTAG kapcsolat
FTDI USB-UART chip drivernek teleptse (ha szksges)
USB mini kbel csatlakoztatsa a PROG-UART jel JTAG USB portra (JP5
jumper JTAG llsban van)
a Digilent ZyBo krtya bekapcsolsa
(Megj: a Xilinx Platform-USB-programoz is hasznlhat lenne)

ZyBo Xilinx USB


programming cable

VCC3V3 piros VREF (6)


GND fekete GND (5)
TCK-JTAG srga TCK (4)
TDO-FX2 lila TDO (3)
TDI-JTAG fehr TDI (2)
TMS-JTAG zld TMS (1)

54
2.) Xilinx ISE iMPACT programoz
Programok -> Xilinx ISE Design Tools -> iMPACT
A detektlt JTAG lncnak kt eleme van (de krtynknt vltozhat!)
ARM_DAP: Debug Access Port
SPI/QSPI interfsz mgtt Flash memria van: mrete min. akkora,
hogy belefrjen az FPGA konfigurci, s esetleg a Linux bootolshoz
szksges fileok is
FPGA (pontosabban APSoC): xc7z010 = Xilinx Zynq 7010.

55
3.) Xilinx Vivado Hardware Manager
Programok -> Xilinx Design Tools -> Vivado 2015.2
Flow -> Hardware Manager (Auto Connect)
a JTAG lnc kt elembl ll: (gyrtnknt vltozhat!)
ARM_DAP: Debug Access Port
FPGA (pontosabban APSoC): xc7z010 = Xilinx Zynq 7010.

56

S-ar putea să vă placă și