FPGA SDK OpenCL-hez
Felhasználói kézikönyv
UG-OCL009
2017.05.08
Az Intel® Quartus® Prime Design Suite legutóbbi frissítése: 17.0
Iratkozz fel
Visszajelzés küldése
Intel® FPGA SDK for OpenCL™ Intel® Cyclone®V SoC fejlesztőkészlet referenciaplatform-portolási útmutató
A V SoC fejlesztőkészlet referenciaplatform-portolási útmutatója leírja az Intel Cyclone V SoC Development Kit Reference Platform (c5soc) hardver- és szoftvertervezését az Intel Software Development Kit (SDK) OpenCL-hez való használatához. Az Intel ® FPGA SDK for OpenCL ™ Intel Cyclone ® . Mielőtt elkezdené, az Intel nyomatékosan javasolja, hogy ismerkedjen meg a következő dokumentumok tartalmával:
- Intel FPGA SDK az OpenCLIntel Cyclone V SoC használatához – Kezdő lépések útmutató
- Intel FPGA SDK for OpenCL Custom Platform Toolkit felhasználói kézikönyv
- Cyclone V Device Handbook, 3. kötet: Hard Processor System Technical Reference Manual Ezen túlmenően tekintse meg az Altera Cyclone V SoC fejlesztőkészlet és SoC Embedded Design Suite oldalát weboldalon további információkért. 1 2
Figyelem: Az Intel feltételezi, hogy Ön alaposan ismeri az Intel FPGA SDK for OpenCL Custom Platform Toolkit felhasználói kézikönyvét. A Cyclone V SoC fejlesztői készlet referenciaplatform-portolási útmutatója nem írja le az SDK egyéni platform eszközkészletének használatát a Cyclone V SoC fejlesztőkészlet egyéni platformjainak megvalósítására. Csak a Cyclone V SoC Development Kit SDK-támogatása és az OpenCL Custom Platformhoz készült általános Intel FPGA SDK közötti különbségeket írja le.
Kapcsolódó linkek
- Intel FPGA SDK OpenCL Cyclone V SoC Kezdő lépések útmutatója
- Intel FPGA SDK for OpenCL Custom Platform Toolkit felhasználói kézikönyv
- Cyclone V Device Handbook, 3. kötet: Hard Processor System Technical Reference Manual
- Cyclone V SoC Development Kit és SoC Embedded Design Suite oldal az Alterán webtelek
- Az OpenCL és az OpenCL logó az Apple Inc. védjegyei, amelyeket a Khronos Group™ engedélyével használnak.
- Az Intel FPGA SDK for OpenCL egy közzétett Khronos specifikáción alapul, és átment a Khronos megfelelőségi tesztelési folyamaton. A jelenlegi megfelelőségi állapot a címen található www.khronos.org/conformance.
Intel Corporation. Minden jog fenntartva. Az Intel, az Intel logó, az Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus és Stratix szavak és logók az Intel Corporation vagy leányvállalatainak védjegyei az Egyesült Államokban és/vagy más országokban. Az Intel szavatolja, hogy FPGA és félvezető termékei az aktuális specifikációknak megfelelő teljesítményt nyújtanak az Intel szabványos garanciájának megfelelően, de fenntartja a jogot, hogy bármely terméket és szolgáltatást előzetes értesítés nélkül módosítson. Az Intel nem vállal semmilyen felelősséget vagy kötelezettséget az itt leírt információk, termékek vagy szolgáltatások alkalmazásából vagy használatából eredően, kivéve az Intel által kifejezetten írásban jóváhagyott eseteket. Az Intel ügyfeleinek azt tanácsoljuk, hogy szerezzék be az eszközspecifikációk legfrissebb verzióját, mielőtt bármilyen közzétett információra hagyatkoznának, és mielőtt megrendelnék termékeket vagy szolgáltatásokat.
*Más nevek és márkák mások tulajdonát képezhetik.
1.1.1 Cyclone V SoC fejlesztőkészlet referenciaplatform kártyaváltozatok
Az Intel FPGA SDK for OpenCL Cyclone V SoC Development Kit Reference Platform két kártyaváltozatot tartalmaz.
- c5soc tábla
Ez az alapértelmezett kártya hozzáférést biztosít két DDR memóriabankhoz. A HPS DDR-hez az FPGA és a CPU is hozzáfér. Az FPGA DDR csak az FPGA-n keresztül érhető el. - c5soc_sharedonly fórumon
Ez a kártyaváltozat csak HPS DDR csatlakozást tartalmaz. Az FPGA DDR nem érhető el. Ez a kártyaváltozat területhatékonyabb, mivel kevesebb hardver szükséges egy DDR memóriabank támogatásához. A c5soc_sharedonly kártya jó prototípus-platform az egyetlen DDR-memóriabankkal rendelkező, végleges gyártási kártyához.
Ha ezt a táblaváltozatot szeretné megcélozni az OpenCL rendszermag fordításakor, adja meg a -board c5soc_sharedonly kapcsolót az aoc parancsban.
További információ a tábláról Az aoc parancs opcióját lásd az Intel FPGA SDK for OpenCL programozási útmutatójában.
Kapcsolódó linkek
Kernel fordítása egy adott FPGA kártyához (–board )
1.1.2 A Cyclone V SoC fejlesztőkészlet referenciaplatform tartalma
A Cyclone V SoC fejlesztőkészlet referenciaplatformja a következőkből áll files és könyvtárak:
File vagy Címtár | Leírás |
board_env.xml | eXtensible Markup Language (XML) file amely leírja a c5soc-ot az Intel FPGA SDK for OpenCL-hez. |
linux_sd_card_image.tgz | Tömörített SD flash kártya kép file amely mindent tartalmaz, amire egy SDK-felhasználónak szüksége van a Cyclone V SoC fejlesztőkészlet SDK-val való használatához. |
kar32 | Könyvtár, amely a következőket tartalmazza: |
1.1.3 A Cyclone V SoC fejlesztőkészlet lényeges jellemzői
A következő lista kiemeli azokat a Cyclone V SoC Development Kit összetevőket és szolgáltatásokat, amelyek az Intel FPGA SDK for OpenCL számára relevánsak:
- 9 bites Linuxot futtató kétmagos ARM Cortex-A32 CPU.
- Fejlett eXtensible Interface (AXI) busz a HPS és az FPGA magszövet között.
- Két keményített DDR memóriavezérlő, mindegyik 1 gigabájtos (GB) DDR3 SDRAM-hoz csatlakozik.
— Egy DDR-vezérlő csak az FPGA maghoz (vagyis az FPGA DDR-hez) érhető el.
— A másik DDR-vezérlő mind a HPS, mind az FPGA (vagyis a HPS DDR) számára elérhető. Ez a megosztott vezérlő lehetővé teszi a szabad memóriamegosztást a CPU és az FPGA mag között. - A CPU újra tudja konfigurálni az FPGA magszövetet.
1.1.3.1 A Cyclone V SoC fejlesztőkészlet referenciaplatformjának tervezési céljai és döntései Az Intel a Cyclone V SoC fejlesztőkészlet referenciaplatformjának megvalósítását számos tervezési célra és döntésre alapozza. Az Intel azt javasolja, hogy fontolja meg ezeket a célokat és döntéseket, amikor ezt a referenciaplatformot SoC FPGA kártyára portolja.
Alább láthatók a c5soc tervezési céljai:
- Biztosítsa a lehető legnagyobb sávszélességet az FPGA rendszermagjai és a DDR memóriarendszer(ek) között.
- Győződjön meg arról, hogy az FPGA-n (vagyis az OpenCL kerneleken) végzett számítások nem zavarják a többi CPU-feladatot, amelyek magukban foglalhatják a perifériák szervizelését.
- Hagyjon meg minél több FPGA-erőforrást a kernel-számításokhoz az interfész-összetevők helyett.
Az alábbiakban felsoroljuk azokat a magas szintű tervezési döntéseket, amelyek az Intel tervezési céljainak közvetlen következményei:
- A Referencia Platform csak merev DDR memóriavezérlőket használ a lehető legszélesebb konfigurációval (256 bit).
- Az FPGA közvetlenül kommunikál a HPS DDR memóriavezérlővel, anélkül, hogy bevonná az AXI buszt és a HPS-en belüli L3 kapcsolót. A közvetlen kommunikáció a lehető legjobb sávszélességet biztosítja a DDR számára, és megakadályozza, hogy az FPGA számítások megzavarják a CPU és a perifériája közötti kommunikációt.
- Scatter-Gather közvetlen memóriahozzáférés (SG-DMA) nem része az FPGA interfész logikájának. A DDR memóriarendszerek közötti nagy mennyiségű adat átvitele helyett tárolja az adatokat a megosztott HPS DDR-ben. A CPU-memóriához való közvetlen hozzáférés az FPGA-n keresztül hatékonyabb, mint a DMA. Hardver erőforrásokat takarít meg (azaz FPGA területet), és leegyszerűsíti a Linux kernel illesztőprogramját.
Figyelmeztetés: A megosztott HPS DDR rendszer és a csak az FPGA számára elérhető DDR rendszer közötti memóriaátvitel nagyon lassú. Ha úgy dönt
A memória ilyen módon történő átviteléhez csak nagyon kis mennyiségű adathoz használja. - A gazdagép és az eszköz nem DMA adatátvitelt hajt végre egymás között a HPS-FPGA (H2F) hídon keresztül, egyetlen 32 bites port használatával. Ennek az az oka, hogy DMA nélkül a Linux kernel csak egyetlen 32 bites olvasási vagy írási kérést tud kiadni, így felesleges a szélesebb kapcsolat.
- A gazdagép vezérlőjeleket küld az eszköznek egy könnyű H2F (LH2F) hídon keresztül.
Mivel a vezérlőjelek a gazdagéptől az eszközig alacsony sávszélességű jelek, az LH2F híd ideális a feladathoz.
1.2 A referenciaplatform portolása az Ön SoC FPGA kártyájára
A Cyclone V SoC Development Kit referenciaplatform SoC FPGA kártyára történő portolásához hajtsa végre a következő feladatokat:
- Tervezése kiindulópontjaként válassza ki a c5soc Reference Platform egy DDR-memóriáját vagy két DDR-memória verzióját.
- Frissítse a tűk helyét az ALTERAOCLSDKROOT/board/c5soc/ fájlban /top.qsf file, ahol az ALTERAOCLSDKROOT az Intel FPGA SDK helyéhez vezető útvonal az OpenCL telepítéshez, és a táblaváltozat könyvtárneve. A c5soc_sharedonly könyvtár az egy DDR memóriarendszerrel rendelkező kártyaváltozathoz tartozik. A c5soc könyvtár a két DDR memóriarendszerrel rendelkező kártyaváltozathoz tartozik.
- Frissítse a HPS és/vagy FPGA SDRAM blokkok DDR beállításait az ALTERAOCLSDKROOT/board/c5soc/ fájlban. /system.qsys file.
4. Minden Intel FPGA SDK-nak az OpenCL által preferált lapokhoz garantált időzítést kell elérnie. Mint ilyen, a minta elhelyezésének időzítettnek kell lennie. A c5soc kártyapartíció (acl_iface_partition.qxp) SoC FPGA kártyára történő portolásához hajtsa végre a következő feladatokat:
A kártyapartíció módosításával és megőrzésével kapcsolatos részletes utasításokat a Quartusban találja
Elsődleges növekményes összeállítás hierarchikus és csapatalapú tervezéshez a Quartus Prime Standard Edition kézikönyvében.
a. Távolítsa el az acl_iface_partition.qxp fájlt az ALTERAOCLSDKROOT/board/c5soc/c5soc könyvtárból.
b. Engedélyezze az acl_iface_region LogicLock™ régiót a Tcl parancs set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region módosításával set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region értékre.
c. Fordíts egy OpenCL kernelt a tábládhoz.
d. Ha szükséges, módosítsa a LogicLock régió méretét és helyét.
e. Ha meggyőződött arról, hogy a terv elhelyezése időzített tiszta, exportálja a partíciót acl_iface_partition.qxp Quartus Prime exportált partícióként File.
Az AIntel FPGA SDK for OpenCL Custom Platform Toolkit felhasználói kézikönyv Garantált időzítési folyamat létrehozása szakaszában leírtak szerint a .qxp importálásával file a legfelső szintű kialakításban teljesíti azt a követelményt, hogy garantált időzítésű zárási áramlással rendelkező táblakialakítást biztosítson.
Az exportált partíció eredményeinek (QoR) minőségét befolyásoló tényezőkért tekintse meg az Intel FPGA SDK for OpenCL Custom Platform Toolkit felhasználói kézikönyv Az Exportált táblapartíció eredményeinek általános minőségével kapcsolatos megfontolások című szakaszát.
f. Tiltsa le az acl_iface_region LogicLock régiót a 2. lépésben a parancs visszaállításával a set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region értékre. - Ha az Ön SoC FPGA kártyája a HPS blokk különböző érintkezőit és perifériáit használja, állítsa újra az előtöltőt és az eszközfa forrást (DTS) file. Ha módosítja a HPS DDR memóriavezérlő beállításait, hozza újra az előtöltőt.
- Hozd létre az SD flash kártya képét.
- Hozza létre egyéni platformját, amely tartalmazza az SD flash kártya képét.
- Fontolja meg egyéni platformja futási környezeti verziójának létrehozását az Intel FPGA Runtime Environment (RTE) OpenCL-hez való használatához. Az egyéni platform RTE verziója nem tartalmazza a hardverkönyvtárakat és az SD flash kártya képét. Ez az egyéni platform betöltődik az SoC FPGA rendszerbe, hogy lehetővé tegye a gazdagép alkalmazások futtatását. Ezzel szemben az egyéni platform SDK-verziója szükséges ahhoz, hogy az SDK OpenCL-kerneleket fordítson.
Tipp: Az RTE-hez használhatja egyéni platformjának SDK-verzióját. Menteni
helyet, távolítsa el az SD flash kártya képét az egyéni platform RTE verziójáról. - Tesztelje egyéni platformját.
További információért tekintse meg az Intel FPGA SDK for OpenCL Custom Platform Toolkit felhasználói kézikönyv Hardvertervezés tesztelése című részét.
Kapcsolódó linkek
- A hardvertervezés tesztelése
- Quartus Prime inkrementális összeállítás hierarchikus és csapatalapú tervezéshez
- Garantált időzítési folyamat létrehozása
- Az eredmények általános minőségével kapcsolatos megfontolások az exportált tábla partíciónál
1.2.1 Portált referenciaplatform frissítése
A Cyclone V SoC Development Kit Reference Platform jelenlegi verziójában a HPS blokk azon a partíción belül található, amely meghatározza az összes nem kernel logikát. A HPS azonban nem exportálható a .qxp részeként file. Egy meglévő egyéni platform frissítéséhez, amelyet a c5soc korábbi verziójából módosított, hajtsa végre a QXP megőrzési folyamatot, frissítse az SD flash kártya képét a legújabb futtatókörnyezet eléréséhez, és frissítse a board_spec.xml fájlt. file hogy engedélyezze az automatizálást.
Az OpenCL 14.1-es és újabb verzióihoz készült Altera® SDK megvizsgálja a board_spec.xml file táblainformációkért, és automatikus frissítéseket hajt végre. Mert módosítod a
tervezni a QXP megőrzési folyamat megvalósításával, frissítenie kell a board_spec.xml fájlt file az aktuális verzió formátumába. Frissítve a file lehetővé teszi az SDK számára, hogy különbséget tegyen a meg nem őrzött egyéni platformok és a jelenlegi QXP-alapú egyéni platformok között. További információért tekintse meg az Intel FPGA SDK for OpenCL Custom Platform Toolkit felhasználói kézikönyv Egyéni platformautomatizálás című részét a továbbítási kompatibilitásról.
- A QXP megőrzési folyamat megvalósításához egy Cyclone V SoC FPGA hardvertervben, amely a c5soc korábbi verziójáról van portolva, hajtsa végre a következő lépéseket egy alpartíció létrehozásához, amely kizárja a HPS-t a .qxp fájlból file:
a. Mielőtt partíciót hozna létre a nem kernel logika körül, hozzon létre egy partíciót a HPS körül a .qsf Quartus Prime beállításaiban File.
Plample:
# Manuálisan particionálja a HPS-dedikált I/O-készlet_példány-hozzárendelést modellező példányát a PARTITION_HIERARCHY borde_18261 -re: „system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_ifacehpsio|system_acl_ifacehpsio| system_acl_iface_hps_0_hps_io_border:border” -section_id „system_acl_iface_hps_0_hps_io_border:border”
# Állítsa be a partíciót HPS_PARTITION típusúra, hogy a Quartus többi része megfelelően feldolgozza
set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id "system_acl_iface_hps_0_hps_io_border:border"
quartus_cdb top -c top
–incremental_compilation_export=acl_iface_partition.qxp
–incremental_compilation_export_partition_name=acl_iface_partition
–incremental_compilation_export_post_synth=on
–incremental_compilation_export_post_fit=on
–incremental_compilation_export_routing=on
–incremental_compilation_export_flatten=off
Miután kizárta a HPS-t a partícióból, importálhatja a .qxp fájlt file és állítsa össze a tervét. - Frissítse az SD flash kártya képét az Intel FPGA RTE for OpenCL jelenlegi verziójával a következő feladatok végrehajtásával:
a. Szerelje fel a file kiosztási táblázat (fat32) és kibővítve file rendszer (ext3) partíciók a meglévő képben visszahurkolt eszközökként. A részletes utasításokért tekintse meg a 2. lépést az SD Flash kártya képének készítése részben.
b. A /home/root/opencl_arm32_rte könyvtárból távolítsa el a files az RTE előző verziójából.
c. Töltse le és csomagolja ki az RTE aktuális verzióját a /home/root/opencl_arm32_rte könyvtárba.
d. Ban,-ben /driver/version.h file egyéni platformján frissítse az ACL_DRIVER_VERSION hozzárendelést a következőre . (plample, 16.1.x, ahol a 16.1 az SDK verziója, az x pedig az Ön által beállított illesztőprogram-verzió).
e. Építsd újra az illesztőprogramot.
f. Törölje az egyéni platform hardvermappáit. Másolja az egyéni platformot a frissített illesztőprogramokkal együtt a /home/root/opencl_arm_rte/board könyvtárba.
g. Másolja az Altera.icd fájlt file a /home/root/opencl_arm32_rte könyvtárból, és adja hozzá az /etc/OpenCL/vendors könyvtárhoz.
h. Válassza le és tesztelje az új képet. A részletes utasításokért tekintse meg a 8–11. lépést az SD Flash kártya képének készítése részben.
Kapcsolódó linkek
- SD Flash kártya kép létrehozása a 14. oldalon
Lehetősége van új SD flash kártya kép létrehozására is. - Egyéni platform automatizálás a továbbítási kompatibilitás érdekében
1.3 Szoftvertámogatás a megosztott memóriához
Az FPGA és a CPU közötti megosztott fizikai memória az előnyben részesített memória a SoC FPGA-kon futó OpenCL kernelek számára. Mivel az FPGA hozzáfér a megosztott fizikai memóriához, szemben a megosztott virtuális memóriával, nem fér hozzá a CPU oldaltáblázataihoz, amelyek a felhasználói virtuális címeket fizikai oldalcímekre képezik le.
Ami a hardvert illeti, az OpenCL kernelek a HPS DDR merevmemória-vezérlőhöz való közvetlen csatlakozáson keresztül érik el a megosztott fizikai memóriát. A szoftverrel kapcsolatban a megosztott fizikai memória támogatása a következő szempontokat foglalja magában:
- Tipikus szoftvermegvalósítások a CPU memóriájának lefoglalására (plample, a malloc() függvény) nem tud lefoglalni egy memóriaterületet, amelyet az FPGA használhat.
A malloc() függvény által lefoglalt memória szomszédos a virtuális memória címterében, de nem valószínű, hogy az alapul szolgáló fizikai oldalak fizikailag szomszédosak lesznek. Mint ilyen, a gazdagépnek képesnek kell lennie arra, hogy fizikailag szomszédos memóriarégiókat lefoglaljon. Ez a képesség azonban nem létezik a Linux felhasználói felületű alkalmazásaiban. Ezért a Linux kernel illesztőprogramjának végre kell hajtania az allokációt. - Az OpenCL SoC FPGA Linux kernel-illesztőprogram tartalmazza az mmap() függvényt a megosztott fizikai memória lefoglalására és a felhasználói térbe való leképezésére. Az mmap() függvény a szabványos Linux kernel dma_alloc_coherent() hívását használja, hogy fizikailag egybefüggő memóriarégiókat kérjen az eszközzel való megosztáshoz.
- Az alapértelmezett Linux kernelben a dma_alloc_coherent() nem foglal le 0.5 megabájtnál (MB) nagyobb fizikailag egybefüggő memóriát. Ha engedélyezni szeretné a dma_alloc_coherent() számára, hogy nagy mennyiségű fizikailag szomszédos memóriát foglaljon le, engedélyezze a Linux kernel összefüggő memória-lefoglaló (CMA) szolgáltatását, majd fordítsa újra a Linux kernelt.
A Cyclone V SoC Development Kit Reference Platform esetében a CMA 512 MB-ot kezel az 1 GB fizikai memóriából. Az alkalmazás által igényelt megosztott memória mennyiségétől függően növelheti vagy csökkentheti ezt az értéket. Előfordulhat, hogy a dma_alloc_coherent() hívás nem tudja lefoglalni a fizikailag szomszédos memória teljes 512 MB-ját; azonban rutinszerűen körülbelül 450 MB memóriát tud szerezni. - A CPU gyorsítótárazhatja a dma_alloc_coherent() hívás által lefoglalt memóriát. Különösen a gazdagép alkalmazásból származó írási műveletek nem láthatók az OpenCL kernelek számára. Az OpenCL SoC FPGA Linux kernel-illesztőprogram mmap() függvénye a pgprot_noncached() vagy a remap_pf_range() függvény hívásokat is tartalmaz, amelyek kifejezetten letiltják a gyorsítótárazást ezen a memóriaterületen.
- Miután a dma_alloc_coherent() függvény lefoglalta a fizikailag szomszédos memóriát, az mmap() függvény visszaadja a virtuális címet a tartomány elejére, amely a lefoglalt memória címtartománya. A gazdagép alkalmazásnak szüksége van erre a virtuális címre a memória eléréséhez. Másrészt az OpenCL kernelekhez fizikai címek szükségesek. A Linux kernel illesztőprogramja nyomon követi a virtuális-fizikai címleképezést. Az mmap() által visszaadott fizikai címeket leképezheti tényleges fizikai címekre, ha lekérdezést ad hozzá az illesztőprogramhoz.
Az aocl_mmd_shared_mem_alloc() MMD alkalmazásprogramozási felület (API) hívása a következő lekérdezéseket tartalmazza:
a. Az mmap() függvény, amely lefoglalja a memóriát és visszaadja a virtuális címet.
b. Az extra lekérdezés, amely a visszaadott virtuális címet leképezi a fizikai címre.
Az aocl_mmd_shared_mem_alloc() MMD API hívás ezután két címet ad vissza
– a tényleges visszaadott cím a virtuális cím, a fizikai cím pedig a device_ptr_out címre kerül.
Jegyzet: Az illesztőprogram csak azokat a virtuális címeket tudja leképezni fizikai címekre, amelyeket az mmap() függvény visszaad. Ha bármely más virtuális mutató fizikai címét kéri, az illesztőprogram NULL értéket ad vissza.
Figyelmeztetés: Az Intel FPGA SDK for OpenCL futásidejű könyvtárak azt feltételezik, hogy a board_spec.xml fájlban szereplő első memória a megosztott memória. file. Más szavakkal, a Linux kernel-illesztőprogram által megszerzett fizikai cím az Avalon® cím lesz, amelyet az OpenCL kernel a HPS SDRAM-nak továbbít.
A futásidejű könyvtár tekintetében használja a clCreateBuffer() hívást a megosztott memória eszközpufferként történő lefoglalásához a következő módon:
- A megosztott és nem megosztott memóriával rendelkező két DDR kártyaváltozat esetén a clCreateBuffer() lefoglalja az osztott memóriát, ha megadja a CL_MEM_USE_HOST_PTR jelzőt. Más jelzők használatával a clCreateBuffer() puffert foglal le a nem megosztott memóriában.
- A csak megosztott memóriával rendelkező egy DDR kártyaváltozat esetén a clCreateBuffer() a megadott jelzőtől függetlenül lefoglalja a megosztott memóriát.
Jelenleg a 32 bites Linux-támogatás az ARM CPU-n szabályozza a megosztott memória támogatásának mértékét az SDK futásidejű könyvtáraiban. Más szóval, futásidejű könyvtárak más környezetekben (plample, x86_64 Linux vagy 64 bites Windows) nem támogatják a megosztott memóriát.
A C5soc a következő okok miatt nem valósította meg a heterogén memóriát a megosztott és a nem megosztott memória megkülönböztetésére:
1. Előzmények – A heterogén memória támogatása nem volt elérhető az osztott memória támogatásának eredeti létrehozásakor.
2. Egységes interfész – Mivel az OpenCL nyílt szabvány, az Intel konzisztenciát tart fenn a heterogén számítási platform gyártói között. Ezért ugyanazt a felületet használják a megosztott memória lefoglalására és használatára, mint a többi kártyagyártó architektúrája.
1.4 FPGA újrakonfigurálás
A SoC FPGA-k esetében a CPU újrakonfigurálhatja az FPGA magszövetet anélkül, hogy megszakítaná a CPU működését. Az FPGA Manager hardverblokk, amely a HPS-t és az FPGA-t magába foglalja, elvégzi az újrakonfigurálást. A Linux kernel tartalmaz egy illesztőprogramot, amely lehetővé teszi az FPGA Manager egyszerű elérését.
- To view az FPGA mag állapotát, hívja meg a cat /sys/class/fpga/fpga0/ status parancsot.
A Cyclone V SoC Development Kit Reference Platform platformmal elérhető Intel FPGA SDK for OpenCL programsegédprogram ezt az interfészt használja az FPGA programozásához. Amikor egy FPGA magot átprogramoz egy működő CPU-val, a program segédprogramja végrehajtja a következő feladatok mindegyikét:
1. Az újraprogramozás előtt tiltson le minden kommunikációs hidat az FPGA és a HPS között, mind a H2F, mind az LH2F hidat.
Az újraprogramozás befejezése után engedélyezze újra ezeket a hidakat.
Figyelem: Az OpenCL rendszer nem használja az FPGA-HPS (F2H) hidat. További információkért tekintse meg a HPS-FPGA interfészek részt a Cyclone V Device Handbook 3. kötetében: Hard Processor System Technical Reference Manual.
2. Győződjön meg arról, hogy az FPGA és a HPS DDR vezérlő közötti kapcsolat le van tiltva az újraprogramozás során.
3. Győződjön meg arról, hogy az FPGA-n az FPGA megszakítások le vannak tiltva az újraprogramozás során.
Továbbá értesítse az illesztőprogramot, hogy utasítsa el az FPGA-ból érkező megszakításokat az újraprogramozás során.
A tényleges megvalósítás részleteiért tekintse meg a program segédprogram forráskódját.
Figyelmeztetés: Ne módosítsa a HPS DDR vezérlő konfigurációját, amikor a CPU fut.
Ez végzetes rendszerhibát okozhat, mivel módosíthatja a DDR-vezérlő konfigurációját, ha a CPU-ból függőben lévő memóriatranzakciók vannak. Ez azt jelenti, hogy amikor a CPU fut, nem programozhatja át az FPGA magot olyan képpel, amely más konfigurációban HPS DDR-t használ.
Ne feledje, hogy az OpenCL rendszer és az Intel SoC FPGA Embedded Design Suite (EDS) programcsomaggal elérhető Golden Hardware referenciakialakítása egyetlen 256 bites módba állítja a HPS DDR-t.
A CPU-rendszer részei, például az elágazás-előrejelző vagy az oldaltábla-előbetöltő DDR-parancsokat adhatnak ki, még akkor is, ha úgy tűnik, hogy semmi sem fut a CPU-n.
Ezért a HPS DDR vezérlő konfigurációjának beállításához a rendszerindítási idő az egyetlen biztonságos időpont.
Ez azt is jelenti, hogy az U-bootnak rendelkeznie kell egy nyers binárissal file (.rbf) kép betöltése a memóriába. Ellenkező esetben előfordulhat, hogy engedélyezi a HPS DDR-t az FPGA nem használt portjaival, majd esetleg módosítja a portkonfigurációkat. Emiatt az OpenCL Linux kernel-illesztőprogram már nem tartalmazza a HPS DDR-vezérlő konfigurációjának beállításához szükséges logikát.
Az SW3 dual in-line csomag (DIP) bekapcsolja a Cylone V SoC fejlesztőkészletet, amely szabályozza az .rbf kép várható formáját (vagyis, hogy a file tömörített és/vagy titkosított). A C5soc és a SoC EDS-hez elérhető Golden Hardware Reference Design tömörített, de nem titkosított .rbf képeket tartalmaz. Az Intel FPGA SDK for OpenCL Cyclone V SoC Kezdő lépések útmutatójában leírt SW3 DIP kapcsoló beállításai megfelelnek ennek az .rbf képkonfigurációnak.
Kapcsolódó linkek
- HPS-FPGA interfészek
- Az SW3 kapcsolók konfigurálása
1.4.1 FPGA rendszerarchitektúra részletei
A Cyclone V SoC Development Kit Reference Platform támogatása a Stratix® V Reference Platformon (s5_ref) alapul, amely az Intel FPGA SDK for OpenCL-hez érhető el.
A c5soc Qsys rendszer és a kernel-illesztőprogram általános felépítése nagyon hasonló az s5_ref-ben találhatóakhoz.
A következő FPGA alapvető összetevők a c5soc és az s5_ref fájlban is megegyeznek:
- VERSION_ID blokk
- Pihenési mechanizmus
- Memóriabank osztó
- Cache snoop felület
- Kernel óra
- Regiszter hozzáférési (CRA) blokkok vezérlése
1.5 SD Flash kártya kép elkészítése
Mivel a Cyclone V SoC FPGA egy teljes rendszer egy chipen, Ön felelős a rendszer teljes meghatározásáért. Az Intel azt javasolja, hogy SD flash kártya kép formájában küldje el. Az Intel FPGA SDK for OpenCL felhasználó egyszerűen felírhatja a képet a micro SD flash kártyára, és az SoC FPGA kártya készen áll a használatra.
Meglévő SD Flash kártya képének módosítása a 13. oldalon
Az Intel azt javasolja, hogy egyszerűen módosítsa a Cyclone V SoC fejlesztőkészlet referenciaplatformjával elérhető képet. Lehetősége van új SD flash kártya kép létrehozására is.
SD Flash kártya kép létrehozása a 14. oldalon
Lehetősége van új SD flash kártya kép létrehozására is.
1.5.1 Meglévő SD Flash kártya képének módosítása
Az Intel azt javasolja, hogy egyszerűen módosítsa a Cyclone V SoC-vel elérhető képet
Fejlesztőkészlet referenciaplatform. Lehetősége van új SD flash kártya kép létrehozására is.
A c5soc linux_sd_card_image.tgz kép file elérhető az ALTERAOCLSDKROOT/board/c5soc könyvtárban, ahol az ALTERAOCLSDKROOT az Intel FPGA SDK elérési útjára mutat az OpenCL telepítési könyvtárához.
Figyelem: Az SD flash kártya képének módosításához root vagy sudo jogosultságokkal kell rendelkeznie.
- A $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz kicsomagolása file, futtassa a tar xvfzlinux_sd_card_image.tgz parancsot.
- Fordítsa le a hello_world OpenCL example design az egyéni platform támogatásával. Nevezze át az .rbf fájlt file amelyet az Intel FPGA SDK for OpenCL Offline Compiler opencl.rbfként generál, és helyezze el az SD flash kártya képén belül a fat32 partícióra.
Letöltheti a hello_world example design az OpenCL Design Ex-tőlamples oldalon az Alterán webtelek. - Helyezze el az .rbf fájlt file a flash kártya kép fat32 partíciójába.
Figyelem: A fat32 partíciónak tartalmaznia kell mind a zImage fájlt file és az .rbf file. .rbf nélkül file, végzetes hiba történik az illesztőprogram behelyezésekor. - Miután létrehozta az SD-kártya képét, írja azt egy micro SD-kártyára a következő paranccsal: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
- Az SD flash kártya képének teszteléséhez hajtsa végre a következő feladatokat:
a. Helyezze be a micro SD flash kártyát a SoC FPGA kártyába.
b. Kapcsolja be a táblát.
c. Hívja meg az aocl diagnosz segédprogram parancsot.
1.5.2 SD Flash kártya kép létrehozása
Lehetősége van új SD flash kártya kép létrehozására is. Az új SD flash kártya kép elkészítéséhez és egy meglévő SD flash kártya képének újjáépítéséhez általános utasítások érhetők el a RocketBoards.org GSRD v14.0.2 – SD Card oldalán. webtelek.
Az alábbi lépések leírják a linux_sd_card_image.tgz kép létrehozásának folyamatát a Golden System Reference Design (GSRD) SD flash kártya képéből:
Jegyzet:
A kép c5soc képfájlból történő létrehozásához hajtsa végre az ebben az eljárásban felvázolt összes vonatkozó feladatot.
- Töltse le és csomagolja ki a GSRD SD flash kártya 14.0-s verzióját a Rocketboards.org webhelyről.
- Szerelje fel a file kiosztási táblázat (fat32) és kibővítve file rendszer (ext3) partíciók ezen a képen visszahurkolt eszközökként. Partíció csatlakoztatásához hajtsa végre a következő lépéseket:
a. Határozza meg a partíció bájtos elejét a képen belül a /sbin/fdisk -lu image_ meghívásávalfile parancs.
Plample, a W1 FAT típusú 95. partíció blokkeltolása 2121728. Blokonként 512 bájt esetén a bájt eltolás 512 bájt x 2121728 = 1086324736 bájt.
b. Határozzon meg egy szabad hurok eszközt (plample, /dev/loop0) a losstup -f parancs beírásával.
c. Feltételezve, hogy a /dev/loop0 a szabad hurok eszköz, rendelje hozzá a flash kártya képét a hurokblokk eszközhöz a losstup /dev/loop0 image_ meghívásávalfile -0 1086324736 parancs.
d. Csatlakoztassa a hurokeszközt a mount /dev/loop0 /media/disk1 parancs meghívásával.
A képen belül file, A /media/disk1 most egy csatolt fat32 partíció.
e. Ismételje meg az a-d lépéseket az ext3 partícióhoz. - Töltse le az Intel FPGA Runtime Environment for OpenCL csomag Cyclone V SoC FPGA verzióját az Altera letöltőközpontjából webtelek.
a. Kattintson a Quartus Prime szoftverkiadás melletti Letöltés gombra.
b. Adja meg a kiadás verzióját, az operációs rendszert és a letöltési módot.
c. Kattintson a További szoftverek fülre, és válassza az Intel FPGA letöltését
Futókörnyezet az OpenCL Linux Cyclone V SoC TGZ számára.
d. Miután letöltötte az aocl-rte- .arm32.tgz file, csomagolja ki, hogy
az Ön tulajdonában lévő könyvtár. - Helyezze el a kicsomagolt aocl-rte- .arm32 könyvtárat a /home/root/opencl_arm32_rte könyvtárba a kép ext3 partícióján file.
- Törölje az egyéni platform hardvermappáját, majd helyezze az egyéni platformot a /home/root/opencl_arm32_rte alkönyvtárába.
- Hozza létre az init_opencl.sh fájlt file a /home/root könyvtárban a következő tartalommal: 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
Az SDK-felhasználó a source ./init_opencl.sh parancsot futtatja a környezeti változók és az OpenCL Linux kernel-illesztőprogram betöltéséhez. - Ha frissítenie kell az előtöltőt, a DTS files, vagy a Linux kernel, szüksége van az arm-linux-gnueabihf-gcc fordítóra a SoC EDS-ből. Kövesse az Intel SoC FPGA Embedded Design Suite felhasználói kézikönyvében ismertetett utasításokat a szoftver beszerzéséhez, újrafordításához és a megfelelő frissítéshez. files a szerelt fat32 partíción.
Figyelem: A legvalószínűbb, hogy frissítenie kell az előtöltőt, ha az egyéni platform eltérő pin-használattal rendelkezik, mint a c5soc.
Ne feledje: Ha újrafordítja a Linux kernelt, fordítsa újra a Linux kernel illesztőprogramját ugyanazzal a Linux kernelforrással files. Ha eltérés van a Linux kernel illesztőprogramja és a Linux kernel között, az illesztőprogram nem töltődik be. Ezenkívül engedélyeznie kell a CMA-t.
További információért olvassa el a Linux kernel újrafordítása című részt. - Fordítsa le a hello_world OpenCL example design az egyéni platform támogatásával. Nevezze át az .rbf fájlt file amelyet az Intel FPGA SDK for OpenCL Offline Compiler opencl.rbfként generál, és helyezze el az SD flash kártya képén belül a fat32 partícióra.
Letöltheti a hello_world example design az OpenCL Design Ex-tőlamples oldalon az Alterán webtelek.
9. Miután tárolta az összes szükséges files a flash kártya képére, hívja elő a következő parancsokat:
a. szinkronizál
b. válassza le a /media/disk1 fájlt
c. leválaszt ahol az a könyvtárnév, amelyet az ext3 partíció csatlakoztatásához használ a 3 oldalon a 3. oldalon (pl.ample, /media/disk2).
d. losstup -d /dev/loop0
e. losstup -d /dev/loop1 - Tömörítse az SD flash kártya képét a következő paranccsal: tar cvfz .tgz linux_sd_card_image
- Szállítsd a .tgz file az egyéni platform gyökérkönyvtárában.
- Az SD flash kártya képének teszteléséhez hajtsa végre a következő feladatokat:
a. Írja a kapott tömörítetlen képet egy micro SD flash kártyára.
b. Helyezze be a micro SD flash kártyát a SoC FPGA kártyába.
c. Kapcsolja be a táblát.
d. Hívja meg az aocl diagnosz segédprogram parancsot.
Kapcsolódó linkek
- Intel SoC FPGA Embedded Design Suite felhasználói útmutató
- OpenCL Design Examples oldalon az Alterán webtelek
- A Linux kernel újrafordítása a 16. oldalon
A CMA engedélyezéséhez először újra kell fordítania a Linux kernelt. - Az FPGA kártya eszköznevének lekérdezése (diagnózis)
1.6 Linux kernel fordítása a Cyclone V SoC FPGA-hoz
Mielőtt OpenCL alkalmazásokat futtatna a Cyclone V SoC FPGA kártyán, le kell fordítania a Linux kernel forrását, valamint le kell fordítania és telepítenie kell az OpenCL Linux kernel illesztőprogramot.
- A Linux kernel újrafordítása a 16. oldalon
A CMA engedélyezéséhez először újra kell fordítania a Linux kernelt. - Az OpenCL Linux kernel-illesztőprogram fordítása és telepítése, 17. oldal Fordítsa le az OpenCL Linux kernel-illesztőprogramot a lefordított kernelforráshoz.
1.6.1 A Linux kernel újrafordítása
A CMA engedélyezéséhez először újra kell fordítania a Linux kernelt.
- Kattintson a GSRD v14.0 – Linux fordítása hivatkozásra a RocketBoards.org Erőforrások oldalán weba Linux kernel forráskódjának letöltésével és újraépítésével kapcsolatos utasítások eléréséhez.
Az™ Intel FPGA SDK for OpenCL-hez való használatához adja meg a socfpga-3.13-rel14.0 értéket. . - Megjegyzés: Az építési folyamat létrehozza az arch/arm/configs/socfpga_defconfig fájlt. file. Ez file megadja a socfpga alapértelmezett konfigurációjának beállításait.
Adja hozzá a következő sorokat az arch/arm/configs/socfpga_defconfig aljához 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
A CONFIG_CMA_SIZE_MBYTES konfigurációs érték beállítja a rendelkezésre álló fizikailag szomszédos memória felső határát. Ezt az értéket növelheti, ha több memóriára van szüksége. - Figyelem: Az ARM processzor rendelkezésére álló fizikai memória teljes mennyisége az SoC FPGA kártyán 1 GB. Az Intel nem javasolja, hogy a CMA-kezelőt 1 GB közelébe állítsa.
- Futtassa a make mrproper parancsot az aktuális konfiguráció tisztításához.
- Futtassa a make ARCH=arm socfpga_deconfig parancsot.
Az ARCH=arm azt jelzi, hogy az ARM architektúrát szeretné konfigurálni.
A socfpga_defconfig azt jelzi, hogy az alapértelmezett socfpga konfigurációt szeretné használni. - Futtassa az export CROSS_COMPILE=arm-linux-gnueabihf- parancsot.
Ez a parancs beállítja a CROSS_COMPILE környezeti változót, hogy megadja a kívánt szerszámlánc előtagját. - Futtassa a make ARCH=arm zImage parancsot. Az eredményül kapott kép az arch/arm/boot/zImage fájlban érhető el file.
- Helyezze el a zImage-et file a flash kártya kép fat32 partíciójába. A részletes utasításokért tekintse meg a Cyclone V SoC FPGA-specifikus GSRD felhasználói kézikönyvét a Rocketboards.org webhelyen.
- Megjegyzés: Az OpenCL Linux kernel-illesztőprogram megfelelő beillesztéséhez először töltsön be egy SDKgenerated.rbf fájlt file az FPGA-ra.
Az .rbf létrehozásához file, állíts össze egy SDK-tervet plample a Cyclone V SoC fejlesztőkészlet referenciaplatformjával, mint megcélzott egyéni platformmal.
9. Helyezze el az .rbf-et file a flash kártya kép fat32 partíciójába.
Figyelem: A fat32 partíciónak tartalmaznia kell mind a zImage fájlt file és az .rbf file. .rbf nélkül file, végzetes hiba történik az illesztőprogram behelyezésekor. - Helyezze be a programozott micro SD-kártyát, amely az SD-kártya korábban módosított vagy létrehozott képét tartalmazza, a Cyclone V SoC fejlesztőkészletbe, majd kapcsolja be az SoC FPGA kártyát.
- Ellenőrizze a telepített Linux kernel verzióját az uname -r parancs futtatásával.
- Annak ellenőrzéséhez, hogy sikeresen engedélyezte-e a CMA-t a kernelben, miközben az SoC FPGA kártya bekapcsolt állapotban van, futtassa a grep init_cma /proc/kallsyms parancsot.
A CMA engedélyezve van, ha a kimenet nem üres. - Az újrafordított Linux kernel SDK-val való használatához fordítsa le és telepítse a Linux kernel illesztőprogramját.
Kapcsolódó linkek
- Golden System Reference Design (GSRD) felhasználói kézikönyvek
- SD Flash kártya kép készítése a 13. oldalon
Mivel a Cyclone V SoC FPGA egy teljes rendszer egy chipen, Ön felelős a rendszer teljes meghatározásáért.
1.6.2 Az OpenCL Linux Kernel Driver fordítása és telepítése
Fordítsa le az OpenCL Linux kernel-illesztőprogramot a lefordított kernelforráshoz.
Az illesztőprogram forrása az Intel FPGA Runtime Environment for OpenCL Cyclone V SoC FPGA verziójában érhető el. Ezenkívül győződjön meg arról, hogy betöltött egy Intel FPGA SDK-t az OpenCL által generált .rbf-hez file az FPGA-ba, hogy elkerülje a Linux kernel modul helytelen telepítését.
- Töltse le az Intel FPGA Runtime Environment for OpenCL csomag Cyclone V SoC FPGA verzióját az Altera letöltőközpontjából webtelek.
a. Kattintson a Quartus Prime szoftverkiadás melletti Letöltés gombra.
b. Adja meg a kiadás verzióját, az operációs rendszert és a letöltési módot.
c. Kattintson a További szoftverek fülre, és válassza az Intel FPGA letöltését
Futókörnyezet az OpenCL Linux Cyclone V SoC TGZ számára.
d. Miután letöltötte az aocl-rte- .arm32.tgz file, csomagolja ki, hogy
az Ön tulajdonában lévő könyvtár.
Az illesztőprogram forrása az aocl-rte- .arm32/board/c5soc/ driver könyvtár. - Az OpenCL Linux kernel-illesztőprogram újrafordításához állítsa be a KDIR értéket az illesztőprogram Make-jábanfile a Linux kernel forrását tartalmazó könyvtárba files.
- Futtassa az export CROSS_COMPILE=arm-linux-gnueabihf- parancsot a szerszámlánc előtagjának jelzéséhez.
- Futtassa a make clean parancsot.
- Futtassa a make parancsot az aclsoc_drv.ko létrehozásához file.
- Vigye át az opencl_arm32_rte könyvtárat a Cyclone V SoC FPGA kártyára.
Az scp -r futtatása gyökér@a-ip-címed: parancs a futási környezetet a/home/root könyvtárba helyezi. - Futtassa az init_opencl.sh szkriptet, amelyet az SD-kártyakép elkészítésekor hozott létre.
- Hívja meg az aocl diagnosz segédprogram parancsot. Az init_opencl.sh sikeres futtatása után a diagnosztikai segédprogram sikeres eredményt ad vissza.
1.7 Ismert problémák
Jelenleg bizonyos korlátozások vonatkoznak az Intel FPGA SDK for OpenCL használatára a Cyclone V SoC Development Kit referenciaplatformmal.
- Nem bírálhatja felül a clGetDeviceInfo() hívás CL_DEVICE_VENDOR és CL_DEVICE_NAME karakterláncai által jelentett szállító- és táblaneveket.
- Ha a gazdagép állandó memóriát foglal le a megosztott DDR-rendszerben (azaz HPS DDR-ben), és a kernel végrehajtása után módosítja az állandó memóriát, a memóriában lévő adatok elavulhatnak. Ez a probléma azért merül fel, mert az FPGA mag nem képes lesni a CPU-HPS DDR-tranzakciókat.
Ha meg szeretné akadályozni, hogy a kernel későbbi végrehajtásai hozzáférjenek az elavult adatokhoz, hajtsa végre a következő megoldások egyikét:
• Ne módosítsa az állandó memóriát az inicializálás után.
• Ha több __konstans adatkészletre van szüksége, hozzon létre több állandó memóriapuffert.
• Ha elérhető, foglaljon le állandó memóriát a gyorsítókártyán lévő FPGA DDR-ben. - Az ARM SDK-segédprogramja csak a program- és diagnosztizálási segédprogram-parancsokat támogatja.
A flash, install és uninstall segédprogram parancsai a következő okok miatt nem alkalmazhatók a Cyclone V SoC fejlesztőkészletre:
a. A telepítő segédprogramnak le kell fordítania az aclsoc_drv Linux kernel-illesztőprogramot, és engedélyeznie kell az SoC FPGA-n. A fejlesztőgépnek el kell végeznie a fordítást; azonban már tartalmaz Linux kernelforrásokat az SoC FPGA-hoz. A fejlesztőgép Linux kernelforrásai eltérnek a SoC FPGA forrásaitól. A SoC FPGA Linux kernelforrásainak helye valószínűleg ismeretlen az SDK-felhasználó számára. Hasonlóképpen, az eltávolító segédprogram sem érhető el a Cyclone V SoC fejlesztőkészletben.
Az aclsoc_drv SoC kártyára való eljuttatása is kihívást jelent, mert a Cyclone V SoC Development Kit alapértelmezett disztribúciója nem tartalmazza a Linux kernelt. files vagy a GNU Compiler Collection (GCC) fordító.
b. A flash segédprogramhoz egy .rbf fájlt kell elhelyezni file egy OpenCL kialakítást a micro SD flash kártya FAT32 partíciójára. Jelenleg ez a partíció nincs csatlakoztatva, amikor az SDK-felhasználó bekapcsolja a kártyát. Ezért a partíció frissítésének legjobb módja egy flash kártyaolvasó és a fejlesztőgép használata. - Amikor az Intel FPGA SDK for OpenCL Offline Compiler végrehajtható fájlja között vált files (.aocx), amelyek megfelelnek a különböző kártyaváltozatoknak (vagyis a c5soc és a c5soc_sharedonly), az SDK program segédprogramját kell használnia az .aocx betöltéséhez. file az új táblaváltozathoz először. Ha egyszerűen futtatja a gazdagép alkalmazást egy új kártyaváltozat használatával, de az FPGA egy másik kártyaváltozat képét tartalmazza, végzetes hiba léphet fel.
- A .qxp file nem tartalmazza az interfészpartíció hozzárendeléseit, mert a Quartus Prime szoftver következetesen megfelel a partíció időzítési követelményeinek.
- Amikor bekapcsolja a kártyát, a média hozzáférés-vezérlés (MAC) címe véletlenszerű számra van állítva. Ha a LAN-házirend nem teszi lehetővé ezt a viselkedést, állítsa be a MAC-címet a következő műveletek végrehajtásával:
a. Az U-Boot bekapcsolása közben nyomja meg bármelyik gombot az U-Boot parancssorba való belépéshez.
b. Írja be a setenv ethaddr 00:07:ed:00:00:03 parancsot a parancssorba.
Bármilyen MAC-címet választhat.
c. Írja be a saveenv parancsot.
d. Indítsa újra a táblát.
1.8 Dokumentum felülvizsgálati előzmények
1. táblázat.
Az OpenCL Cyclone V SoC-hez készült Intel FPGA SDK felülvizsgálati előzményei
Fejlesztői készlet referenciaplatform-portolási útmutatója
Dátum | Változat | Változások |
május-17 | 2017.05.08 | • Karbantartási kioldás. |
2016. október | 2016.10.31 | • Az Altera SDK for OpenCL átmárkázott Intel FPGA SDK for OpenCL-re. • Az Altera Offline Compiler új márkaneve Intel FPGA SDK-ra az OpenCL Offline fordítóhoz. |
május-16 | 2016.05.02 | • Módosított utasítások az SD flash kártya képének létrehozásához és módosításához. • Módosított utasítások a Linux kernel és az OpenCL Linux kernel illesztőprogram újrafordítására vonatkozóan. |
november-15 | 2015.11.02 | • Karbantartási kiadás, és a Quartus II példányait Quartus Prime-ra cserélték. |
május-15 | 15.0.0 | • Az FPGA újrakonfigurálása során eltávolította az FPGA mag újraprogramozására vonatkozó utasítást val,-vel . rbf kép a macska meghívásával filenév>. rbf > /dev/ fpga0 parancsot, mert ez a módszer nem ajánlott. |
december-14 | 14.1.0 | • A dokumentumot átnevezte Altera Cyclone V SoC fejlesztőkészlet referenciaplatform-portolási útmutatóra. • Frissítette az újraprogramozási segédprogramot az aocl programrafilenév>.aocx segédprogram parancsot. • Frissítette a diagnosztikai segédprogramot az aocl diagnózishoz és az aocl diagnózishoz segédprogram parancsot. • Frissítettük az eljárást a Referenciaplatform portolása az Ön SoC kártyájára szakaszban, hogy tartalmazza a c5soc kártyapartíció áthelyezésére és módosítására vonatkozó utasításokat, hogy létrehozzon egy időzítés-tiszta partíciót a garantált időzítési zárási folyamathoz. • Beszúrta a Portált referenciaplatform frissítése témakört, hogy felvázolja a következő feladatok eljárásait: 1. A hard processzor rendszer (HPS) blokk kivételével a kártyapartícióban 2. Az SD flash kártya képének frissítése • Frissítettük az SD Flash Card kép létrehozása szakaszt. A Golden System Reference Design (GSRD) kép 14.0-s verziójának használata javasolt kiindulási pontként a SoC Embedded Design Suite (EDS) által elérhető kép helyett. • Frissítettük a Linux Kernel újrafordítása és az OpenCL Linux Kernel Driver részt: 1. Hozzáadott utasítás a CROSS COMPILE változó beállításához. 2. Módosította a futtatott parancsot annak ellenőrzésére, hogy a CMA sikeresen engedélyezve van. |
július-14 | 14.0.0 | •Első kiadás. |
Dokumentumok / Források
![]() |
Intel FPGA SDK OpenCL-hez [pdf] Felhasználói útmutató FPGA SDK OpenCL-hez, FPGA SDK, SDK OpenCL-hez, SDK |