OpenCLrako FPGA SDK
Erabiltzailearen Gida
UG-OCL009
2017.05.08
Intel® Quartus® Prime Design Suite-rako azken eguneratzea: 17.0
Harpidetu
Bidali Iritzia
Intel® FPGA SDK OpenCL™-rako Intel® Cyclone®V SoC garapen-kitaren erreferentzia-plataformaren porturatzeko gida
V SoC Development Kit Reference Platform Porting Guide Intel Cyclone V SoC Development Kit Reference Platform (c5soc) hardware eta software diseinua deskribatzen du OpenCL-rako Intel Software Development Kit (SDK)rekin erabiltzeko Intel ® FPGA SDK OpenCL ™ Intel Cyclone ® . Hasi baino lehen, Intel-ek gomendatzen du ondoko dokumentuen edukia ezagutzea:
- Intel FPGA SDK OpenCLIntel Cyclone V SoCrako Hasierako gida
- Intel FPGA SDK for OpenCL Custom Platform Toolkit erabiltzailearen gida
- Cyclone V gailuen eskuliburua, 3. liburukia: prozesadore gogorraren sistemaren erreferentzia teknikoaren eskuliburua Horrez gain, ikusi Cyclone V SoC Garapen Kita eta SoC Embedded Design Suite orrira Altera. webgunea informazio gehiago lortzeko. 1 2
Arreta: Intel-ek suposatzen du Intel FPGA SDK for OpenCL Custom Platform Toolkit erabiltzailearen gida sakonki ulertzen duzula. Cyclone V SoC Garapen Kitaren Erreferentzia Plataformaren Porting Gidak ez du SDK-ren Custom Platform Toolkit-aren erabilera deskribatzen Cyclone V SoC Garapen Kitrako Plataforma pertsonalizatua ezartzeko. Cyclone V SoC garapen kitaren SDK euskarriaren eta OpenCL plataforma pertsonalizaturako Intel FPGA SDK generiko baten arteko desberdintasunak soilik deskribatzen ditu.
Erlazionatutako Estekak
- OpenCL Cyclone V SoC-rako Intel FPGA SDK Hasierako gida
- Intel FPGA SDK for OpenCL Custom Platform Toolkit erabiltzailearen gida
- Cyclone V gailuen eskuliburua, 3. liburukia: prozesadore gogorraren sistemaren erreferentzia-eskuliburu teknikoa
- Cyclone V SoC Garapen Kit eta SoC Embedded Design Suite orria Altera-n webgunea
- OpenCL eta OpenCL logotipoa Apple Inc.-ren marka erregistratuak dira, Khronos Group™-ren baimenarekin erabiltzen direnak.
- OpenCL-rako Intel FPGA SDK argitaratutako Khronos zehaztapen batean oinarritzen da, eta Khronos-en adostasun-probaren prozesua gainditu du. Uneko adostasun-egoera helbidean aurki daiteke www.khronos.org/conformance.
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus eta Stratix hitzak eta logotipoak Intel Corporation-en edo bere filialen marka komertzialak dira AEBetan eta/edo beste herrialde batzuetan. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik.
*Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
1.1.1 Cyclone V SoC garapen-kitaren erreferentzia-plataforma-plaken aldaerak
Intel FPGA SDK OpenCL Cyclone V SoC Development Kit Reference Platform-ek bi plaka aldaera ditu.
- c5soc taula
Lehenetsitako plaka honek bi DDR memoria bankurako sarbidea ematen du. HPS DDRa bai FPGA eta bai CPUren bidez eskuragarri dago. FPGA DDR FPGAk bakarrik eskura dezake. - c5soc_sharedonbakarrik taula
Plaken aldaera honek HPS DDR konektibitatea soilik dauka. FPGA DDR ez dago eskuragarri. Plaka aldaera hau eremu eraginkorragoa da hardware gutxiago behar delako DDR memoria banku bat onartzeko. c5soc_sharedonly plaka DDR memoria-banku bakarra duen azken ekoizpen-taula baterako prototipo-plataforma ona da.
Zure OpenCL nukleoa konpilatzean taularen aldaera hau bideratzeko, sartu -board c5soc_sharedonly aukera zure aoc komandoan.
– Arbelari buruzko informazio gehiago lortzeko aoc komandoaren aukera, ikusi OpenCL programaziorako Intel FPGA SDK-ra.
Erlazionatutako Estekak
Kernel bat konpilatzea FPGA plaka espezifiko baterako (–board )
1.1.2 Cyclone V SoC Garapen Kitaren Erreferentzia Plataformaren edukia
Cyclone V SoC Garapen Kitaren Erreferentzia Plataforma honako hauek osatzen dute files eta direktorioa:
File edo Direktorioa | Deskribapena |
board_env.xml | Markatze-lengoaia hedagarria (XML) file horrek c5soc deskribatzen du OpenCL-rako Intel FPGA SDK-ra. |
linux_sd_card_image.tgz | SD flash txartelaren irudi konprimitua file SDK erabiltzaile batek Cyclone V SoC Garapen Kita SDK-rekin erabiltzeko behar duen guztia dauka. |
besoa32 | Honako hauek dituen direktorioa: |
1.1.3 Cyclone V SoC garapen kitaren ezaugarri garrantzitsuak
Ondorengo zerrendak Cyclone V SoC Garapen Kitaren osagaiak eta funtzioak nabarmentzen ditu OpenCL-rako Intel FPGA SDK-rako garrantzitsuak diren:
- Dual-core ARM Cortex-A9 CPU 32 biteko Linux exekutatzen du.
- Interfaze Extensible Aurreratua (AXI) bus HPS eta FPGA core ehunaren artean.
- Bi DDR memoria kontrolagailu gogortu, bakoitza 1 gigabyte (GB) DDR3 SDRAM batera konektatzen dena.
— DDR kontrolagailu bat FPGA nukleorako bakarrik dago eskuragarri (hau da, FPGA DDR).
— Beste DDR kontrolagailua HPS zein FPGArako (hau da, HPS DDR) eskuragarri dago. Partekatutako kontrolagailu honek PUZaren eta FPGA nukleoaren artean doako memoria partekatzea ahalbidetzen du. - CPUak FPGA core ehuna birkonfigura dezake.
1.1.3.1 Cyclone V SoC Garapen Kitaren Erreferentzia Plataforma Diseinuaren helburuak eta erabakiak Intelek Cyclone V SoC Garapen Kitaren Erreferentzia Plataformaren ezarpena hainbat diseinu helburu eta erabakitan oinarritzen du. Intelek gomendatzen du helburu eta erabaki hauek kontuan hartzea Erreferentzia-plataforma hau zure SoC FPGA plaka eramaten duzunean.
Jarraian, c5soc diseinuaren helburuak daude:
- Eman ahalik eta banda-zabalera handiena FPGAn eta DDR memoria-sisteman nukleoen artean.
- Ziurtatu FPGAko kalkuluek (hau da, OpenCL nukleoak) ez dutela oztopatzen periferikoen zerbitzu-zerbitzua izan dezaketen PUZaren beste zereginekin.
- Utzi ahalik eta FPGA baliabide gehien nukleoaren kalkuluetarako, interfazearen osagaien ordez.
Jarraian, Intel-en diseinu-helburuen ondorio zuzenak diren goi-mailako diseinu-erabakiak daude:
- Erreferentzia-plataformak konfiguraziorik zabalena duten DDR memoria kontrolagailu gogorrak soilik erabiltzen ditu (256 bit).
- FPGA HPS DDR memoria kontrolagailuarekin zuzenean komunikatzen da, AXI busa eta L3 etengailua HPS barruan sartu gabe. Komunikazio zuzenak DDR-ri ahalik eta banda zabalera onena ematen dio, eta FPGA konputazioak PUZaren eta bere periferiaren arteko komunikazioak oztopatzen ditu.
- Scatter-gather zuzeneko memoria sarbidea (SG-DMA) ez da FPGA interfazearen logikaren parte. DDR memoria sistemen artean datu kopuru handiak transferitu ordez, gorde datuak partekatutako HPS DDR-n. FPGAk CPU memoriarako sarbide zuzena DMA baino eraginkorragoa da. Hardware baliabideak aurrezten ditu (hau da, FPGA eremua) eta Linux kernel kontrolatzailea errazten du.
Abisua: Partekatutako HPS DDR sistemaren eta FPGArako soilik eskura daitekeen DDR sistemaren arteko memoria transferentzia oso motela da. Aukeratzen baduzu
transferitu memoria modu honetan, erabili datu kopuru txikietarako soilik. - Ostalariak eta gailuak elkarren artean DMA ez-datuen transferentzia egiten dute HPS-to-FPGA (H2F) zubiaren bidez, 32 biteko ataka bakarra erabiliz. Arrazoia da, DMArik gabe, Linux nukleoak 32 biteko irakurtzeko edo idazteko eskaera bakarra igorri dezakeela, beraz, ez da beharrezkoa konexio zabalagoa izatea.
- Ostalariak kontrol-seinaleak bidaltzen dizkio gailura H2F (LH2F) zubi arin baten bidez.
Ostalaritik gailurako kontrol-seinaleak banda zabalera baxuko seinaleak direnez, LH2F zubi bat aproposa da zeregin horretarako.
1.2 Erreferentzia plataforma zure SoC FPGA plaka eraman
Cyclone V SoC Development Kit Reference Platform zure SoC FPGA plakara eramateko, egin zeregin hauek:
- Hautatu C5soc Reference Platform-en DDR memoria bakarra edo bi DDR memoriaren bertsioa zure diseinuaren abiapuntu gisa.
- Eguneratu pin-kokapenak ALTERAOCLSDKROOT/board/c5soc/-n /top.qsf file, non ALTERAOCLSDKROOT OpenCL instalaziorako Intel FPGA SDK-ren kokapenaren bidea den eta taularen aldaeraren direktorioa izena da. c5soc_sharedonly direktorioa DDR memoria sistema bakarra duen plaka aldaerarako da. c5soc direktorioa bi DDR memoria sistema dituen plaka aldaerarako da.
- Eguneratu DDR ezarpenak HPS eta/edo FPGA SDRAM blokeen ALTERAOCLSDKROOT/board/c5soc/-n /system.qsys file.
4. OpenCL hobetsitako plaken diseinuetarako Intel FPGA SDK guztiek denboraren itxiera bermatua lortu behar dute. Horrela, diseinuaren kokapenak denbora garbia izan behar du. c5soc plakaren partizioa (acl_iface_partition.qxp) zure SoC FPGA plaka eramateko, egin zeregin hauek:
Taularen partizioa aldatzeari eta kontserbatzeari buruzko argibide zehatzak lortzeko, ikusi Quartus-era
Quartus Prime Standard Edition Eskuliburuko Prime Incremental Compilation for Hierarkically and Team-Based Design kapitulua.
a. Kendu acl_iface_partition.qxp ALTERAOCLSDKROOT/board/c5soc/c5soc direktoriotik.
b. Gaitu acl_iface_region LogicLock™ eskualdea Tcl komandoa aldatuz set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
c. Konpilatu OpenCL kernel bat zure arbelerako.
d. Beharrezkoa bada, egokitu LogicLock eskualdearen tamaina eta kokapena.
e. Zure diseinuaren kokapena denboraz garbi dagoela ziur zaudenean, esportatu partizio hori acl_iface_partition.qxp Quartus Prime Exported Partition gisa File.
AIntel FPGA SDK for OpenCL Custom Platform Toolkit erabiltzailearen gidaliburuan deskribatzen den bezala, .qxp hau inportatuz. file goi-mailako diseinuan, plaka baten diseinua denboraren itxiera-fluxua bermatuta eskaintzeko eskakizuna betetzen duzu.
Esportatutako partizioaren emaitzen kalitatean (QoR) eragina izan dezaketen faktoreak ikusteko, ikusi Exported Board Partition atalaren emaitzen kalitatearen gogoeta orokorrak Intel FPGA SDK for OpenCL Custom Platform Toolkit erabiltzailearen gidan.
f. Desgaitu acl_iface_region LogicLock eskualdea 2. urratseko komandoa itzuliz set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region. - Zure SoC FPGA plakak HPS blokearen pin eta periferia desberdinak erabiltzen baditu, birsortu aurrekargatzailea eta gailuaren zuhaitz-iturria (DTS) file. HPS DDR memoria kontrolagailuaren ezarpenak aldatzen badituzu, birsortu aurrekargagailua.
- Sortu SD flash txartelaren irudia.
- Sortu zure plataforma pertsonalizatua, SD flash txartelaren irudia barne.
- Demagun zure plataforma pertsonalizatuaren exekuzio-ingurunearen bertsio bat sortzea OpenCL-rako Intel FPGA Runtime Environment (RTE)rekin erabiltzeko. Zure plataforma pertsonalizatuaren RTE bertsioak ez ditu hardware-direktorioak eta SD flash txartelaren irudia barne hartzen. Plataforma pertsonalizatu hau SoC FPGA sisteman kargatzen da ostalari aplikazioak exekutatu ahal izateko. Aitzitik, Plataforma pertsonalizatuaren SDK bertsioa beharrezkoa da SDK OpenCL nukleoak konpilatzeko.
Aholkua: zure plataforma pertsonalizatuaren SDK bertsioa erabil dezakezu RTErako. Gorde
espazioa, kendu SD flash txartelaren irudia zure plataforma pertsonalizatuaren RTE bertsiotik. - Probatu zure plataforma pertsonalizatua.
Ikusi Intel FPGA SDK for OpenCL Custom Platform Toolkit erabiltzailearen gidaliburuko Hardware Diseinua probatzen atala informazio gehiago lortzeko.
Erlazionatutako Estekak
- Hardwarearen diseinua probatzea
- Quartus Prime Diseinu Hierarkikoa eta Taldean Oinarritutako Diseinu Inkrementalerako
- Bermatutako Denbora Fluxua ezartzea
- Esportatutako Taularen Partizioaren Emaitzen Kalitate Orokorrak
1.2.1 Ported Reference Platform eguneratzea
Cyclone V SoC Development Kit Reference Platform-en egungo bertsioan, HPS blokea nukleoa ez den logika guztia definitzen duen partizioaren barruan dago. Hala ere, ezin duzu HPS esportatu .qxp-aren zati gisa file. C5soc-en aurreko bertsio batetik aldatu duzun plataforma pertsonalizatu bat eguneratzeko, inplementatu QXP kontserbazio-fluxua, eguneratu SD flash txartelaren irudia azken exekuzio-ingurunea lortzeko eta eguneratu board_spec.xml. file automigrazioa ahalbidetzeko.
OpenCL 14.1 bertsiorako Altera® SDK-ak eta ondorengoak aztertzen ditu board_spec.xml file taularen informazioa lortzeko, eta eguneratze automatikoak ezartzen ditu. Aldatzen duzulako
diseinatu QXP kontserbazio-fluxua ezarriz, board_spec.xml eguneratu behar duzu file egungo bertsioan duen formatura. Eguneratzen file SDK-k kontserbatu gabeko plataforma pertsonalizatuak eta QXP-n oinarritutako plataforma pertsonalizatuak bereizten ditu. Ikusi Aurrerako bateragarritasunerako plataforma pertsonalizatuaren automigrazioa atala Intel FPGA SDK for OpenCL Custom Platform Toolkit erabiltzailearen gidan informazio gehiago lortzeko.
- QXP kontserbazio-fluxua Cyclone V SoC FPGA hardware-diseinu batean ezartzeko, c5soc-en aurreko bertsio batetik eramandakoa, egin urrats hauek HPS .qxp-etik kanpo uzteko azpipartizioa sortzeko. file:
a. Nukleoa ez den logikaren inguruko partizio bat sortu aurretik, sortu HPS inguruan partizio bat .qsf Quartus Prime ezarpenetan File.
Adibidezample:
# Eskuz partizionatu HPS-k eskainitako I/O set_instance_assignment modelatzen duen instantzia -name PARTITION_HIERARCHY borde_18261 -para "system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_hps___: system_acl_iface_hps_0_hps_io_border:ertza" -section_id "system_acl_iface_hps_0_hps_io_border:ertza"
# Ezarri partizioa HPS_PARTITION mota bat izan dadin, Quartus-en gainerakoek behar bezala prozesatzeko
set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id "system_acl_iface_hps_0_hps_io_border:border"
quartus_cdb goiko -c goiko
–incremental_compilation_export=acl_iface_partition.qxp
–incremental_compilation_export_partition_name=acl_iface_partition
–incremental_compilation_export_post_synth=aktibatuta
–incremental_compilation_export_post_fit=on
–incremental_compilation_export_routing=aktibatuta
–incremental_compilation_export_flatten=desaktibatuta
HPS partiziotik kanpo utzi ondoren, .qxp inporta dezakezu file eta osatu zure diseinua. - Eguneratu SD flash txartelaren irudia OpenCL-rako Intel FPGA RTE-ren uneko bertsioarekin zeregin hauek eginez:
a. Muntatu file esleipen-taula (fat32) eta hedatua file sistemaren (ext3) lehendik dagoen irudian partizioak loop-back gailu gisa. Argibide zehatzak lortzeko, ikusi SD Flash txartelaren irudia eraikitzeko 2. urratsa.
b. /home/root/opencl_arm32_rte direktorioan, kendu fileRTEren aurreko bertsioko s.
c. Deskargatu eta deskargatu RTEren uneko bertsioa /home/root/opencl_arm32_rte direktoriora.
d. urtean /gidaria/bertsioa.h file Zure plataforma pertsonalizatuaren, eguneratu ACL_DRIVER_VERSION esleipena . (adibidezample, 16.1.x, non 16.1 SDK bertsioa den eta x zuk ezarri duzun kontrolatzailearen bertsioa den).
e. Gidaria berreraiki.
f. Ezabatu zure plataforma pertsonalizatuaren hardware karpeta(k). Kopiatu Plataforma pertsonalizatua, eguneratutako kontrolatzailearekin batera, /home/root/opencl_arm_rte/board direktoriora.
g. Kopiatu Altera.icd file /home/root/opencl_arm32_rte direktoriotik eta gehitu /etc/OpenCL/vendors direktoriora.
h. Desmuntatu eta probatu irudi berria. Argibide zehatzak lortzeko, ikusi SD Flash txartelaren irudia eraikitzeko 8tik 11ra bitarteko urratsak.
Erlazionatutako Estekak
- SD Flash txartelaren irudia sortzea 14. orrialdean
SD flash txartelaren irudi berri bat sortzeko aukera ere baduzu. - Aurrerako bateragarritasunerako plataforma pertsonalizatutako automigrazioa
1.3 Memoria partekaturako software euskarria
FPGA eta CPUren artean partekatutako memoria fisikoa da SoC FPGAetan exekutatzen diren OpenCL nukleoetarako memoria hobetsia. FPGAk partekatutako memoria fisikoa atzitzen duelako, partekatutako memoria birtualaren aldean, ez du erabiltzaileen helbide birtualak orrialde fisikoen helbideekin mapatzen dituzten CPUaren orrialde-tauletarako sarbiderik.
Hardwareari dagokionez, OpenCL nukleoak partekatutako memoria fisikoa atzitzen dute, HPS DDR memoria gogorreko kontrolagailura zuzeneko konexioaren bidez. Softwareari dagokionez, partekatutako memoria fisikoaren laguntzak honako gogoeta hauek ditu:
- PUZan memoria esleitzeko software inplementazio tipikoak (adibidezample, malloc() funtzioak) ezin du FPGAk erabil dezakeen memoria-eskualderik esleitu.
Malloc() funtzioak esleitzen duen memoria memoria birtualeko helbide-espazioan ondokoa da, baina azpian dauden orrialde fisikoak nekez egongo dira fisikoki ondokoak. Horrela, ostalariak fisikoki ondoko memoria-eskualdeak esleitzeko gai izan behar du. Hala ere, gaitasun hori ez dago Linux-eko erabiltzaile-espazioko aplikazioetan. Hori dela eta, Linux kernel kontrolatzaileak esleipena egin behar du. - OpenCL SoC FPGA Linux kernel kontrolatzaileak mmap() funtzioa barne hartzen du partekatutako memoria fisikoa esleitzeko eta erabiltzailearen espaziora mapatzeko. mmap() funtzioak dma_alloc_coherent() Linux kernel estandarra erabiltzen du gailu batekin partekatzeko fisikoki ondoko memoria-eskualdeak eskatzeko.
- Linux nukleo lehenetsian, dma_alloc_coherent()ek ez du fisikoki ondoko memoria esleitzen 0.5 megabyte (MB) baino gehiagoko tamaina. dma_alloc_coherent()-k memoria fisikoki alboko kopuru handiak esleitu dezan, gaitu Linux nukleoaren ondoko memoria esleitzaile (CMA) funtzioa eta, ondoren, Linux nukleoa berriro konpilatu.
Cyclone V SoC Garapen Kitaren Erreferentzia Plataformarako, CMAk 512 MB kudeatzen ditu 1 GB memoria fisikotik. Balio hori handitu edo txikitu dezakezu, aplikazioak behar duen memoria partekatuaren arabera. Baliteke dma_alloc_coherent() deiak ezin izatea fisikoki ondoko memoriaren 512 MB osoa esleitu; hala ere, normalean 450 MB-ko memoria lor dezake gutxi gorabehera. - CPUak dma_alloc_coherent() deiak esleitzen duen memoria gorde dezake. Bereziki, ostalariaren aplikaziotik idazteko eragiketak ez dira ikusgai OpenCL nukleoentzat. OpenCL SoC FPGA Linux kernel kontrolatzailearen mmap() funtzioak pgprot_noncached() edo remap_pf_range() funtziorako deiak ere baditu, memoria-eskualde honen cachea esplizituki desgaitzeko.
- dma_alloc_coherent() funtzioak fisikoki ondoko memoria esleitu ondoren, mmap() funtzioak helbide birtuala barrutiaren hasierara itzultzen du, hau da, zuk esleitutako memoriaren helbide-tartea. Ostalari aplikazioak helbide birtual hau behar du memoriara sartzeko. Bestalde, OpenCL nukleoek helbide fisikoak behar dituzte. Linux kernel kontrolatzaileak helbide birtualaren eta fisikoaren maparen jarraipena egiten du. mmap()-ek benetako helbide fisikoetara itzultzen dituen helbide fisikoak mapa ditzakezu kontrolatzaileari kontsulta bat gehituta.
Aocl_mmd_shared_mem_alloc() MMD aplikazioen programazio interfazea (API) deiak honako kontsulta hauek ditu:
a. Memoria esleitu eta helbide birtuala itzultzen duen mmap() funtzioa.
b. Itzulitako helbide birtuala helbide fisikoarekin mapatzen duen kontsulta gehigarria.
Aocl_mmd_shared_mem_alloc() MMD API deiak gero bi helbide itzultzen ditu
—Itzulitako benetako helbidea helbide birtuala da, eta helbide fisikoa device_ptr_out-era doa.
Oharra: Gidariak mmap() funtzioak helbide fisikoetara itzultzen dituen helbide birtualak soilik mapa ditzake. Beste edozein erakusle birtual baten helbide fisikoa eskatzen baduzu, kontrolatzaileak NULL balio bat itzultzen du.
Abisua: OpenCL exekuzio-liburutegietarako Intel FPGA SDK-ek partekatutako memoria board_spec.xml-en zerrendatutako lehen memoria dela suposatzen du. file. Beste era batera esanda, Linux kernel kontrolatzaileak lortzen duen helbide fisikoa OpenCL kernelak HPS SDRAM-era pasatzen duen Avalon® helbidea bihurtzen da.
Exekutatzeko liburutegiari dagokionez, erabili clCreateBuffer() deia partekatutako memoria gailuen buffer gisa esleitzeko modu honetan:
- Memoria partekatua eta partekatua ez duen bi DDR plakaren aldaerarako, clCreateBuffer() memoria partekatua esleitzen du CL_MEM_USE_HOST_PTR bandera zehazten baduzu. Beste bandera batzuk erabiltzeak clCreateBuffer() memoria partekatu gabeko memorian buffer esleitzea eragiten du.
- Memoria partekatua soilik duen DDR plakaren aldaerarako, clCreateBuffer()-ek memoria partekatua esleitzen du zehazten duzun marka edozein dela ere.
Gaur egun, ARM CPU-n 32 biteko Linux-en euskarriek SDK-ren exekuzio-liburutegietan partekatutako memoria-laguntzaren neurria arautzen dute. Beste era batera esanda, beste ingurune batzuetara konpilatutako exekuzio-liburutegiak (adibidezample, x86_64 Linux edo 64 biteko Windows) ez dute partekatutako memoria onartzen.
C5soc-ek ez zuen memoria heterogeneorik ezarri memoria partekatua eta partekatua bereizteko, arrazoi hauengatik:
1. Historia—Memoria heterogeneoaren euskarria ez zegoen eskuragarri memoria partekatuaren euskarria jatorrian sortu zenean.
2. Interfaze uniformea—OpenCL estandar irekia denez, Intelek koherentzia mantentzen du plataforma informatiko heterogeneoen hornitzaileen artean. Hori dela eta, beste plaka-saltzaileen arkitekturaren interfaze bera erabiltzen da memoria partekatua esleitu eta erabiltzeko.
1.4 FPGA birkonfigurazioa
SoC FPGAetarako, CPUak FPGA core ehuna birkonfigura dezake CPUaren funtzionamendua eten gabe. HPS eta nukleo FPGAren gainean dauden FPGA Manager hardware blokeak birkonfigurazioa egiten du. Linux nukleoak FPGA kudeatzailean sarbide erraza ahalbidetzen duen kontrolatzailea dakar.
- To view FPGA nukleoaren egoera, deitu cat /sys/class/fpga/fpga0/ status komandoa.
Cyclone V SoC Development Kit Reference Platform-ekin eskuragarri dagoen Intel FPGA SDK-rako OpenCL programaren erabilgarritasuna interfaze hau erabiltzen du FPGA programatzeko. FPGA nukleo bat exekutatzen ari den CPU batekin birprogramatzean, programaren utilitateak zeregin hauek guztiak egiten ditu:
1. Birprogramatu aurretik, desgaitu FPGA eta HPSren arteko komunikazio-zubi guztiak, bai H2F bai LH2F zubiak.
Berriz gaitu zubi hauek birprogramazioa amaitu ondoren.
Kontuz: OpenCL sistemak ez du FPGA-to-HPS (F2H) zubia erabiltzen. Ikusi HPS-FPGA Interfaces atala Cyclone V Device Handbook, Volume 3: Hard Processor System Technical Reference Manual, informazio gehiago lortzeko.
2. Ziurtatu FPGA eta HPS DDR kontrolagailuaren arteko lotura desgaituta dagoela birprogramatzean.
3. Ziurtatu FPGAko etenaldiak desgaituta daudela birprogramatzean.
Gainera, jakinarazi gidariari birprogramazioan FPGAren etenaldiak baztertzeko.
Kontsultatu programaren utilitatearen iturburu-kodea benetako ezarpenari buruzko xehetasunak lortzeko.
Abisua: Ez aldatu HPS DDR kontrolagailuaren konfigurazioa CPUa martxan dagoenean.
Hori eginez gero, sistemaren errore larria sor liteke, PUZaren memoria-transakzio nabarmenak daudenean DDR kontroladorearen konfigurazioa alda dezakezulako. Horrek esan nahi du CPUa martxan dagoenean, agian ez duzula FPGA nukleoa berriro programatu HPS DDR beste konfigurazio batean erabiltzen duen irudi batekin.
Gogoratu OpenCL sistemak eta Intel SoC FPGA Embedded Design Suite (EDS)rekin eskuragarri dagoen Golden Hardware erreferentziazko diseinuak HPS DDR 256 biteko modu bakarrean ezartzen duela.
PUZaren sistemaren zatiek, hala nola, adar-iragarlea edo orrialde-taularen aurre-biltzaileak DDR komandoak eman ditzakete PUZan ezer exekutatzen ari ez dela dirudienean ere.
Hori dela eta, abio-denbora da HPS DDR kontrolagailuaren konfigurazioa ezartzeko denbora seguru bakarra.
Horrek ere esan nahi du U-boot-ek bitar gordina izan behar duela file (.rbf) memorian kargatzeko irudia. Bestela, baliteke HPS DDRa FPGAn erabiltzen ez diren atakekin gaitu eta gero ataka-konfigurazioak aldatzea. Hori dela eta, OpenCL Linux nukleoaren kontrolatzaileak ez du HPS DDR kontrolagailuaren konfigurazioa ezartzeko beharrezkoa den logikarik sartzen.
SW3 lineako pakete bikoitzak (DIP) etengailuak Cylone V SoC Garapen Kit-en kontrolatzen du .rbf irudiaren espero den forma (hau da, file konprimituta eta/edo enkriptatuta dago). C5soc-ek eta SoC EDS-rekin eskuragarri dagoen Golden Hardware Reference Design-ek .rbf irudi konprimituak baina zifratu gabeak biltzen dituzte. OpenCL Cyclone V SoC Hasierako Gidarako Intel FPGA SDK-n deskribatutako SW3 DIP etengailuaren ezarpenak bat datoz .rbf irudiaren konfigurazio honekin.
Erlazionatutako Estekak
- HPS-FPGA Interfazeak
- SW3 etengailuak konfiguratzea
1.4.1 FPGA Sistemaren Arkitektura Xehetasunak
Cyclone V SoC Development Kit Reference Platform-en laguntza Stratix® V Reference Platform (s5_ref) oinarritzen da, OpenCL-rako Intel FPGA SDK-rekin eskuragarri.
c5soc Qsys sistemaren antolaketa orokorra eta nukleoaren kontrolatzailea s5_ref-en oso antzekoak dira.
FPGA oinarrizko osagai hauek berdinak dira c5soc eta s5_ref-en:
- VERSION_ID blokea
- Atseden-mekanismoa
- Memoria banku banatzailea
- Cache Snoop interfazea
- Kernelaren erlojua
- Kontrol erregistrorako sarbidea (CRA) blokeak
1.5 SD Flash Txartelaren irudia eraikitzea
Cyclone V SoC FPGA txip bateko sistema osoa denez, sistemaren definizio osoa emateaz arduratzen zara. Intel-ek gomendatzen du SD flash txartelaren irudi moduan entregatzea. OpenCL erabiltzaileentzako Intel FPGA SDK-ak irudia mikro SD flash txartelean idatz dezake eta SoC FPGA plaka erabiltzeko prest dago.
Lehendik dagoen SD Flash txartelaren irudia aldatzea 13. orrialdean
Intelek gomendatzen du Cyclone V SoC Development Kit Reference Platform-ekin eskuragarri dagoen irudia aldatzea. SD flash txartelaren irudi berri bat sortzeko aukera ere baduzu.
SD Flash txartelaren irudia sortzea 14. orrialdean
SD flash txartelaren irudi berri bat sortzeko aukera ere baduzu.
1.5.1 Lehendik dagoen SD Flash txartelaren irudia aldatzea
Intelek gomendatzen du Cyclone V SoC-rekin erabilgarri dagoen irudia aldatzea
Garapen Kit Erreferentzia Plataforma. SD flash txartelaren irudi berri bat sortzeko aukera ere baduzu.
c5soc linux_sd_card_image.tgz irudia file ALTERAOCLSDKROOT/board/c5soc direktorioan dago eskuragarri, non ALTERAOCLSDKROOT OpenCL-ren instalazio-direktoriorako Intel FPGA SDK-aren bidera seinalatzen duen.
Arreta: SD flash txartelaren irudia aldatzeko, root edo sudo pribilegioak izan behar dituzu.
- $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz deskonprimitzeko file, exekutatu tar xvfzlinux_sd_card_image.tgz komandoa.
- Konpilatu hello_world OpenCL adibampdiseina ezazu zure Custom Platform laguntza erabiliz. Aldatu izena .rbf file Intel FPGA SDK for OpenCL Offline Compiler-ek opencl.rbf gisa sortzen duela eta SD flash txartelaren irudiaren barruan fat32 partizioan kokatu.
hello_world ex. deskarga dezakezuample diseinua OpenCL Design Examples orrialdea Altera webgunea. - Jarri .rbf file flash txartelaren irudiaren fat32 partizioan.
Arreta: Fat32 partizioak zImage biak izan behar ditu file eta .rbf file. .rbfrik gabe file, akats larri bat gertatuko da kontrolatzailea sartzen duzunean. - SD txartelaren irudia sortu ondoren, idatzi mikro SD txartelean komando hau deituz: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
- Zure SD flash txartelaren irudia probatzeko, egin zeregin hauek:
a. Sartu micro SD flash txartela SoC FPGA plakan.
b. Piztu taula.
c. Deitu aocl diagnose utility komandoa.
1.5.2 SD Flash txartelaren irudi bat sortzea
SD flash txartelaren irudi berri bat sortzeko aukera ere baduzu. SD flash txartelaren irudi berria eraikitzeko eta lehendik dagoen SD flash txartelaren irudia berreraikitzeko argibide orokorrak eskuragarri daude RocketBoards.org-eko GSRD v14.0.2 - SD Card orrian. webgunea.
Beheko urratsek linux_sd_card_image.tgz irudia sortzeko prozedura deskribatzen dute Golden System Reference Design (GSRD) SD flash txartelaren iruditik:
Oharra:
C5soc iruditik irudia sortzeko, egin prozedura honetan zehaztutako eginkizun aplikagarri guztiak.
- Deskargatu eta deskargatu GSRD SD flash txartelaren irudiaren 14.0 bertsioa Rocketboards.org-etik.
- Muntatu file esleipen-taula (fat32) eta hedatua file sistemaren (ext3) partizioak irudi honetan loop-back gailu gisa. Partizio bat muntatzeko, egin urrats hauek:
a. Zehaztu partizioaren byte hasiera irudiaren barruan /sbin/fdisk -lu image_ deituzfile agindua.
Adibidezample, W1 FAT motako 95 zenbakiko partizioak 2121728 bloke-desplazamendua du. Bloke bakoitzeko 512 byterekin, byte-desplazamendua 512 byte x 2121728 = 1086324736 byte da.
b. Identifikatu begizta libreko gailu bat (adibidezample, /dev/loop0) losetup -f komandoa idatziz.
c. /dev/loop0 doako begizta gailua dela suposatuz, esleitu zure flash txartelaren irudia begizta blokearen gailuari losetup /dev/loop0 irudia_ deituz.file -0 1086324736 komandoa.
d. Muntatu begizta gailua mount /dev/loop0 /media/disk1 komandoa deituz.
Irudiaren barruan file, /media/disk1 muntatutako fat32 partizioa da orain.
e. Errepikatu a to d urratsak ext3 partiziorako. - Deskargatu Cyclone V SoC FPGA bertsioa Intel FPGA Runtime Environment OpenCL paketerako Deskarga Zentrotik Altera. webgunea.
a. Egin klik Deskargatu botoian Quartus Prime software edizioaren ondoan.
b. Zehaztu bertsioaren bertsioa, sistema eragilea eta deskargatzeko metodoa.
c. Egin klik Software gehigarria fitxan eta hautatu Intel FPGA deskargatzeko
OpenCL Linux Cyclone V SoC TGZ-rako exekuzio-ingurunea.
d. Aocl-rte- deskargatu ondoren .arm32.tgz file, deskonprimitu
zure jabetzako direktorio bat. - Jarri paketatu gabeko aocl-rte- .arm32 direktorioa /home/root/opencl_arm32_rte direktorioan irudiaren ext3 partizioan file.
- Ezabatu zure plataforma pertsonalizatuaren hardware-karpeta(k) eta, ondoren, jarri plataforma pertsonalizatua /home/root/opencl_arm32_rte-ko taula azpidirektorioan.
- Sortu init_opencl.sh file /home/root direktorioan honako edukiarekin: export ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ export PATH=$ALTERAOCLSDKROOT/bin:$PATH export LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
SDK erabiltzaileak ./init_opencl.sh komandoa exekutatzen du ingurune-aldagaiak eta OpenCL Linux nukleoaren kontrolatzailea kargatzeko. - Aurrekargatzailea eguneratu behar baduzu, DTS files, edo Linux nukleoa, SoC EDS-ko arm-linux-gnueabihf-gcc konpilatzailea behar duzu. Jarraitu Intel SoC FPGA Embedded Design Suite Erabiltzailearen Gidan azaltzen diren argibideak softwarea eskuratzeko, birkonpilatzeko eta dagozkionak eguneratzeko. files muntatutako fat32 partizioan.
Arreta: Litekeena da aurrekargatzailea eguneratu behar izatea zure plataforma pertsonalizatuak c5soc-eko pin erabilera desberdinak baditu.
Gogoratu: Linux nukleoa birkonpilatzen baduzu, Linux nukleoaren kontrolatzailea Linux nukleoaren iturburu berdinarekin files. Linux kernel kontrolatzailearen eta Linux kernelaren artean bat ez datozenak badira, kontrolatzailea ez da kargatuko. Gainera, CMA gaitu behar duzu.
Ikusi Linux Kernel birkonpilatzea informazio gehiago lortzeko. - Konpilatu hello_world OpenCL adibampdiseina ezazu zure Custom Platform laguntza erabiliz. Aldatu izena .rbf file Intel FPGA SDK for OpenCL Offline Compiler-ek opencl.rbf gisa sortzen duela eta SD flash txartelaren irudiaren barruan fat32 partizioan kokatu.
hello_world ex. deskarga dezakezuample diseinua OpenCL Design Examples orrialdea Altera webgunea.
9. Beharrezko guztia gorde ondoren files flash txartelaren irudian, deitu komando hauek:
a. sinkronizatu
b. desmuntatu /media/disk1
c. desmuntatu non 3. orrialdeko ext3 partizioa muntatzeko erabiltzen duzun direktorio-izena da 3. atalean (adibidezample, /media/disk2).
d. losetup -d /dev/loop0
e. losetup -d /dev/loop1 - Konprimitu SD flash txartelaren irudia komando hau deituz: tar cvfz .tgz linux_sd_card_image
- Entregatu .tgz file Zure plataforma pertsonalizatuaren erroko direktorioaren barruan.
- Zure SD flash txartelaren irudia probatzeko, egin zeregin hauek:
a. Idatzi konprimitu gabeko irudia mikro SD flash txartelean.
b. Sartu micro SD flash txartela SoC FPGA plakan.
c. Piztu taula.
d. Deitu aocl diagnose utility komandoa.
Erlazionatutako Estekak
- Intel SoC FPGA Embedded Design Suite erabiltzailearen gida
- OpenCL Diseinua Adibamples orrialdea Altera webgunea
- Linux Kernel-a birkonpilatzea 16. orrialdean
CMA gaitzeko, lehenik Linux nukleoa birkonpilatu behar duzu. - Zure FPGA plakaren gailuaren izena kontsultatzea (diagnostikoa)
1.6 Cyclone V SoC FPGArako Linux Kernel-a konpilatzea
Cyclone V SoC FPGA plakan OpenCL aplikazioak exekutatu aurretik, Linux nukleoaren iturburua konpilatu behar duzu, eta OpenCL Linux nukleoaren kontrolatzailea konpilatu eta instalatu.
- Linux Kernel-a birkonpilatzea 16. orrialdean
CMA gaitzeko, lehenik Linux nukleoa birkonpilatu behar duzu. - OpenCL Linux Kernel kontrolatzailea konpilatu eta instalatu 17. orrialdean Konpilatu OpenCL Linux nukleoaren kontrolatzailea konpilatutako nukleoaren iturburuarekin.
1.6.1 Linux Kernel-a birkonpilatzea
CMA gaitzeko, lehenik Linux nukleoa birkonpilatu behar duzu.
- Egin klik GSRD v14.0 - Linux konpilatzen estekan RocketBoards.org-eko Baliabideen orrian webgunea Linux nukleoaren iturburu kodea deskargatu eta berreraikitzeko argibideak eskuratzeko.
OpenCL-rako Intel FPGA SDK-rekin erabiltzeko, zehaztu socfpga-3.13-rel14.0 gisa . - Oharra: Eraikuntza-prozesuak arch/arm/configs/socfpga_defconfig sortzen du file. Hau file socfpga konfigurazio lehenetsiaren ezarpenak zehazten ditu.
Gehitu ondorengo lerroak arch/arm/configs/socfpga_defconfig behealdean file.
CONFIG_MEMORY_ISOLATION=y
CONFIG_CMA=y
CONFIG_DMA_CMA=y
CONFIG_CMA_DEBUG=y
CONFIG_CMA_SIZE_MBYTES=512
CONFIG_CMA_SIZE_SEL_MBYTES=y
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
CONFIG_CMA_SIZE_MBYTES konfigurazio-balioak fisikoki ondoan dagoen memoria kopuru osoaren goiko muga ezartzen du. Balio hori handitu dezakezu memoria gehiago behar baduzu. - Arreta: SoC FPGA plakan ARM prozesadoreak eskuragarri duen memoria fisikoaren kopuru osoa 1 GB da. Intel-ek ez du gomendatzen CMA kudeatzailea 1 GBtik gertu ezartzea.
- Exekutatu make mrproper komandoa uneko konfigurazioa garbitzeko.
- Exekutatu make ARCH=arm socfpga_deconfig komandoa.
ARCH=arm-ek ARM arkitektura konfiguratu nahi duzula adierazten du.
socfpga_defconfig-ek socfpga konfigurazio lehenetsia erabili nahi duzula adierazten du. - Exekutatu export CROSS_COMPILE=arm-linux-gnueabihf- komandoa.
Komando honek CROSS_COMPILE ingurune-aldagaia ezartzen du nahi den tresna-katearen aurrizkia zehazteko. - Exekutatu make ARCH=arm zImage komandoa. Lortutako irudia arch/arm/boot/zImage atalean dago eskuragarri file.
- Jarri zIrudia file flash txartelaren irudiaren fat32 partizioan. Argibide zehatzak lortzeko, ikus Cyclone V SoC FPGA-ren GSRD-ren erabiltzailearen eskuliburua Rocketboards.org webgunean.
- Oharra: OpenCL Linux nukleoaren kontrolatzailea behar bezala txertatzeko, lehenik eta behin kargatu SDKgenerated.rbf bat file FPGAra.
.rbf sortzeko file, konpilatu SDK diseinua adibidezample Cyclone V SoC Development Kit Reference Platform helburuko Plataforma pertsonalizatu gisa.
9. Jarri .rbf file flash txartelaren irudiaren fat32 partizioan.
Kontuz: fat32 partizioak zImage biak izan behar ditu file eta .rbf file. .rbfrik gabe file, akats larri bat gertatuko da kontrolatzailea sartzen duzunean. - Sartu programatutako mikro SD txartela, lehenago aldatu edo sortu duzun SD txartelaren irudia duena, Cyclone V SoC Garapen Kitan eta piztu SoC FPGA plaka.
- Egiaztatu instalatutako Linux kernelaren bertsioa uname -r komandoa exekutatuz.
- Nukleoan CMA behar bezala gaitu duzula egiaztatzeko, SoC FPGA plaka piztuta dagoela, exekutatu grep init_cma /proc/kallsyms komandoa.
CMA gaituta dago irteera hutsik ez badago. - Berkonpilatutako Linux nukleoa SDKrekin erabiltzeko, konpilatu eta instalatu Linux nukleoaren kontrolatzailea.
Erlazionatutako Estekak
- Golden System Reference Design (GSRD) Erabiltzaileen Eskuliburuak
- SD Flash txartelaren irudia eraikitzea 13. orrialdean
Cyclone V SoC FPGA txip bateko sistema osoa denez, sistemaren definizio osoa emateaz arduratzen zara.
1.6.2 OpenCL Linux Kernel kontrolatzailea konpilatu eta instalatzea
Konpilatu OpenCL Linux nukleoaren kontrolatzailea konpilatutako nukleoaren iturburuaren aurka.
Gidariaren iturria Cyclone V SoC FPGA bertsioan dago eskuragarri OpenCL-rako Intel FPGA Runtime Environment-en. Horrez gain, ziurtatu Intel FPGA SDK bat kargatu duzula OpenCL-ek sortutako .rbf-erako file FPGAra Linux kernel modulua oker ez instalatzeko.
- Deskargatu Cyclone V SoC FPGA bertsioa Intel FPGA Runtime Environment OpenCL paketerako Deskarga Zentrotik Altera. webgunea.
a. Egin klik Deskargatu botoian Quartus Prime software edizioaren ondoan.
b. Zehaztu bertsioaren bertsioa, sistema eragilea eta deskargatzeko metodoa.
c. Egin klik Software gehigarria fitxan eta hautatu Intel FPGA deskargatzeko
OpenCL Linux Cyclone V SoC TGZ-rako exekuzio-ingurunea.
d. Aocl-rte- deskargatu ondoren .arm32.tgz file, deskonprimitu
zure jabetzako direktorio bat.
Gidariaren iturria aocl-rte-n dago .arm32/board/c5soc/ gidarien direktorioa. - OpenCL Linux kernel kontrolatzailea berriro konpilatzeko, ezarri KDIR balioa gidariaren Make-nfile Linux kernel iturburua duen direktoriora files.
- Exekutatu export CROSS_COMPILE=arm-linux-gnueabihf- komandoa zure tresna-katearen aurrizkia adierazteko.
- Exekutatu make clean komandoa.
- Exekutatu make komandoa aclsoc_drv.ko sortzeko file.
- Transferitu opencl_arm32_rte direktorioa Cyclone V SoC FPGA plakara.
scp -r exekutatzen root@zure-IPhelbidea: komandoak exekuzio-ingurunea/home/root direktorioan jartzen du. - Exekutatu SD txartelaren irudia eraiki zenuenean sortu zenuen init_opencl.sh script-a.
- Deitu aocl diagnose utility komandoa. Diagnostiko-utilitateak emaitza iragankorra itzuliko du init_opencl.sh behar bezala exekutatu ondoren.
1.7 Ezagutzen diren gaiak
Gaur egun, OpenCL-rako Intel FPGA SDK-ren erabileran muga batzuk daude Cyclone V SoC Development Kit Reference Platform-ekin.
- Ezin dituzu clGetDeviceInfo() deiaren CL_DEVICE_VENDOR eta CL_DEVICE_NAME kateek jakinarazitako saltzaile eta taularen izenak gainidatzi.
- Ostalariak memoria konstantea esleitzen badu partekatutako DDR sisteman (hau da, HPS DDR) eta memoria konstantea aldatzen badu nukleoa exekutatu ondoren, memoriako datuak zaharkituta geratu daitezke. Arazo hau sortzen da FPGA nukleoak ezin duelako miatu CPU-to-HPS DDR transakzioetan.
Ondorengo nukleoaren exekuzioek datu zaharkituak atzitzea saihesteko, ezarri konponbide hauetako bat:
• Ez aldatu memoria konstantea hasieratu ondoren.
• Hainbat __datu-multzo konstante behar badituzu, sortu memoria-buffer konstante anitz.
• Eskuragarri badago, esleitu memoria konstantea zure azeleragailu-plakaren FPGA DDR-n. - ARM-en SDK utilitateak programa eta utilitateen komandoak diagnostikatzeko soilik onartzen ditu.
Flash, instalatu eta desinstalatu utilitateen komandoak ez dira aplikagarriak Cyclone V SoC garapen kitrako, arrazoi hauengatik:
a. Instalatzeko utilitateak aclsoc_drv Linux kernel kontrolatzailea konpilatu eta SoC FPGAn gaitu behar du. Garapen-makinak konpilazioa egin behar du; hala ere, dagoeneko baditu Linux kernel iturriak SoC FPGArako. Garapen-makinaren Linux kernel-iturburuak SoC FPGArako desberdinak dira. SoC FPGArako Linux kernel iturrien kokapena SDK erabiltzailearentzat ziurrenik ezezaguna da. Era berean, desinstalatzeko utilitatea ere ez dago erabilgarri Cyclone V SoC Garapen Kit-erako.
Gainera, aclsoc_drv SoC taulara bidaltzea zaila da, Cyclone V SoC Garapen Kitaren banaketa lehenetsiak ez duelako Linux kernel barne. files edo GNU Compiler Collection (GCC) konpilatzailea.
b. Flash utilitateak .rbf bat jartzea eskatzen du file OpenCL diseinu baten mikro SD flash txartelaren FAT32 partizioan. Gaur egun, partizio hau ez da muntatzen SDK erabiltzaileak plaka pizten duenean. Hori dela eta, partizioa eguneratzeko modurik onena flash txartelen irakurgailua eta garapen-makina erabiltzea da. - OpenCL Offline Compiler-erako Intel FPGA SDK-ren artean aldatzean files (.aocx) plaka aldaera desberdinei dagozkienak (hau da, c5soc eta c5soc_sharedonly), SDK-ren programa-erabilgarritasuna erabili behar duzu .aocx kargatzeko. file taula aldaera berrirako lehen aldiz. Ostalari aplikazioa taularen aldaera berri bat erabiliz exekutatzen baduzu, baina FPGAk beste plaka baten irudia badu, errore larri bat gerta daiteke.
- .qxp file ez ditu interfazearen partizioaren esleipenak sartzen, Quartus Prime softwareak partizio honen denbora-eskakizunak etengabe betetzen dituelako.
- Plaka pizten duzunean, bere multimedia sarbidea kontrolatzeko (MAC) helbidea ausazko zenbaki batean ezartzen da. Zure LAN politikak ez badu jokabide hori onartzen, ezarri MAC helbidea honako zeregin hauek eginez:
a. U-Boot piztean, sakatu edozein tekla U-Boot komando-gonbita sartzeko.
b. Idatzi setenv ethaddr 00:07:ed:00:00:03 komando-gonbitan.
Edozein MAC helbide aukeratu dezakezu.
c. Idatzi saveenv komandoa.
d. Berrabiarazi taula.
1.8 Dokumentuen berrikuspen historia
1. taula.
OpenCL Cyclone V SoCrako Intel FPGA SDK-ren dokumentuen berrikuspenaren historia
Garapen-Kitaren Erreferentzia-plataformaren Porting Gida
Data | Bertsioa | Aldaketak |
Maiatzak-17 | 2017.05.08 | •Mantentze-oharra. |
2016ko urria | 2016.10.31 | • OpenCL-rako Altera SDK-ra aldatu zen OpenCLrako Intel FPGA SDK-ra. •OpenCL Offline Compiler-erako Intel FPGA SDK-ra aldatzea Altera Offline Compiler-era. |
Maiatzak-16 | 2016.05.02 | •SD flash txartelaren irudia eraikitzeko eta aldatzeko argibideak aldatu dira. •Linux nukleoa eta OpenCL Linux nukleoaren kontrolatzailea birkonpilatzeko argibideak aldatu dira. |
Azaroa-15 | 2015.11.02 | •Mantentze-oharra, eta Quartus II-ren instantziak Quartus Prime-ra aldatu dira. |
Maiatzak-15 | 15.0.0 | •FPGA birkonfigurazioan, FPGA nukleoa birprogramatzeko instrukzioa kendu da batekin. rbf irudia katuari dei eginez fileizena>. rbf > /dev/ fpga0 komandoa metodo hau ez delako gomendagarria. |
14ko abendua | 14.1.0 | •Dokumentuari izena aldatu dio Altera Cyclone V SoC Development Kit Reference Platform Porting Guide. •Aocl programara birprogramatzeko utilitatea eguneratu dafilename>.aocx utility komandoa. • Diagnostiko-erabilgarritasuna aocl diagnostikorako eta aocl diagnostikorako eguneratu da erabilgarritasun komandoa. •Erreferentzia-plataforma zure SoC taulara eramateko ataleko prozedura eguneratu da, c5soc plaka-partizioa eramateari eta aldatzeari buruzko argibideak sartzeko, denbora-garbiko partizio bat sortzeko denbora-itxiera-fluxurako. •Portatutako erreferentzia-plataforma eguneratzea gaia txertatu du zeregin hauetarako prozedurak zehazteko: 1.Prozesadore gogorraren sistema (HPS) blokea plakako partizioan kenduta 2.SD flash txartelaren irudia eguneratzen • SD Flash Txartelaren Irudia eraikitzen atala eguneratu da. Golden System Reference Design (GSRD) irudiaren 14.0 bertsioa erabiltzea gomendatzen da abiapuntu gisa SoC Embedded Design Suite (EDS) erabilgarri dagoen irudiaren ordez. •Linux Kernel birkonpilatzea eta OpenCL Linux Kernel Driver atala eguneratu da: 1.CROSS COMPILE aldagaia ezartzeko instrukzioa gehitu da. 2.Exekutatu duzun komandoa aldatu da CMA behar bezala gaituta dagoela egiaztatzeko. |
Uztaila-14 | 14.0.0 | •Hasierako Oharra. |
Dokumentuak / Baliabideak
![]() |
Intel FPGA SDK OpenCLrako [pdfErabiltzailearen gida FPGA SDK OpenCL, FPGA SDK, SDK OpenCL, SDK |