FPGA SDK для OpenCL
Кіраўніцтва карыстальніка
UG-OCL009
2017.05.08
Апошняе абнаўленне для Intel® Quartus® Prime Design Suite: 17.0
Падпісвайцеся
Адправіць водгук
Intel® FPGA SDK для OpenCL™ Intel® Cyclone®V SoC Development Kit Reference Platform Porting Guide
V SoC Development Kit Reference Platform Кіраўніцтва па пераносу апісвае дызайн апаратнага і праграмнага забеспячэння Intel Cyclone V SoC Development Kit Reference Platform (c5soc) для выкарыстання з Intel Software Development Kit (SDK) для OpenCL Intel ® FPGA SDK для OpenCL ™ Intel Cyclone ®. Перш чым пачаць, Intel настойліва рэкамендуе вам азнаёміцца са зместам наступных дакументаў:
- Intel FPGA SDK для OpenCLIntel Cyclone V SoC Кіраўніцтва па пачатку працы
- Intel FPGA SDK for OpenCL Custom Platform Toolkit Кіраўніцтва карыстальніка
- Даведнік па прыладзе Cyclone V, том 3: Тэхнічны даведачны дапаможнік па сістэме жорсткага працэсара Акрамя таго, звярніцеся да старонкі Cyclone V SoC Development Kit і SoC Embedded Design Suite на старонцы Altera webсайт для атрымання дадатковай інфармацыі. 1 2
Увага: Intel мяркуе, што вы маеце глыбокае ўяўленне аб Intel FPGA SDK для OpenCL Custom Platform Toolkit Кіраўніцтва карыстальніка. Кіраўніцтва па пераносу эталоннай платформы Cyclone V SoC Development Kit не апісвае выкарыстанне набору карыстальніцкіх платформаў SDK для рэалізацыі карыстацкай платформы для Cyclone V SoC Development Kit. У ім апісваюцца толькі адрозненні паміж падтрымкай SDK на Cyclone V SoC Development Kit і агульным Intel FPGA SDK для карыстацкай платформы OpenCL.
Спасылкі па тэме
- Intel FPGA SDK для OpenCL Cyclone V SoC Кіраўніцтва па пачатку працы
- Intel FPGA SDK for OpenCL Custom Platform Toolkit Кіраўніцтва карыстальніка
- Даведнік па прыладзе Cyclone V, том 3: Тэхнічны даведачны дапаможнік па сістэме жорсткага працэсара
- Старонка Cyclone V SoC Development Kit і SoC Embedded Design Suite на Altera webсайт
- OpenCL і лагатып OpenCL з'яўляюцца гандлёвымі маркамі Apple Inc., якія выкарыстоўваюцца з дазволу Khronos Group™.
- Intel FPGA SDK для OpenCL заснаваны на апублікаванай спецыфікацыі Khronos і прайшоў працэс тэсціравання на адпаведнасць Khronos. Бягучы статус адпаведнасці можна знайсці на www.khronos.org/conformance.
Карпарацыя Intel. Усе правы ахоўваюцца. Intel, лагатып Intel, словы і лагатыпы Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus і Stratix з'яўляюцца гандлёвымі маркамі карпарацыі Intel або яе даччыных кампаній у ЗША і/ці іншых краінах. Intel гарантуе прадукцыйнасць сваёй FPGA і паўправадніковай прадукцыі ў адпаведнасці з бягучымі спецыфікацыямі ў адпаведнасці са стандартнай гарантыяй Intel, але пакідае за сабой права ўносіць змены ў любыя прадукты і паслугі ў любы час без папярэдняга паведамлення. Intel не нясе ніякай адказнасці або абавязацельстваў, якія вынікаюць з прымянення або выкарыстання любой інфармацыі, прадукту або паслугі, апісаных тут, за выключэннем выпадкаў, прама ўзгодненых Intel у пісьмовай форме. Кліентам Intel рэкамендуецца атрымаць апошнюю версію спецыфікацый прылады, перш чым спадзявацца на любую апублікаваную інфармацыю і перад размяшчэннем заказаў на прадукты ці паслугі.
*Іншыя назвы і брэнды могуць быць заяўлены як уласнасць іншых.
1.1.1 Cyclone V SoC Development Kit, варыянты платы эталоннай платформы
Intel FPGA SDK для OpenCL Cyclone V SoC Development Kit Reference Platform уключае два варыянты платы.
- дошка c5soc
Гэтая плата па змаўчанні забяспечвае доступ да двух банкаў памяці DDR. HPS DDR даступны як з FPGA, так і з працэсара. FPGA DDR даступны толькі праз FPGA. - дошка c5soc_shareonly
Гэты варыянт платы змяшчае толькі магчымасць падлучэння HPS DDR. FPGA DDR недаступны. Гэты варыянт платы больш эфектыўны, таму што для падтрымкі аднаго банка памяці DDR патрабуецца менш абсталявання. Плата c5soc_sharedonly таксама з'яўляецца добрай платформай для стварэння прататыпаў канчатковай вытворчасці платы з адным банкам памяці DDR.
Каб арыентавацца на гэты варыянт платы пры кампіляцыі ядра OpenCL, уключыце параметр -board c5soc_sharedonly у каманду aoc.
Для атрымання дадатковай інфармацыі на дошцы варыянт каманды aoc, звярніцеся да Intel FPGA SDK для OpenCL Кіраўніцтва па праграмаванні.
Спасылкі па тэме
Кампіляцыя ядра для пэўнай платы FPGA (–плата )
1.1.2 Змест даведачнай платформы Cyclone V SoC Development Kit
Эталонная платформа Cyclone V SoC Development Kit складаецца з наступнага files і каталогі:
File або Каталог | Апісанне |
board_env.xml | Пашыраная мова разметкі (XML) file які апісвае c5soc для Intel FPGA SDK для OpenCL. |
linux_sd_card_image.tgz | Сціснуты вобраз флэш-карты SD file які змяшчае ўсё неабходнае карыстальніку SDK для выкарыстання Cyclone V SoC Development Kit з SDK. |
arm32 | Каталог, які змяшчае наступнае: |
1.1.3 Адпаведныя характарыстыкі Cyclone V SoC Development Kit
У наступным спісе асвятляюцца кампаненты і функцыі Cyclone V SoC Development Kit, якія маюць дачыненне да Intel FPGA SDK для OpenCL:
- Двух'ядравы працэсар ARM Cortex-A9 пад кіраваннем 32-разраднай сістэмы Linux.
- Шына Advanced eXtensible Interface (AXI) паміж HPS і асноўнай структурай FPGA.
- Два ўмацаваныя кантролеры памяці DDR, кожны з якіх падключаецца да 1 гігабайта (ГБ) DDR3 SDRAM.
— Адзін кантролер DDR даступны толькі для ядра FPGA (гэта значыць FPGA DDR).
— Іншы кантролер DDR даступны як для HPS, так і для FPGA (гэта значыць, HPS DDR). Гэты агульны кантролер дазваляе свабодна дзяліцца памяццю паміж працэсарам і ядром FPGA. - Цэнтральны працэсар можа пераканфігураваць структуру ядра FPGA.
1.1.3.1 Мэта дызайну эталоннай платформы SoC Cyclone V SoC і рашэнні Intel засноўвае рэалізацыю эталоннай платформы Cyclone V SoC Development Kit на некалькіх мэтах і рашэннях праектавання. Intel рэкамендуе ўлічваць гэтыя мэты і рашэнні пры пераносе гэтай эталоннай платформы на плату SoC FPGA.
Ніжэй прыведзены мэты дызайну c5soc:
- Забяспечце максімальна магчымую прапускную здольнасць паміж ядрамі на FPGA і сістэмах памяці DDR.
- Пераканайцеся, што вылічэнні на FPGA (г.зн. на ядрах OpenCL) не перашкаджаюць іншым задачам працэсара, якія могуць уключаць абслугоўванне перыферыйных прылад.
- Пакіньце як мага больш рэсурсаў FPGA для вылічэнняў ядра замест кампанентаў інтэрфейсу.
Ніжэй прыведзены дызайнерскія рашэнні высокага ўзроўню, якія з'яўляюцца прамым следствам праектных мэт Intel:
- Эталонная платформа выкарыстоўвае толькі жорсткія кантролеры памяці DDR з самай шырокай магчымай канфігурацыяй (256 біт).
- FPGA звязваецца з кантролерам памяці HPS DDR напрамую, без удзелу шыны AXI і пераключальніка L3 ўнутры HPS. Прамая сувязь забяспечвае найлепшую прапускную здольнасць для DDR і не дае вылічэнням FPGA перашкаджаць сувязі паміж працэсарам і яго перыферыяй.
- Прамы доступ да памяці (SG-DMA) не з'яўляецца часткай логікі інтэрфейсу FPGA. Замест перадачы вялікіх аб'ёмаў даных паміж сістэмамі памяці DDR захоўвайце даныя ў агульным HPS DDR. Прамы доступ да памяці працэсара з дапамогай FPGA больш эфектыўны, чым DMA. Гэта эканоміць апаратныя рэсурсы (гэта значыць вобласць FPGA) і спрашчае драйвер ядра Linux.
Папярэджанне: Перадача памяці паміж агульнай сістэмай HPS DDR і сістэмай DDR, даступнай толькі для FPGA, вельмі павольная. Калі вы вырашыце
перадачы памяці такім чынам, выкарыстоўвайце яе толькі для вельмі невялікіх аб'ёмаў даных. - Хост і прылада выконваюць не-DMA перадачу даных паміж сабой праз мост HPS-to-FPGA (H2F), выкарыстоўваючы толькі адзін 32-бітны порт. Прычына ў тым, што без DMA ядро Linux можа выдаць толькі адзін 32-бітны запыт на чытанне або запіс, таму няма неабходнасці мець больш шырокае злучэнне.
- Хост пасылае сігналы кіравання на прыладу праз лёгкі H2F (LH2F) мост.
Паколькі сігналы кіравання ад хаста да прылады з'яўляюцца сігналамі з нізкай прапускной здольнасцю, мост LH2F ідэальна падыходзіць для гэтай задачы.
1.2 Партаванне эталоннай платформы на плату FPGA SoC
Каб перанесці эталонную платформу Cyclone V SoC Development Kit на вашу плату FPGA SoC, выканайце наступныя задачы:
- Выберыце версію эталоннай платформы c5soc з адной памяццю DDR або з дзвюма памяці DDR у якасці адпраўной кропкі вашага дызайну.
- Абнавіце размяшчэнне шпілек у ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, дзе ALTERAOCLSDKROOT - гэта шлях да месцазнаходжання Intel FPGA SDK для ўстаноўкі OpenCL, і гэта назва каталога варыянта дошкі. Каталог c5soc_sharedonly прызначаны для варыянту платы з адной сістэмай памяці DDR. Каталог c5soc прызначаны для варыянту платы з двума сістэмамі памяці DDR.
- Абнавіце налады DDR для блокаў HPS і/або FPGA SDRAM у ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
4. Усе Intel FPGA SDK для пераважных канструкцый плат OpenCL павінны забяспечваць гарантаванае закрыццё па часе. Такім чынам, размяшчэнне канструкцыі павінна быць своечасовым. Каб перанесці раздзел платы c5soc (acl_iface_partition.qxp) на вашу плату SoC FPGA, выканайце наступныя задачы:
Падрабязныя інструкцыі па мадыфікацыі і захаванні перагародкі платы можна знайсці ў Quartus
Раздзел пра інкрыментальную кампіляцыю Prime для іерархічнага і каманднага дызайну даведніка Quartus Prime Standard Edition.
а. Выдаліце acl_iface_partition.qxp з каталога ALTERAOCLSDKROOT/board/c5soc/c5soc.
б. Уключыце вобласць acl_iface_region LogicLock™, змяніўшы каманду Tcl set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region на set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
в. Скампілюйце ядро OpenCL для сваёй платы.
d. Пры неабходнасці адрэгулюйце памер і размяшчэнне вобласці LogicLock.
д. Калі вы пераканаецеся, што размяшчэнне вашага дызайну дакладнае, экспартуйце гэты падзел як экспартаваны падзел acl_iface_partition.qxp Quartus Prime File.
Як апісана ў раздзеле "Устанаўленне гарантаванага патоку часу" AIntel FPGA SDK для OpenCL Custom Platform Toolkit Кіраўніцтва карыстальніка, шляхам імпарту гэтага .qxp file у канструкцыю верхняга ўзроўню, вы выконваеце патрабаванне па забеспячэнні канструкцыі платы з гарантаваным патокам закрыцця часу.
Каб даведацца пра фактары, якія могуць паўплываць на якасць вынікаў (QoR) вашага экспартаванага раздзела, звярніцеся да раздзела "Агульная якасць вынікаў для экспартаванага раздзела платы" ў Кіраўніцтве карыстальніка Intel FPGA SDK для OpenCL Custom Platform Toolkit.
е. Адключыце вобласць LogicLock acl_iface_region, вярнуўшы каманду на этапе 2 назад да set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region. - Калі ваша плата SoC FPGA выкарыстоўвае розныя кантакты і перыферыю блока HPS, аднавіце папярэднюю загрузку і крыніцу дрэва прылад (DTS) file. Калі вы зменіце налады кантролера памяці HPS DDR, паўторна сгенеруйце праграму папярэдняй загрузкі.
- Стварыце вобраз флэш-карты SD.
- Стварыце сваю карыстальніцкую платформу, якая ўключае вобраз флэш-карты SD.
- Падумайце аб стварэнні версіі асяроддзя выканання вашай карыстальніцкай платформы для выкарыстання з асяроддзем выканання Intel FPGA (RTE) для OpenCL. Версія RTE вашай карыстацкай платформы не ўключае каталогі абсталявання і вобраз флэш-карты SD. Гэтая спецыяльная платформа загружаецца ў сістэму SoC FPGA, каб дазволіць запускаць хост-прыкладанні. Наадварот, версія SDK карыстацкай платформы неабходная для кампіляцыі ядраў OpenCL.
Савет: вы можаце выкарыстоўваць версію SDK вашай карыстацкай платформы для RTE. Захаваць
месца, выдаліце вобраз флэш-карты SD з версіі RTE вашай карыстальніцкай платформы. - Праверце сваю карыстальніцкую платформу.
Для атрымання дадатковай інфармацыі звярніцеся да раздзела Тэставанне дызайну апаратнага забеспячэння Intel FPGA SDK для OpenCL Custom Platform Toolkit Кіраўніцтва карыстальніка.
Спасылкі па тэме
- Тэставанне дызайну абсталявання
- Паступовая кампіляцыя Quartus Prime для іерархічнага і каманднага дызайну
- Устанаўленне гарантаванага патоку часу
- Агульная якасць вынікаў для экспартаванага падзелу дошкі
1.2.1 Абнаўленне партаванай эталоннай платформы
У бягучай версіі Cyclone V SoC Development Kit Reference Platform блок HPS знаходзіцца ўнутры раздзела, які вызначае ўсю няядзерную логіку. Аднак вы не можаце экспартаваць HPS як частку .qxp file. Каб абнавіць існуючую карыстальніцкую платформу, якую вы змянілі з папярэдняй версіі c5soc, укараніце паток захавання QXP, абнавіце вобраз флэш-карты SD, каб атрымаць апошняе асяроддзе выканання, і абнавіце board_spec.xml file каб уключыць аўтаміграцыю.
Altera® SDK для OpenCL версіі 14.1 і далей правярае board_spec.xml file для інфармацыі на дошцы і рэалізуе аўтаматычныя абнаўленні. Таму што вы змяняеце
дызайну шляхам рэалізацыі патоку захавання QXP, вы павінны абнавіць board_spec.xml file у яго фармат у бягучай версіі. Абнаўленне file дазваляе SDK адрозніваць незахаваныя карыстальніцкія платформы і бягучыя карыстальніцкія платформы на базе QXP. Для атрымання дадатковай інфармацыі звярніцеся да аўтаміграцыі карыстальніцкай платформы для прамой сумяшчальнасці ў Intel FPGA SDK для OpenCL Custom Platform Toolkit.
- Каб рэалізаваць паток захавання QXP у апаратным дызайне Cyclone V SoC FPGA, які перанесены з папярэдняй версіі c5soc, выканайце наступныя крокі, каб стварыць падраздзел, каб выключыць HPS з .qxp file:
а. Перш чым ствараць падзел вакол няядзернай логікі, стварыце падзел вакол HPS у наладах .qsf Quartus Prime File.
Напрыкладampль:
# Уручную падзяліце асобнік, які мадэлюе HPS-dedicated I/O set_instance_assignment -name PARTITION_HIERARCHY borde_18261 -to “system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_hps_0_hps_io:hps_io| system_acl_iface_hps_0_hps_io_border:мяжа” -section_id “system_acl_iface_hps_0_hps_io_border:мяжа”
# Усталюйце раздзел тыпу HPS_PARTITION, каб астатняя частка Quartus правільна апрацоўвалася
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=укл
–incremental_compilation_export_post_fit=укл
–incremental_compilation_export_routing=укл
–incremental_compilation_export_flatten=выкл
Пасля таго як вы выключыце HPS з падзелу, вы можаце імпартаваць .qxp file і скампілюйце свой дызайн. - Абнавіце вобраз флэш-карты SD бягучай версіяй Intel FPGA RTE для OpenCL, выканаўшы наступныя задачы:
а. Змантаваць file табліца размеркавання (fat32) і пашыраная file раздзелы сістэмы (ext3) у існуючым вобразе ў якасці прылад з зваротнай замыканнем. Для атрымання падрабязных інструкцый звярніцеся да кроку 2 у стварэнні выявы флэш-карты SD.
б. У каталогу /home/root/opencl_arm32_rte выдаліце fileз папярэдняй версіі RTE.
в. Спампуйце і распакуйце бягучую версію RTE у каталог /home/root/opencl_arm32_rte.
d. У ст /driver/version.h file вашай карыстальніцкай платформы, абнавіце прызначэнне ACL_DRIVER_VERSION да . (напрыклад,ample, 16.1.x, дзе 16.1 - гэта версія SDK, а x - версія драйвера, якую вы задалі).
д. Аднавіць драйвер.
е. Выдаліце тэчку(-і) абсталявання вашай Карыстальніцкай платформы. Скапіруйце карыстальніцкую платформу разам з абноўленым драйверам у каталог /home/root/opencl_arm_rte/board.
г. Скапіруйце Altera.icd file з каталога /home/root/opencl_arm32_rte і дадайце яго ў каталог /etc/OpenCL/vendors.
ч. Адключыце і пратэстуйце новы вобраз. Для атрымання падрабязных інструкцый звярніцеся да крокаў з 8 па 11 у раздзеле "Стварэнне выявы флэш-карты SD".
Спасылкі па тэме
- Стварэнне выявы флэш-карты SD на старонцы 14
У вас таксама ёсць магчымасць стварыць новы вобраз флэш-карты SD. - Аўтаміграцыя карыстальніцкай платформы для прамой сумяшчальнасці
1.3 Падтрымка праграмнага забеспячэння для агульнай памяці
Агульная фізічная памяць паміж FPGA і CPU з'яўляецца пераважнай памяццю для ядраў OpenCL, якія працуюць на SoC FPGA. Паколькі FPGA атрымлівае доступ да агульнай фізічнай памяці, у адрозненне ад агульнай віртуальнай памяці, яна не мае доступу да табліц старонак працэсара, якія супастаўляюць віртуальныя адрасы карыстальнікаў з адрасамі фізічных старонак.
Што тычыцца апаратнага забеспячэння, ядра OpenCL атрымліваюць доступ да агульнай фізічнай памяці праз прамое падключэнне да жорсткага кантролера памяці HPS DDR. Што тычыцца праграмнага забеспячэння, падтрымка агульнай фізічнай памяці прадугледжвае наступныя меркаванні:
- Тыповыя праграмныя рэалізацыі для размеркавання памяці на працэсары (напрыклад,ample, функцыя malloc()) не можа вылучыць вобласць памяці, якую можа выкарыстоўваць FPGA.
Памяць, якую выдзяляе функцыя malloc(), з'яўляецца бесперапыннай у адраснай прасторы віртуальнай памяці, але любыя асноўныя фізічныя старонкі наўрад ці будуць сумежнымі фізічна. Такім чынам, хост павінен мець магчымасць выдзяляць фізічна сумежныя вобласці памяці. Аднак гэтая магчымасць не існуе ў праграмах карыстальніцкай прасторы ў Linux. Такім чынам, драйвер ядра Linux павінен выканаць размеркаванне. - Драйвер ядра OpenCL SoC FPGA Linux уключае функцыю mmap() для размеркавання агульнай фізічнай памяці і адлюстравання яе ў прасторы карыстальніка. Функцыя mmap() выкарыстоўвае стандартны выклік ядра Linux dma_alloc_coherent() для запыту фізічна сумежных абласцей памяці для сумеснага выкарыстання з прыладай.
- У стандартным ядры Linux dma_alloc_coherent() не вылучае фізічна сумежную памяць памерам больш за 0.5 мегабайт (МБ). Каб дазволіць dma_alloc_coherent() выдзяляць вялікія аб'ёмы фізічна сумежнай памяці, уключыце функцыю бесперапыннага размеркавання памяці (CMA) ядра Linux, а затым перакампілюйце ядро Linux.
Для Cyclone V SoC Development Kit Reference Platform CMA кіруе 512 МБ з 1 ГБ фізічнай памяці. Вы можаце павялічваць або памяншаць гэта значэнне ў залежнасці ад аб'ёму агульнай памяці, неабходнага дадатку. Выклік dma_alloc_coherent() можа быць не ў стане вылучыць усе 512 МБ фізічна сумежнай памяці; аднак ён можа рэгулярна атрымліваць прыблізна 450 МБ памяці. - ЦП можа кэшаваць памяць, якую выдзяляе выклік dma_alloc_coherent(). У прыватнасці, аперацыі запісу з хост-прыкладання не бачныя для ядраў OpenCL. Функцыя mmap() у драйверы ядра OpenCL SoC FPGA Linux таксама змяшчае выклікі функцыі pgprot_noncached() або remap_pf_range() для відавочнага адключэння кэшавання для гэтай вобласці памяці.
- Пасля таго як функцыя dma_alloc_coherent() выдзяляе фізічна сумежную памяць, функцыя mmap() вяртае віртуальны адрас у пачатак дыяпазону, які з'яўляецца дыяпазонам адрасоў памяці, якую вы выдзяляеце. Прыкладанню хоста патрабуецца гэты віртуальны адрас для доступу да памяці. З іншага боку, ядра OpenCL патрабуюць фізічных адрасоў. Драйвер ядра Linux адсочвае адлюстраванне адрасоў віртуальнага і фізічнага. Вы можаце адлюстраваць фізічныя адрасы, якія mmap() вяртае, на фактычныя фізічныя адрасы, дадаўшы запыт да драйвера.
Выклік інтэрфейсу прыкладнога праграмавання (API) MMD aocl_mmd_shared_mem_alloc() уключае ў сябе наступныя запыты:
а. Функцыя mmap(), якая выдзяляе памяць і вяртае віртуальны адрас.
б. Дадатковы запыт, які адлюстроўвае вернуты віртуальны адрас у фізічны адрас.
Затым выклік API MMD aocl_mmd_shared_mem_alloc() вяртае два адрасы
— фактычны вернуты адрас з'яўляецца віртуальным адрасам, а фізічны адрас ідзе ў device_ptr_out.
Заўвага: Драйвер можа адлюстроўваць толькі віртуальныя адрасы, якія вяртае функцыя mmap(), на фізічныя адрасы. Калі вы запытваеце фізічны адрас любога іншага віртуальнага паказальніка, драйвер вяртае значэнне NULL.
Папярэджанне: Intel FPGA SDK для бібліятэк выканання OpenCL мяркуе, што агульная памяць з'яўляецца першай памяццю, пералічанай у board_spec.xml file. Іншымі словамі, фізічны адрас, які атрымлівае драйвер ядра Linux, становіцца адрасам Avalon®, які ядро OpenCL перадае ў HPS SDRAM.
Што тычыцца бібліятэкі часу выканання, выкарыстоўвайце выклік clCreateBuffer(), каб вылучыць агульную памяць у якасці буфера прылады наступным чынам:
- Для варыянта платы з двума DDR з агульнай і неагульнай памяццю clCreateBuffer() выдзяляе агульную памяць, калі вы ўказваеце сцяг CL_MEM_USE_HOST_PTR. Выкарыстанне іншых сцягоў прымушае clCreateBuffer() выдзяляць буфер у неагульнай памяці.
- Для варыянту платы з адной платай DDR і толькі з агульнай памяццю clCreateBuffer() выдзяляе агульную памяць незалежна ад таго, які сцяг вы пазначыце.
У цяперашні час падтрымка 32-бітнай версіі Linux на працэсары ARM вызначае ступень падтрымкі агульнай памяці ў бібліятэках часу выканання SDK. Іншымі словамі, бібліятэкі часу выканання, скампіляваныя ў іншыя асяроддзя (напрыклад,ample, x86_64 Linux або 64-разрадная Windows) не падтрымліваюць агульную памяць.
C5soc не рэалізаваў гетэрагенную памяць для адрознення агульнай і неагульнай памяці па наступных прычынах:
1. Гісторыя — падтрымка гетэрагеннай памяці не была даступная, калі першапачаткова стваралася падтрымка агульнай памяці.
2. Адзіны інтэрфейс — паколькі OpenCL з'яўляецца адкрытым стандартам, Intel падтрымлівае ўзгодненасць паміж пастаўшчыкамі гетэрагенных вылічальных платформ. Такім чынам, для размеркавання і выкарыстання агульнай памяці выкарыстоўваецца той жа інтэрфейс, што і архітэктуры іншых вытворцаў плат.
1.4 Рэканфігурацыя FPGA
Для SoC FPGA працэсар можа пераканфігураваць структуру ядра FPGA без перапынення працы працэсара. Апаратны блок FPGA Manager, які спалучае HPS і асноўную FPGA, выконвае рэканфігурацыю. Ядро Linux уключае драйвер, які забяспечвае лёгкі доступ да дыспетчара FPGA.
- каб view стан ядра FPGA, выклічце каманду cat /sys/class/fpga/fpga0/ status.
Праграмная ўтыліта Intel FPGA SDK для OpenCL, даступная з базавай платформай Cyclone V SoC Development Kit, выкарыстоўвае гэты інтэрфейс для праграмавання FPGA. Пры перапраграмаванні ядра FPGA з запушчаным працэсарам утыліта выконвае ўсе наступныя задачы:
1. Перад перапраграмаваннем адключыце ўсе камунікацыйныя масты паміж FPGA і HPS, як H2F, так і LH2F.
Зноў уключыце гэтыя масты пасля завяршэння перапраграмавання.
Увага: сістэма OpenCL не выкарыстоўвае мост FPGA-HPS (F2H). Для атрымання дадатковай інфармацыі звярніцеся да раздзела «Інтэрфейсы HPS-FPGA» у Даведніку па прыладзе Cyclone V, том 3: Тэхнічнае даведачнае кіраўніцтва па сістэме жорсткага працэсара.
2. Пераканайцеся, што сувязь паміж FPGA і кантролерам HPS DDR адключана падчас перапраграмавання.
3. Пераканайцеся, што перапыненні FPGA на FPGA адключаны падчас перапраграмавання.
Таксама паведаміце драйверу, каб ён адхіляў любыя перапыненні ад FPGA падчас перапраграмавання.
Пракансультуйцеся з зыходным кодам утыліты праграмы, каб даведацца пра фактычную рэалізацыю.
Папярэджанне: Не змяняйце канфігурацыю кантролера HPS DDR, калі працэсар працуе.
Гэта можа выклікаць фатальную сістэмную памылку, таму што вы можаце змяніць канфігурацыю кантролера DDR, калі ёсць незавершаныя транзакцыі памяці з ЦП. Гэта азначае, што калі працэсар працуе, вы не можаце перапраграмаваць ядро FPGA з выявай, якая выкарыстоўвае HPS DDR у іншай канфігурацыі.
Памятайце, што сістэма OpenCL і эталонны дызайн апаратнага забеспячэння Golden Hardware, даступны з наборам убудаваных дызайнаў Intel SoC FPGA (EDS), пераводзяць HPS DDR у адзіны 256-бітны рэжым.
Сістэмныя часткі працэсара, такія як прадказальнік разгалінаванняў або сродак папярэдняй выбаркі табліцы старонак, могуць выдаваць каманды DDR, нават калі здаецца, што на працэсары нічога не працуе.
Такім чынам, час загрузкі з'яўляецца адзіным бяспечным часам для ўстаноўкі канфігурацыі кантролера HPS DDR.
Гэта таксама азначае, што U-boot павінен мець неапрацаваны двайковы файл file (.rbf) выява для загрузкі ў памяць. У адваротным выпадку вы маглі б уключыць HPS DDR з нявыкарыстанымі партамі на FPGA, а потым патэнцыйна змяніць канфігурацыі партоў. Па гэтай прычыне драйвер ядра OpenCL Linux больш не ўключае логіку, неабходную для ўстаноўкі канфігурацыі кантролера HPS DDR.
Двухрадковы пакет SW3 (DIP) уключае Cylone V SoC Development Kit, які кантралюе чаканую форму выявы .rbf (гэта значыць, ці будзе file сціснуты і/або зашыфраваны). C5soc і Golden Hardware Reference Design, даступны з SoC EDS, уключаюць сціснутыя, але незашыфраваныя выявы .rbf. Налады DIP-пераключальніка SW3, апісаныя ў Intel FPGA SDK для OpenCL Cyclone V SoC, Інструкцыя па пачатку працы, адпавядаюць гэтай канфігурацыі выявы .rbf.
Спасылкі па тэме
- Інтэрфейсы HPS-FPGA
- Настройка пераключальнікаў SW3
1.4.1 Дэталі архітэктуры сістэмы FPGA
Падтрымка эталоннай платформы Cyclone V SoC Development Kit заснавана на эталоннай платформе Stratix® V (s5_ref), даступнай з Intel FPGA SDK для OpenCL.
Агульная арганізацыя сістэмы c5soc Qsys і драйвера ядра вельмі падобныя да тых, што ў s5_ref.
Наступныя асноўныя кампаненты FPGA аднолькавыя ў c5soc і s5_ref:
- Блок VERSION_ID
- Механізм адпачынку
- Раздзяляльнік банка памяці
- Інтэрфейс адсочвання кэша
- Гадзіннік ядра
- Блокі доступу да рэгістра кіравання (CRA).
1.5 Стварэнне выявы флэш-карты SD
Паколькі Cyclone V SoC FPGA з'яўляецца паўнавартаснай сістэмай на чыпе, вы адказваеце за прадастаўленне поўнага вызначэння сістэмы. Intel рэкамендуе даставіць яго ў выглядзе выявы флэш-карты SD. Карыстальнік Intel FPGA SDK для OpenCL можа проста запісаць выяву на флэш-карту micro SD, і плата SoC FPGA гатовая да выкарыстання.
Змена існуючага відарыса флэш-карты SD на старонцы 13
Intel рэкамендуе вам проста змяніць вобраз, даступны з эталоннай платформай Cyclone V SoC Development Kit. У вас таксама ёсць магчымасць стварыць новы вобраз флэш-карты SD.
Стварэнне выявы флэш-карты SD на старонцы 14
У вас таксама ёсць магчымасць стварыць новы вобраз флэш-карты SD.
1.5.1 Змена існуючага выявы флэш-карты SD
Intel рэкамендуе вам проста змяніць вобраз, даступны з Cyclone V SoC
Даведачная платформа камплекта распрацоўшчыкаў. У вас таксама ёсць магчымасць стварыць новы вобраз флэш-карты SD.
Вобраз c5soc linux_sd_card_image.tgz file даступны ў каталогу ALTERAOCLSDKROOT/board/c5soc, дзе ALTERAOCLSDKROOT паказвае на шлях Intel FPGA SDK для каталога ўстаноўкі OpenCL.
Увага: Каб змяніць вобраз флэш-карты SD, вы павінны мець прывілеі root або sudo.
- Каб распакаваць $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, выканайце каманду tar xvfzlinux_sd_card_image.tgz.
- Скампілюйце hello_world OpenCL example дызайн з выкарыстаннем падтрымкі карыстацкай платформы. Перайменаваць .rbf file які Intel FPGA SDK для аўтаномнага кампілятара OpenCL стварае як opencl.rbf, і змясціць яго ў раздзел fat32 у вобразе флэш-карты SD.
Вы можаце спампаваць hello_world example дызайн з OpenCL Design ExampLes старонка на Altera webсайт. - Змесціце .rbf file у раздзел fat32 выявы флэш-карты.
Увага: Раздзел fat32 павінен утрымліваць як zImage file і .rbf file. Без .rbf file, пры ўстаўцы драйвера адбудзецца фатальная памылка. - Пасля стварэння выявы SD-карты запішыце яе на карту micro SD, выклікаўшы наступную каманду: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
- Каб праверыць вобраз флэш-карты SD, выканайце наступныя задачы:
а. Устаўце флэш-карту micro SD у плату SoC FPGA.
б. Уключыце дошку.
в. Выклічце каманду ўтыліты дыягностыкі aocl.
1.5.2 Стварэнне выявы флэш-карты SD
У вас таксама ёсць магчымасць стварыць новы вобраз флэш-карты SD. Агульныя інструкцыі па стварэнні новага вобраза флэш-карты SD і аднаўленні існуючага вобраза флэш-карты SD даступны на старонцы GSRD v14.0.2 – SD Card на RocketBoards.org webсайт.
Наступныя крокі апісваюць працэдуру стварэння выявы linux_sd_card_image.tgz з выявы флэш-карты SD Golden System Reference Design (GSRD):
Заўвага:
Каб стварыць вобраз з вобраза c5soc, выканайце ўсе прыдатныя задачы, апісаныя ў гэтай працэдуры.
- Спампуйце і распакуйце вобраз флэш-карты GSRD SD версіі 14.0 з Rocketboards.org.
- Змантаваць file табліца размеркавання (fat32) і пашыраная file раздзелы сістэмы (ext3) на гэтым вобразе як прылады з замыканнем. Каб змантаваць раздзел, выканайце наступныя дзеянні:
а. Вызначце пачатак байта падзелу ў выяве, выклікаўшы /sbin/fdisk -lu image_file загадваць.
Напрыкладample, падзел нумар 1 тыпу W95 FAT мае зрушэнне блока 2121728. Пры 512 байтах на блок зрушэнне байтаў складае 512 байт x 2121728 = 1086324736 байт.
б. Вызначце прыладу свабоднага контуру (напрыклад,ample, /dev/loop0), увёўшы каманду losetup -f.
в. Калі выказаць здагадку, што /dev/loop0 з'яўляецца прыладай свабоднага цыкла, прызначце вобраз флэш-карты прыладзе блока цыкла, выклікаўшы losetup /dev/loop0 image_file -0 1086324736 каманда.
d. Змантуйце прыладу цыкла, выклікаўшы каманду mount /dev/loop0 /media/disk1.
У межах выявы file, /media/disk1 цяпер усталяваны раздзел fat32.
д. Паўтарыце крокі ад a да d для падзелу ext3. - Спампуйце версію Cyclone V SoC FPGA пакета Intel FPGA Runtime Environment для OpenCL з Цэнтра загрузкі на Altera webсайт.
а. Націсніце кнопку «Спампаваць» побач з версіяй праграмнага забеспячэння Quartus Prime.
б. Пакажыце версію выпуску, аперацыйную сістэму і спосаб загрузкі.
в. Пстрыкніце ўкладку «Дадатковае праграмнае забеспячэнне» і абярыце загрузку Intel FPGA
Асяроддзе выканання для OpenCL Linux Cyclone V SoC TGZ.
d. Пасля загрузкі aocl-rte- .arm32.tgz file, распакуйце яго ў
каталог, якім вы валодаеце. - Змесціце распакаваны aocl-rte- каталог .arm32 у каталог /home/root/opencl_arm32_rte на раздзеле выявы ext3 file.
- Выдаліце тэчку(-ы) апаратнага забеспячэння вашай Карыстальніцкай платформы, а затым змесціце Карыстальніцкую платформу ў падкаталог /home/root/ opencl_arm32_rte форуму.
- Стварыце init_opencl.sh file у каталогу /home/root з наступным зместам: export ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ экспарт PATH=$ALTERAOCLSDKROOT/bin:$PATH экспарт LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
Карыстальнік SDK запускае каманду source ./init_opencl.sh для загрузкі зменных асяроддзя і драйвера ядра OpenCL Linux. - Калі вам трэба абнавіць праграму папярэдняй загрузкі, DTS files або ядра Linux, вам спатрэбіцца кампілятар arm-linux-gnueabihf-gcc з SoC EDS. Выконвайце інструкцыі, выкладзеныя ў Кіраўніцтве карыстальніка Intel SoC FPGA Embedded Design Suite, каб атрымаць праграмнае забеспячэнне, перакампіляваць яго і абнавіць адпаведныя files на ўсталяваным раздзеле fat32.
Увага: Верагодней за ўсё, што вам спатрэбіцца абнавіць папярэднюю загрузку, калі ваша карыстальніцкая платформа выкарыстоўвае іншыя кантакты, чым у c5soc.
Памятайце: калі вы перакампілюеце ядро Linux, перакампілюйце драйвер ядра Linux з той жа крыніцай ядра Linux fileс. Калі ёсць несупадзенне паміж драйверам ядра Linux і ядром Linux, драйвер не загрузіцца. Акрамя таго, вы павінны ўключыць CMA.
Для атрымання дадатковай інфармацыі звярніцеся да Паўторная кампіляцыя ядра Linux. - Скампілюйце hello_world OpenCL example дызайн з выкарыстаннем падтрымкі карыстацкай платформы. Перайменаваць .rbf file які Intel FPGA SDK для аўтаномнага кампілятара OpenCL стварае як opencl.rbf, і змясціць яго ў раздзел fat32 у вобразе флэш-карты SD.
Вы можаце спампаваць hello_world example дызайн з OpenCL Design ExampLes старонка на Altera webсайт.
9. Пасля захоўваеце ўсё неабходнае files на выяву флэш-карты, выклічце наступныя каманды:
а. сінхранізацыя
б. дэмантаваць /media/disk1
в. дэмантаваць дзе гэта імя каталога, які вы выкарыстоўваеце для мантавання падзелу ext3 у 3 на старонцы 3 (напрыклад,ample, /носьбіт/дыск2).
d. losetup -d /dev/loop0
д. losetup -d /dev/loop1 - Сцісніце выяву флэш-карты SD, выклікаўшы наступную каманду: tar cvfz .tgz linux_sd_card_image
- Даставіць .tgz file у каранёвым каталогу вашай карыстальніцкай платформы.
- Каб праверыць вобраз флэш-карты SD, выканайце наступныя задачы:
а. Запішыце атрыманы несціснуты малюнак на флэш-карту micro SD.
б. Устаўце флэш-карту micro SD у плату SoC FPGA.
в. Уключыце дошку.
d. Выклічце каманду ўтыліты дыягностыкі aocl.
Спасылкі па тэме
- Кіраўніцтва карыстальніка Intel SoC FPGA Embedded Design Suite
- OpenCL Design ExampLes старонка на Altera webсайт
- Перакампіляцыя ядра Linux на старонцы 16
Каб уключыць CMA, вы павінны спачатку перакампіляваць ядро Linux. - Запыт назвы прылады вашай платы FPGA (дыягностыка)
1.6 Кампіляцыя ядра Linux для Cyclone V SoC FPGA
Перад запускам праграм OpenCL на плаце Cyclone V SoC FPGA неабходна скампіляваць зыходны код ядра Linux, а таксама скампіляваць і ўсталяваць драйвер ядра OpenCL Linux.
- Перакампіляцыя ядра Linux на старонцы 16
Каб уключыць CMA, вы павінны спачатку перакампіляваць ядро Linux. - Кампіляцыя і ўстаноўка драйвера ядра OpenCL Linux на старонцы 17 Скампілюйце драйвер ядра OpenCL Linux з дапамогай скампіляванага зыходнага кода ядра.
1.6.1 Перакампіляцыя ядра Linux
Каб уключыць CMA, вы павінны спачатку перакампіляваць ядро Linux.
- Пстрыкніце спасылку GSRD v14.0 – Кампіляцыя Linux на старонцы рэсурсаў RocketBoards.org webсайт, каб атрымаць доступ да інструкцый па загрузцы і перабудове зыходнага кода ядра Linux.
Для выкарыстання з™ Intel FPGA SDK для OpenCL укажыце socfpga-3.13-rel14.0 у якасці . - Заўвага: працэс зборкі стварае arch/arm/configs/socfpga_defconfig file. гэта file вызначае налады для канфігурацыі socfpga па змаўчанні.
Дадайце наступныя радкі ўнізе arch/arm/configs/socfpga_defconfig file.
CONFIG_MEMORY_ISOLATION=г
CONFIG_CMA=г
CONFIG_DMA_CMA=г
CONFIG_CMA_DEBUG=г
CONFIG_CMA_SIZE_MBYTES=512
CONFIG_CMA_SIZE_SEL_MBYTES=г
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
Значэнне канфігурацыі CONFIG_CMA_SIZE_MBYTES усталёўвае верхнюю мяжу агульнай колькасці даступнай фізічна сумежнай памяці. Вы можаце павялічыць гэта значэнне, калі вам патрабуецца больш памяці. - Увага: Агульны аб'ём фізічнай памяці, даступнай для працэсара ARM на плаце SoC FPGA, складае 1 ГБ. Intel не рэкамендуе ўсталёўваць дыспетчар CMA блізка да 1 ГБ.
- Выканайце каманду make mrproper, каб ачысціць бягучую канфігурацыю.
- Выканайце каманду make ARCH=arm socfpga_deconfig.
ARCH=arm паказвае, што вы хочаце наладзіць архітэктуру ARM.
socfpga_defconfig паказвае, што вы хочаце выкарыстоўваць стандартную канфігурацыю socfpga. - Выканайце каманду export CROSS_COMPILE=arm-linux-gnueabihf-.
Гэтая каманда задае зменную асяроддзя CROSS_COMPILE для ўказання прэфікса патрэбнай ланцужкі інструментаў. - Выканайце каманду make ARCH=arm zImage. Выніковы малюнак даступны ў arch/arm/boot/zImage file.
- Змесціце zImage file у раздзел fat32 выявы флэш-карты. Падрабязныя інструкцыі глядзіце ў Кіраўніцтве карыстальніка GSRD Cyclone V SoC FPGA на Rocketboards.org.
- Заўвага: Каб правільна ўставіць драйвер ядра OpenCL Linux, спачатку загрузіце SDKgenerated.rbf file на FPGA.
Каб стварыць файл .rbf file, скампіляваць дызайн SDK напрample з эталоннай платформай Cyclone V SoC Development Kit у якасці мэтавай карыстацкай платформы.
9. Змесціце .rbf file у раздзел fat32 выявы флэш-карты.
Увага: падзел fat32 павінен утрымліваць як zImage file і .rbf file. Без .rbf file, пры ўстаўцы драйвера адбудзецца фатальная памылка. - Устаўце запраграмаваную мікра SD-карту, якая змяшчае вобраз SD-карты, які вы змянілі або стварылі раней, у Cyclone V SoC Development Kit, а затым уключыце плату SoC FPGA.
- Праверце версію ўсталяванага ядра Linux, выканаўшы каманду uname -r.
- Каб пераканацца, што вы паспяхова ўключылі CMA ў ядры, калі плата SoC FPGA уключана, выканайце каманду grep init_cma /proc/kallsyms.
CMA уключаны, калі вывад не пусты. - Каб выкарыстоўваць перакампіляванае ядро Linux з SDK, скампілюйце і ўсталюйце драйвер ядра Linux.
Спасылкі па тэме
- Кіраўніцтва карыстальніка Golden System Reference Design (GSRD).
- Стварэнне выявы флэш-карты SD на старонцы 13
Паколькі Cyclone V SoC FPGA з'яўляецца паўнавартаснай сістэмай на чыпе, вы адказваеце за прадастаўленне поўнага вызначэння сістэмы.
1.6.2 Кампіляцыя і ўсталяванне драйвера ядра OpenCL Linux
Скампілюйце драйвер ядра OpenCL Linux з адкампіляваным зыходным кодам ядра.
Крыніца драйвера даступная ў версіі Cyclone V SoC FPGA асяроддзя выканання Intel FPGA для OpenCL. Акрамя таго, пераканайцеся, што вы загрузілі Intel FPGA SDK для .rbf, згенераванага OpenCL file у FPGA, каб прадухіліць няправільную ўстаноўку модуля ядра Linux.
- Спампуйце версію Cyclone V SoC FPGA пакета Intel FPGA Runtime Environment для OpenCL з Цэнтра загрузкі на Altera webсайт.
а. Націсніце кнопку «Спампаваць» побач з версіяй праграмнага забеспячэння Quartus Prime.
б. Пакажыце версію выпуску, аперацыйную сістэму і спосаб загрузкі.
в. Пстрыкніце ўкладку «Дадатковае праграмнае забеспячэнне» і абярыце загрузку Intel FPGA
Асяроддзе выканання для OpenCL Linux Cyclone V SoC TGZ.
d. Пасля загрузкі aocl-rte- .arm32.tgz file, распакуйце яго ў
каталог, якім вы валодаеце.
Крыніца драйвера знаходзіцца ў aocl-rte- Каталог драйвераў .arm32/board/c5soc/. - Каб перакампіляваць драйвер ядра OpenCL Linux, усталюйце значэнне KDIR у Make драйвераfile у каталог, які змяшчае зыходны код ядра Linux files.
- Выканайце каманду export CROSS_COMPILE=arm-linux-gnueabihf-, каб пазначыць прэфікс вашай ланцужкі інструментаў.
- Выканайце каманду make clean.
- Выканайце каманду make, каб стварыць aclsoc_drv.ko file.
- Перанясіце каталог opencl_arm32_rte на плату Cyclone V SoC FPGA.
Запуск scp -r root@your-ipaddress: Каманда змяшчае асяроддзе выканання ў /home/root каталог. - Запусціце скрыпт init_opencl.sh, які вы стварылі пры стварэнні выявы SD-карты.
- Выклічце каманду ўтыліты дыягностыкі aocl. Утыліта дыягностыкі верне прахадны вынік пасля паспяховага запуску init_opencl.sh.
1.7 Вядомыя праблемы
У цяперашні час існуюць пэўныя абмежаванні на выкарыстанне Intel FPGA SDK для OpenCL з эталоннай платформай Cyclone V SoC Development Kit.
- Вы не можаце перавызначыць назвы пастаўшчыка і платы, якія паведамляюць радкі CL_DEVICE_VENDOR і CL_DEVICE_NAME выкліку clGetDeviceInfo().
- Калі хост выдзяляе пастаянную памяць у агульнай сістэме DDR (гэта значыць HPS DDR) і змяняе пастаянную памяць пасля выканання ядра, даныя ў памяці могуць састарэць. Гэтая праблема ўзнікае таму, што ядро FPGA не можа сачыць за транзакцыямі CPU-HPS DDR.
Каб прадухіліць наступныя выкананні ядра ад доступу да састарэлых даных, прымяніце адно з наступных абыходных шляхоў:
• Не змяняйце канстантную памяць пасля яе ініцыялізацыі.
• Калі вам патрэбныя некалькі набораў даных __constant, стварыце некалькі пастаянных буфераў памяці.
• Пры наяўнасці вылучыце пастаянную памяць у FPGA DDR на плаце паскаральніка. - Утыліта SDK на ARM падтрымлівае толькі каманды праграмы і ўтыліты дыягностыкі.
Каманды ўтыліты flash, install і uninstall не прымяняюцца да Cyclone V SoC Development Kit па наступных прычынах:
а. Утыліта ўстаноўкі павінна скампіляваць драйвер ядра Linux aclsoc_drv і ўключыць яго на SoC FPGA. Машына распрацоўкі павінна выканаць кампіляцыю; аднак ён ужо змяшчае зыходныя коды ядра Linux для SoC FPGA. Зыходныя коды ядра Linux для машыны распрацоўкі адрозніваюцца ад зыходных кодаў для SoC FPGA. Размяшчэнне зыходных кодаў ядра Linux для SoC FPGA, верагодна, невядома карыстальніку SDK. Падобным чынам утыліта выдалення таксама недаступная для Cyclone V SoC Development Kit.
Акрамя таго, дастаўка aclsoc_drv на плату SoC з'яўляецца складанай задачай, таму што стандартны дыстрыбутыў Cyclone V SoC Development Kit не ўтрымлівае ядра Linux files або кампілятар GNU Compiler Collection (GCC).
б. Утыліта флэш патрабуе размяшчэння .rbf file дызайну OpenCL на раздзел FAT32 флэш-карты micro SD. У цяперашні час гэты падзел не мантуецца, калі карыстальнік SDK ўключае плату. Такім чынам, лепшы спосаб абнавіць раздзел - гэта выкарыстоўваць счытвальнік флэш-карт і машыну распрацоўкі. - Пры пераключэнні паміж выканальным файлам Intel FPGA SDK для OpenCL Offline Compiler files (.aocx), якія адпавядаюць розным варыянтам платы (г.зн. c5soc і c5soc_shareonly), вы павінны выкарыстоўваць утыліту SDK для загрузкі .aocx file для новага варыянту платы ў першы раз. Калі вы проста запускаеце галоўную праграму з выкарыстаннем новага варыянту платы, але FPGA змяшчае выяву з іншага варыянту платы, можа адбыцца фатальная памылка.
- .qxp file не ўключае прызначэння раздзелаў інтэрфейсу, таму што праграмнае забеспячэнне Quartus Prime паслядоўна адпавядае патрабаванням часу для гэтага раздзела.
- Калі вы ўключаеце плату, яе адрас кантролю доступу да медыя (MAC) усталёўваецца ў выпадковае лік. Калі ваша палітыка лакальнай сеткі не дазваляе такія паводзіны, усталюйце MAC-адрас, выканаўшы наступныя дзеянні:
а. Падчас уключэння U-Boot націсніце любую клавішу, каб увайсці ў камандны радок U-Boot.
б. Увядзіце setenv ethaddr 00:07:ed:00:00:03 у камандным радку.
Вы можаце выбраць любы MAC-адрас.
в. Увядзіце каманду saveenv.
d. Перазагрузіце плату.
1.8 Гісторыя версій дакумента
Табліца 1.
Дакументуйце гісторыю версій Intel FPGA SDK для OpenCL Cyclone V SoC
Кіраўніцтва па пераносу даведачнай платформы Development Kit
Дата | Версія | Змены |
мая-17 | 2017.05.08 | • Тэхнічнае абслугоўванне. |
Кастрычнік 2016 | 2016.10.31 | • Рэбрэндынг Altera SDK для OpenCL на Intel FPGA SDK для OpenCL. • Рэбрэндынг аўтаномнага кампілятара Altera на Intel FPGA SDK для аўтаномнага кампілятара OpenCL. |
мая-16 | 2016.05.02 | • Змененыя інструкцыі па стварэнні і мадыфікацыі выявы флэш-карты SD. •Змененыя інструкцыі па перакампіляцыі ядра Linux і драйвера ядра OpenCL Linux. |
Лістапад-15 | 2015.11.02 | • Выпуск для абслугоўвання і зменены асобнікі Quartus II на Quartus Prime. |
мая-15 | 15.0.0 | •У пераканфігурацыі FPGA выдалена інструкцыя па перапраграмаванні ядра FPGA з . выява rbf, выклікаючы котку fileімя>. rbf > Каманда /dev/ fpga0, таму што гэты метад не рэкамендуецца. |
Снежань-14 | 14.1.0 | • Перайменаваны дакумент у Altera Cyclone V SoC Development Kit Reference Platform Porting Guide. • Абноўлена ўтыліта перапраграмавання да праграмы aoclfileкаманда name>.aocx. • Абноўлена дыягнастычная ўтыліта для дыягностыкі aocl і дыягностыкі aocl каманда ўтыліты. • Абноўлена працэдура ў раздзеле «Перанос эталоннай платформы на вашу плату SoC», каб уключыць інструкцыі па пераносе і мадыфікацыі падзелу платы c5soc для стварэння падзелу, чыстага па часе, для гарантаванага патоку закрыцця па часе. • Устаўлена тэма Абнаўленне партаванай эталоннай платформы, каб апісаць працэдуры для наступных задач: 1. За выключэннем блока жорсткага працэсара (HPS) у раздзеле платы 2.Абнаўленне выявы флэш-карты SD • Абноўлены раздзел «Стварэнне выявы флэш-карты SD». Рэкамендуецца выкарыстоўваць у якасці адпраўной кропкі выяву Golden System Reference Design (GSRD) версіі 14.0 замест выявы, даступнай з SoC Embedded Design Suite (EDS). • Абноўлены раздзел «Перакампіляцыя ядра Linux» і драйвер ядра OpenCL Linux: 1.Дададзеная інструкцыя для ўстаноўкі пераменнай CROSS COMPILE. 2.Зменена каманда, якую вы запускаеце, каб пераканацца, што CMA паспяхова ўключаны. |
14 ліпеня | 14.0.0 | • Першапачатковы выпуск. |
Дакументы / Рэсурсы
![]() |
Intel FPGA SDK для OpenCL [pdfКіраўніцтва карыстальніка FPGA SDK для OpenCL, FPGA SDK, SDK для OpenCL, SDK |