FPGA SDK mo OpenCL
Fa'aoga Taiala
UG-OCL009
2017.05.08
Fa'afouga mulimuli mo Intel® Quartus® Prime Design Suite: 17.0
Fa'asoa
Lauina Manatu
Intel® FPGA SDK mo OpenCL™ Intel® Cyclone®V SoC Development Kit Reference Platform Porting Guide
V SoC Development Kit Reference Platform Porting Guide o loʻo faʻamatalaina ai masini ma polokalama faakomepiuta o le Intel Cyclone V SoC Development Kit Reference Platform (c5soc) mo le faʻaogaina ma le Intel Software Development Kit (SDK) mo OpenCL Le Intel ® FPGA SDK mo OpenCL ™ Intel Cyclone ® . Ae e te leʻi amataina, e fautuaina malosi e Intel e te masani i mea o loʻo i totonu o pepa nei:
- Intel FPGA SDK mo OpenCLIntel Cyclone V SoC Ta'iala Amata
- Intel FPGA SDK mo OpenCL Custom Platform Toolkit User Guide
- Tusitaulima Meafaitino a le Afa V, Volume 3: Fa'atonuga Fa'amatalaga Fa'amatalaga Fa'atekonolosi Fa'atekonolosi Fa'agata Fa'aopoopo, va'ai i le Afa V SoC Development Kit ma SoC Embedded Design Suite itulau o le Altera webnofoaga mo nisi fa'amatalaga. 1 2
Fa'alogo: E fa'apea Intel o lo'o ia te oe se malamalama loloto i le Intel FPGA SDK mo OpenCL Custom Platform Toolkit User Guide. O le Afa V SoC Development Kit Reference Platform Porting Guide e le o faamatalaina ai le fa'aogaina o le Custom Platform Toolkit a le SDK e fa'atino ai se Custom Platform mo le Cyclone V SoC Development Kit. E na'o le fa'amatalaina o le eseesega i le va o le SDK lagolago i le Afa V SoC Development Kit ma le Intel FPGA SDK lautele mo OpenCL Custom Platform.
So'oga Fa'atatau
- Intel FPGA SDK mo OpenCL Afa V SoC Ta'iala Amata
- Intel FPGA SDK mo OpenCL Custom Platform Toolkit User Guide
- Tusitaulima Meafaitino a le Afa V, Volume 3: Fa'atonuga Fa'amatalaga Fa'amatalaga Fa'atekinisi Fa'atekonolosi Malosi
- Afa V SoC Development Kit ma SoC Embedded Design Suite itulau ile Altera webnofoaga
- OpenCL ma le OpenCL logo o fa'ailoga tau fefa'ataua'iga Apple Inc. fa'aaogaina i le fa'atagaga a le Khronos Group™.
- O le Intel FPGA SDK mo OpenCL e faʻavae i luga o se faʻasalalauga Khronos Faʻamatalaga, ma ua pasia le Khronos Conformance Testing Process. E mafai ona maua le tulaga o iai nei ile www.khronos.org/conformance.
Intel Corporation. Ua taofia aia tatau uma. Intel, le Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus ma Stratix upu ma logos o faʻailoga a le Intel Corporation poʻo ana lala i le US ma/poʻo isi atunuu. E fa'amaonia e Intel le fa'atinoina o ana oloa FPGA ma semiconductor i fa'amatalaga o lo'o iai nei e tusa ai ma le fa'atonuga masani a Intel, ae fa'asaoina le aia tatau e fai ai suiga i so'o se oloa ma auaunaga i so'o se taimi e aunoa ma se fa'aaliga. E leai se tiute po'o se noataga e afua mai i le talosaga po'o le fa'aogaina o so'o se fa'amatalaga, oloa, po'o se auaunaga o lo'o fa'amatalaina i i'i se'i vagana ua malilie i ai i se faiga tusitusia e Intel. Ua fautuaina tagata fa'atau Intel ina ia maua le fa'amatalaga lata mai o fa'amatalaga masini a'o le'i fa'alagolago i so'o se fa'amatalaga fa'asalalau ma a'o le'i tu'uina atu oka mo oloa po'o tautua.
*O isi igoa ma fa'ailoga e mafai ona ta'ua o se meatotino a isi.
1.1.1 Afa V SoC Atina'e Pusa Fa'asinoga Fa'atonu Komiti Fa'atonu Feeseesea'iga
O le Intel FPGA SDK mo OpenCL Cyclone V SoC Development Kit Reference Platform e aofia ai ni suiga se lua.
- laupapa c5soc
O lenei laupapa fa'aletonu e maua ai le avanoa i le lua DDR memory banks. O le HPS DDR e mafai ona maua e le FPGA ma le PPU. O le FPGA DDR e na'o le FPGA e mafai ona maua. - c5soc_sharedonly laupapa
Ole suiga ole laupapa e na'o HPS DDR feso'ota'iga. Le FPGA DDR e le mafai ona maua. O lenei suiga o le laupapa e sili atu le lelei o le eria ona o le itiiti ifo o meafaigaluega e manaʻomia e lagolago ai le tasi DDR memory bank. O le c5soc_sharedonly board o se faʻataʻitaʻiga lelei foʻi mo se laupapa gaosiga mulimuli ma se faletupe DDR e tasi.
Ina ia taula'i le suiga lea o le laupapa pe a tu'ufa'atasia lau fatu OpenCL, fa'aofi le filifiliga -board c5soc_sharedonly i lau fa'atonuga aoc.
Mo nisi faʻamatalaga i luga o le -board filifiliga o le aoc poloaiga, tagai i le Intel FPGA SDK mo OpenCL Polokalama Taiala.
So'oga Fa'atatau
Tu'ufa'atasia o se Kernel mo se Komiti Fa'atonu FPGA (–board )
1.1.2 Mataupu o le Afa V SoC Development Kit Reference Platform
O le Afa V SoC Development Kit Reference Platform e aofia ai mea nei files ma fa'atonuga:
File po'o le Fa'atonu | Fa'amatalaga |
board_env.xml | Gagana Fa'ailoga e mafai ona fa'ateleina (XML) file o loʻo faʻamatalaina c5soc i le Intel FPGA SDK mo OpenCL. |
linux_sd_card_image.tgz | Fa'apipi'i ata SD flash card file o lo'o i ai mea uma e mana'omia e le tagata fa'aoga SDK e fa'aoga ai le Cyclone V SoC Development Kit ma le SDK. |
lima32 | Fa'atonuga o lo'o iai mea nei: |
1.1.3 Itu Fa'atatau ole Afa V SoC Atina'e Kit
O le lisi o loʻo i lalo o loʻo faʻamaonia ai vaega o le Afa V SoC Development Kit ma foliga e talafeagai i le Intel FPGA SDK mo OpenCL:
- Lua-autu ARM Cortex-A9 PPU fa'aogaina 32-bit Linux.
- Avanoa eXtensible Interface (AXI) pasi i le va o le HPS ma le ie autu FPGA.
- E lua fa'ama'a'a fa'atonutonu manatua DDR, ta'itasi e feso'ota'i i le 1 gigabyte (GB) DDR3 SDRAM.
- E tasi le DDR controller e mafai ona maua i le FPGA core (o lona uiga, FPGA DDR).
— O le isi DDR controller e mafai ona maua e le HPS ma le FPGA (o lona uiga, HPS DDR). O lenei fa'asoa fa'asoa e mafai ai ona fa'asoa fa'asoa manatua fua i le va o le PPU ma le FPGA autu. - E mafai e le PPU ona toe fa'afouina le ie FPGA autu.
1.1.3.1 Pusa Atina'e o le Afa V SoC Reference Platform Design Sini ma Fa'ai'uga E fa'avaeina e Intel le fa'atinoga o le Afa V SoC Development Kit Reference Platform i luga o ni fuafuaga ma fa'ai'uga. E fautuaina e Intel ia e mafaufau i nei sini ma filifiliga pe a e faʻafeiloaʻi lenei Faʻamatalaga Faʻamatalaga i lau SoC FPGA board.
Lalo o sini mamanu c5soc:
- Tuuina atu le bandwidth aupito maualuga i le va o fatu i luga o le FPGA ma le DDR memory system(s).
- Ia mautinoa o fa'atusatusaga i luga ole FPGA (o lona uiga, OpenCL kernels) e le fa'alavelave i isi galuega ole PPU e ono aofia ai le fa'aogaina o peripheral.
- Tu'u le tele o puna'oa FPGA e mafai ai mo fa'asologa o fatu nai lo vaega fa'aoga.
O lo'o i lalo fa'ai'uga fa'ata'ita'iga maualuga o fa'ai'uga tu'usa'o ia o sini a le Intel:
- O le Reference Platform na'o le fa'aogaina o le DDR memory controllers fa'atasi ai ma le fa'atulagaina lautele (256 bits).
- O le FPGA e fesoʻotaʻi saʻo ma le HPS DDR memory controller, e aunoa ma le faʻaogaina o le AXI pasi ma le L3 ki totonu ole HPS. O feso'ota'iga tuusa'o e maua ai le bandwidth sili ona lelei i le DDR, ma taofia ai fa'atusatusaga FPGA mai le fa'alavelaveina o feso'ota'iga i le va o le PPU ma lona pito.
- Fa'asalalau fa'aputu-fa'aputuga fa'amana'oga tu'u sa'o (SG-DMA) e le'o se vaega o le fa'aoga FPGA. Nai lo le fesiitaiga o le tele o faʻamatalaga i le va o le DDR memory system, teuina faʻamatalaga i le HPS DDR fefaʻasoaaʻi. Ole avanoa tuusao ile CPU manatua ile FPGA e sili atu le lelei nai lo le DMA. E fa'asaoina mea faigaluega (o lona uiga, FPGA area) ma fa'afaigofie le aveta'avale kernel Linux.
Lapataiga: Fa'aliliuga mafaufauga i le va o le HPS DDR system fa'asoa ma le DDR system lea e mafai ona maua na'o le FPGA e matua tuai lava. Afai e te filifili e
fesiita'i manatua i lenei faiga, fa'aaoga mo na'o ni nai fa'amaumauga. - O le talimalo ma le masini e faia le faʻafeiloaʻiga o faʻamatalaga e le DMA i le va o le tasi ma le isi e ala i le HPS-to-FPGA (H2F) alalaupapa, faʻaaogaina naʻo le tasi 32-bit port. O le mafuaʻaga, e aunoa ma le DMA, e mafai e le Linux kernel ona tuʻuina atu se 32-bit faitau pe tusi talosaga, o lea e le manaʻomia ai le i ai o se fesoʻotaʻiga lautele.
- E auina atu e le tagata talimalo faailoilo faʻatonutonu i le masini e ala i se alalaupapa mama H2F (LH2F).
Talu ai o faʻailoga faʻatonutonu mai le talimalo i le masini o faʻailoga maualalo-bandwidth, o se alalaupapa LH2F e lelei mo le galuega.
1.2 Tu'u atu le Fa'ailoga Fa'asino i lau SoC FPGA Board
Ina ia tu'u le Afa V SoC Development Kit Reference Platform i lau laupapa SoC FPGA, fai galuega nei:
- Filifili le tasi DDR manatua poʻo le lua DDR manatua version o le c5soc Reference Platform e fai ma amataga o lau mamanu.
- Fa'afou nofoaga o pine ile ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, lea o ALTERAOCLSDKROOT o le ala lea i le nofoaga o le Intel FPGA SDK mo le faʻapipiʻiina o OpenCL, ma o le igoa fa'atonu o le suiga o le laupapa. O le c5soc_sharedonly directory e mo le fesuiaiga o le laupapa ma le tasi DDR memory system. O le c5soc directory e mo le fesuiaiga o le laupapa ma lua DDR memory system.
- Fa'afou le fa'atulagaga DDR mo poloka HPS ma/po'o le FPGA SDRAM ile ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
4. O Intel FPGA SDK uma mo OpenCL e mana'omia fuafuaga laupapa e tatau ona ausia mautinoa tapuni tapuni. E pei o lea, o le tuʻuina o le mamanu e tatau ona mama le taimi. Ina ia tu'u le vaeluaga laupapa c5soc (acl_iface_partition.qxp) i lau laupapa SoC FPGA, fai galuega nei:
Mo faʻamatalaga auiliili i le fesuiaiga ma le faʻasaoina o le vaeluaga o le laupapa, vaʻai ile Quartus
Tu'ufa'atasiga Fa'aopoopo mo Tulaga Fa'atonu ma Fuafuaga Fa'avae Vaega o le Quartus Prime Standard Edition Handbook.
a. Aveese le acl_iface_partition.qxp mai le ALTERAOCLSDKROOT/board/c5soc/c5soc directory.
e. Fa'aagaoi le acl_iface_region LogicLock ™ itulagi e ala i le suia o le Tcl poloaiga set_global_assignment -igoa LL_ENABLED OFF -section_id acl_iface_region e seti_global_assignment -igoa LL_ENABLED ON -section_id acl_iface_region
i. Fa'aopoopo se fatu OpenCL mo lau laupapa.
o. Afai e manaʻomia, fetuunai le tele ma le nofoaga o le LogicLock region.
u. A e fa'amalieina o le tu'uina o lau mamanu e mama le taimi, fa'aulu atu lena vaeluaga o le acl_iface_partition.qxp Quartus Prime Exported Partition File.
E pei ona faamatalaina i le vaega Fa'amautu Fa'amautu Taimi Flow o le AIntel FPGA SDK mo OpenCL Custom Platform Toolkit User Guide, e ala i le fa'aulufaleina mai o lenei .qxp file i totonu o le mamanu pito i luga, e te faʻataunuʻuina le manaʻoga o le tuʻuina atu o se mamanu laupapa faʻatasi ai ma se taʻaloga faʻamaonia taimi tapuni.
Mo mea e ono a'afia ai le lelei o fa'ai'uga (QoR) o lau vaeluaga na auina atu i fafo, taga'i i le Tulaga Tulaga Lautele o Fa'ai'uga o Iloiloga mo le Vaega o le Komiti Fa'asalalau Fa'asalalau i le Intel FPGA SDK mo OpenCL Custom Platform Toolkit User Guide.
f. Fa'agata le acl_iface_region LogicLock itulagi e ala i le toe fa'afo'i le fa'atonuga i le Laasaga 2 i tua set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region. - Afai e fa'aogaina e lau laupapa SoC FPGA ni pine eseese ma pito i tua o le poloka HPS, toe fa'afouina le fa'apipi'i muamua ma le puna laau (DTS) file. Afai e te suia le HPS DDR memory controller, toe fa'afouina le fa'apipi'i muamua.
- Fausia le ata SD flash card.
- Fausia lau Custom Platform, lea e aofia ai le SD flash card image.
- Mafaufau e fatu se fa'ata'ita'iga fa'ata'amilosaga si'osi'omaga o lau Custom Platform mo le fa'aoga i le Intel FPGA Runtime Environment (RTE) mo OpenCL. O le RTE version o lau Custom Platform e le aofia ai fa'atonuga meafaigaluega ma le ata SD flash card. O lenei Faiga Fa'apitoa e utaina i luga o le SoC FPGA system e fa'ataga ai le fa'aogaina o tusi talosaga. I se eseesega, o le SDK version o le Custom Platform e manaʻomia mo le SDK e faʻapipiʻi fatu OpenCL.
Motugaafa: E mafai ona e fa'aogaina le SDK version o lau Custom Platform mo le RTE. Ina ia faasaoina
avanoa, aveese le ata SD flash card mai le RTE version o lau Custom Platform. - Su'e lau Faiga Fa'apitoa.
Va'ai i le Su'ega o le Hardware Design vaega o le Intel FPGA SDK mo OpenCL Custom Platform Toolkit User Guide mo nisi fa'amatalaga.
So'oga Fa'atatau
- Su'ega le Design Hardware
- Quartus Prime Tu'ufa'atasiga Fa'aopoopo mo Fuafuaga Fa'atonu ma Fa'avae Au
- Fa'atuina Fa'amaonia Taimi Fa'asolo
- Tulaga Tulaga Lautele o Fa'ai'uga Iloiloga mo le Vaeluaga a le Komiti Fa'asalalau
1.2.1 Fa'afouina o se Ported Reference Platform
I le lomiga o lo'o i ai nei o le Afa'io V SoC Development Kit Reference Platform, o le HPS poloka o lo'o i totonu o le vaeluaga e fa'amatala ai manatu uma e leai ni kenel. Ae peitai, e le mafai ona e auina atu i fafo le HPS o se vaega o le .qxp file. Ina ia faʻafouina se Faiga Faʻatagata o loʻo i ai nei na e suia mai se lomiga muamua o le c5soc, faʻatino le QXP faʻasao tafe, faʻafou le ata SD flash card e maua ai le siʻosiʻomaga lata mai, ma faʻafou le board_spec.xml file e mafai ai le automisgration.
O le Altera® SDK mo OpenCL version 14.1 ma tua atu o lo'o su'esu'eina le board_spec.xml file mo faʻamatalaga a le laupapa, ma faʻatinoina faʻafouga otometi. Aua e te suia le
mamanu e ala i le faatinoina o le tafe QXP faasaoina, e tatau ona e faafou le board_spec.xml file i lona faatulagaga i le lomiga o iai nei. Fa'afouina le file e mafai ai e le SDK ona iloa le eseesega i le va o Faiga Fa'aleaganu'u e le'i fa'asaoina ma le Fa'atonu Fa'asinomaga QXP o lo'o iai nei. Va'ai ile Custom Platform Automigration mo Fa'asagaga i luma ile Intel FPGA SDK mo OpenCL Custom Platform Toolkit User Guide mo nisi fa'amatalaga.
- Ina ia fa'atinoina le fa'asaoina o le QXP i totonu o se mamanu meafaigaluega a le Afa V SoC FPGA o lo'o fa'apipi'iina mai se kopi muamua o le c5soc, fa'atino laasaga nei e fai ai se vaeluaga e le aofia ai le HPS mai le .qxp. file:
a. A'o le'i faia se vaeluaga faataamilo i le manatu e leai ni fatu, fai se vaeluaga faataamilo i le HPS i le .qsf Quartus Prime Settings File.
Mo exampLe:
# Vaevae ma le lima le fa'ata'ita'iga e fa'ata'ita'iina ai le HPS-dedicated I/O set_instance_assignment -igoa PARTITION_HIERARCHY borde_18261 -i le “system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_hps|system_acl_iface_hps| system_acl_iface_hps_0_hps_io_border: tuaoi” -section_id “system_acl_iface_hps_0_hps_io_border: tuaoi”
# Seti le vaeluaga e avea ma ituaiga HPS_PARTITION e fa'agasolo lelei e le vaega o totoe o le Quartus
seti_global_assignment -igoa PARTITION_TYPE HPS_PARTITION -section_id “system_acl_iface_hps_0_hps_io_border:border”
quartus_cdb pito i luga -c pito i luga
–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
A uma ona e vavaeeseina le HPS mai le vaeluaga, e mafai ona e faaulufale mai le .qxp file ma tuufaatasia lau mamanu. - Fa'afou le ata SD flash card fa'atasi ma le fa'asologa o lo'o i ai nei o le Intel FPGA RTE mo OpenCL e ala i le fa'atinoina o galuega nei:
a. Mauga le file laulau fa'asoa (ga'o32) ma fa'alautele file faiga (ext3) vaeluaga i le ata oi ai nei e pei o masini matasele-i tua. Mo faʻamatalaga auiliili, vaʻai ile Laasaga 2 ile Fausiaina o se SD Flash Card Ata.
e. I le /home/root/opencl_arm32_rte directory, aveese le files mai le lomiga muamua o le RTE.
i. La'u mai ma tatala le fa'ailoga o lo'o iai nei o le RTE i totonu o le /home/root/opencl_arm32_rte directory.
o. I le /driver/version.h file o lau Custom Platform, fa'afou le tofiga ACL_DRIVER_VERSION i . (mo example, 16.1.x, o le 16.1 o le SDK verison, ma x o le avetaʻavale lea e te setiina).
u. Toe fau le avetaavale.
f. Ave'ese le faila o meafaigaluega o lau Custom Platform. Kopi le Custom Platform, faatasi ai ma le avetaavale fou, i le /home/root/opencl_arm_rte/board directory.
g. Kopi le Altera.icd file mai le /home/root/opencl_arm32_rte directory ma faaopoopo i le /etc/OpenCL/vendor directory.
h. Aveese ma su'e le ata fou. Mo fa'amatalaga auiliili, va'ai i Laasaga 8 i le 11 i le Fausiaina o le SD Flash Card Ata.
So'oga Fa'atatau
- Fausia se Ata SD Flash Card i le itulau 14
E iai foi lau filifiliga e fai ai se ata fou SD flash card. - Faiga Fa'asinomaga Fa'apitoa mo Feso'ota'iga i luma
1.3 Polokalama Lagolago mo Manatu Fetufa'atasi
O mafaufauga fa'aletino fa'atasi i le va o le FPGA ma le PPU o le manatua sili lea mo fatu OpenCL o lo'o fa'aogaina i SoC FPGAs. Talu ai ona o le FPGA e mafai ona faʻaogaina mafaufauga faʻaletino faʻatasi, e ese mai i mafaufauga faʻasoa faʻatasi, e le mafai ona maua i luga o laulau itulau a le PPU e faʻafanua ai tuatusi faakomepiuta a tagata i tuatusi itulau faaletino.
E tusa ai ma meafaigaluega, OpenCL kernels e mafai ona faʻasoa mafaufauga faʻaletino e ala i fesoʻotaʻiga tuusaʻo i le HPS DDR hard memory controller. E tusa ai ma le polokalama, lagolago mo mafaufauga faʻaletino e aofia ai iloiloga nei:
- Fa'ata'ita'iga fa'akomepiuta masani mo le tu'uina atu o manatuaga ile PPU (mo fa'ata'ita'igaample, le malloc () galuega) e le mafai ona tuʻufaʻatasia se itulagi manatua e mafai e le FPGA ona faʻaoga.
Manatu o lo'o fa'asoa e le malloc() galuega e feso'ota'i i le va'aiga fa'amana'oga fa'amanatu, ae so'o se itulau fa'aletino e ono le soso'o fa'aletino. E pei o lea, e tatau ona mafai e le tagata talimalo ona tuʻufaʻatasia vaega faʻale-tino e manatua ai. Ae ui i lea, o lenei gafatia e le o iai i faʻaoga-avanoa talosaga ile Linux. O le mea lea, e tatau i le avetaʻavale Linux kernel ona faʻatino le vaevaega. - O le ta'avale kernel OpenCL SoC FPGA Linux e aofia ai le mmap() galuega e fa'asoa ai mafaufauga fa'aletino ma fa'afanua i le avanoa e fa'aoga ai. O le galuega mmap() e fa'aogaina ai le masani a le Linux kernel call dma_alloc_coherent() e talosagaina ai vaega e manatua ai le tino-fesoasoani mo le fefa'asoaa'i ma se masini.
- I le fa'aletonu o le fatu Linux, dma_alloc_coherent() e le tu'ufa'atasia le manatua fa'aletino e sili atu i le 0.5 megabytes (MB) i le lapopoa. Ina ia fa'ataga le dma_alloc_coherent() e fa'asoa se aofa'iga tele o manatuaga fa'aletino-feso'ota'i, fa'agaoioi le vaega fa'asoa fa'amanatu (CMA) o le fatu Linux ona toe fa'aopoopoina lea o le fatu Linux.
Mo le Cyclone V SoC Development Kit Reference Platform, CMA e pulea le 512 MB mai le 1 GB o le mafaufau faaletino. E mafai ona e fa'ateleina pe fa'aititia lenei tau, e fa'atatau i le aofa'i o mafaufauga fa'asoa e mana'omia e le talosaga. Ole valaau dma_alloc_coherent() atonu e le mafai ona fa'asoa le 512 MB atoa ole manatua fa'atasi; ae ui i lea, e mafai ona maua masani pe a ma le 450 MB o le manatua. - E mafai e le PPU ona fa'aogaina le manatua o le dma_alloc_coherent() vala'au fa'asoa. Aemaise lava, tusi gaioiga mai le talosaga talimalo e le o vaʻaia e le OpenCL kernels. O le mmap() galuega i le OpenCL SoC FPGA Linux kernel aveta'avale o lo'o i ai fo'i vala'au i le pgprot_noncached() po'o le remap_pf_range() galuega e fa'agata ai le fa'aogaina mo lenei vaega o manatuaga manino.
- A mae'a ona tu'uina atu e le galuega dma_alloc_coherent() le manatuaga fa'aletino-feso'ota'i, o le mmap() galuega e toe fa'afo'i ai le tuatusi faakomepiuta i le amataga o le laina, o le fa'asologa o le tuatusi o le manatua e te tu'uina atu. O le talosaga talimalo e manaʻomia lenei tuatusi faʻapitoa e maua ai le manatua. I le isi itu, e manaʻomia e le OpenCL kernels tuatusi faʻapitoa. O le aveta'avale kernel Linux e siaki le fa'afanua o le tuatusi faakomepiuta i le tino. E mafai ona e fa'afanua tuatusi fa'aletino e toe fo'i mai ai mmap() i tuatusi fa'aletino moni e ala i le fa'aopoopoina o se fesili ile aveta'avale.
O le aocl_mmd_shared_mem_alloc() MMD application programming interface (API) valaau e aofia ai fesili nei:
a. O le mmap () galuega e tuʻuina atu le manatua ma toe faʻafoʻi le tuatusi virtual.
e. Ole fesili fa'aopoopo e fa'afanua ai le tuatusi fa'atekonolosi ua toe fa'afo'i ile tuatusi fa'aletino.
O le aocl_mmd_shared_mem_alloc() MMD API valaau ona toe faafoi mai lea o tuatusi e lua
—o le tuatusi moni ua toe faafoi mai o le tuatusi virtual, ma o le tuatusi faaletino e alu i device_ptr_out.
Fa'aaliga: E mafai e le aveta'avale ona fa'afanua tuatusi faakomepiuta e toe fo'i ai le galuega mmap() i tuatusi fa'aletino. Afai e te talosaga mo le tuatusi faʻapitoa o soʻo se isi faʻailoga mataʻutia, e toe faʻafoʻi e le avetaavale se tau NULL.
Lapataiga: O le Intel FPGA SDK mo OpenCL runtime faletusi e manatu o le manatu fa'asoa o le manatua muamua lea o lo'o lisiina i le board_spec.xml file. I se isi faaupuga, o le tuatusi faʻapitoa e maua e le avetaʻavale kernel Linux e avea ma tuatusi Avalon® lea e pasi atu e le OpenCL kernel i le HPS SDRAM.
E tusa ai ma le faletusi taʻavale, faʻaaoga le clCreateBuffer() valaʻau e tuʻufaʻatasia le manatu faʻasoa e avea o se masini faʻapipiʻi i le auala lenei:
- Mo le fesuiaiga o le laupapa e lua-DDR ma le fa'asoa fa'atasi ma le manatua e le'i fa'asoa, clCreateBuffer() fa'asoa manatu fa'asoa pe afai e te fa'ama'oti le fu'a CL_MEM_USE_HOST_PTR. O le fa'aogaina o isi fu'a e fa'atupu ai le clCreateBuffer() e tu'u fa'atasi ai le pa'u i le manatua e le fa'asoa.
- Mo le fesuiaiga o le laupapa e tasi-DDR ma na'o mafaufauga fa'asoa, clCreateBuffer() fa'asoa manatu fa'asoa tusa lava po'o le a le fu'a e te fa'amaonia.
I le taimi nei, o le 32-bit Linux lagolago i luga o le ARM CPU o loʻo pulea le tele o le faʻasoa manatua lagolago i le SDK runtime library. I se isi faaupuga, o faletusi taʻavale ua tuʻufaʻatasia i isi siosiomaga (mo example, x86_64 Linux poʻo le 64-bit Windows) e le lagolagoina mafaufauga faʻasoa.
E le'i fa'aaogaina e le C5soc le tele o mafaufauga e iloa ai le va o mafaufauga fa'asoa ma le le fa'asoa mo mafua'aga nei:
1. Talafa'asolopito—E le'i maua le lagolago fa'alemafaufau fa'atasi ina ua fa'avaeina le lagolago fa'asoa manatua.
2. Feso'ota'iga fa'atasi—Ona o le OpenCL o se tulaga tatala, o lo'o fa'atumauina pea e le Intel le fa'atumauina i le va o tagata fa'atau tu'ufa'atasi tau komipiuta eseese. O le mea lea, o le fa'aoga tutusa e pei o isi fale fa'atau laupapa e fa'aogaina e fa'asoa ma fa'aoga manatu fa'asoa.
1.4 FPGA Toe fetuutuunai
Mo SoC FPGAs, e mafai e le PPU ona toe fa'afouina le ie autu o le FPGA e aunoa ma le fa'alavelaveina o le fa'agaioiga a le PPU. O le FPGA Manager hardware poloka o loʻo faʻapipiʻiina le HPS ma le FPGA autu e faia le toe faʻatulagaina. O le fatu Linux e aofia ai se avetaʻavale e faigofie ai ona maua le FPGA Manager.
- I view le tulaga o le FPGA autu, valaau le pusi /sys/class/fpga/fpga0/ faʻatonuga tulaga.
O le Intel FPGA SDK mo le OpenCL polokalame aoga o lo'o avanoa ma le Afa'a V SoC Development Kit Reference Platform o lo'o fa'aogaina lenei fa'aoga e fa'apolokalame ai le FPGA. Pe a toe fa'apolokalameina se FPGA autu ma se CPU fa'aogaina, o le polokalama fa'aoga e fa'atino uma galuega nei:
1. A'o le'i toe fa'apolokalameina, tape uma feso'ota'iga alalaupapa i le va o le FPGA ma le HPS, H2F ma LH2F alalaupapa.
Toe fa'afouina nei alalaupapa pe a mae'a le toe fa'apolokalameina.
Fa'alogo: O le OpenCL system e le fa'aogaina le alalaupapa FPGA-to-HPS (F2H). Va'ai ile vaega ole HPS-FPGA Interfaces ile Cyclone V Device Handbook, Volume 3: Hard Processor System Technical Reference Manual mo nisi fa'amatalaga.
2. Ia mautinoa o le so'oga i le va o le FPGA ma le HPS DDR controller ua fa'aletonu i le taimi o le toe fa'atulagaina.
3. Ia mautinoa o le FPGA faʻalavelave i le FPGA e le atoatoa i le taimi o le toe polokalame.
E le gata i lea, logo le avetaavale e teena soʻo se faʻalavelave mai le FPGA aʻo toe faʻatulagaina.
Fa'afeso'ota'i le source code o le polokalame aoga mo fa'amatalaga i le fa'atinoga moni.
Lapataiga: Aua le suia le faʻatulagaina o le HPS DDR controller pe a faʻaogaina le PPU.
O le faia o lea mea e ono mafua ai se faʻalavelave faʻafuaseʻi ona e mafai ona e suia le faʻatulagaina o le DDR controller pe a iai ni fefaʻatauaiga mataʻina mai le PPU. O lona uiga pe a fa'agaoioi le PPU, e te le toe fa'apolokalameina le FPGA core ma se ata e fa'aoga ai le HPS DDR i se isi faatulagaga.
Manatua o le OpenCL system, ma le Golden Hardware reference design o loʻo maua ma le Intel SoC FPGA Embedded Design Suite (EDS), faʻapipiʻi le HPS DDR i se tasi 256-bit mode.
O vaega o le CPU e pei o le lala o le lala po'o le laulau itulau e mafai ona tu'uina atu ni fa'atonuga DDR tusa lava pe foliga mai e leai se mea o lo'o ta'avale i luga o le PPU.
O le mea lea, o le taimi o le taʻavale e naʻo le pau lea o le taimi saogalemu e seti ai le faʻatulagaina o le HPS DDR controller.
O lona uiga foi o le U-boot e tatau ona i ai se binary mata file (.rbf) ata e uta i le manatua. A leai, atonu o lo'o e fa'aogaina le HPS DDR i ports e le'i fa'aaogaina i luga o le FPGA ona ono suia ai lea o fa'aputuga o le taulaga mulimuli ane. Mo lenei mafua'aga, o le OpenCL Linux kernel aveta'avale e le o toe aofia ai le fa'atonuga e mana'omia e fa'atulaga ai le fa'atonuga o le HPS DDR.
O le SW3 lua in-line package (DIP) o loʻo faʻaogaina le Cylone V SoC Development Kit e pulea le foliga faʻamoemoeina o le ata .rbf (o lona uiga, pe o le file ua fa'apipi'i ma/po'o fa'ailoga). C5soc, ma le Golden Hardware Reference Design o loʻo maua i le SoC EDS, e aofia ai ata .rbf faʻapipiʻi ae leʻi faʻailogaina. O le SW3 DIP switch settings o loʻo faʻamatalaina i le Intel FPGA SDK mo OpenCL Cyclone V SoC Getting Started Guide e fetaui ma lenei .rbf image configuration.
So'oga Fa'atatau
- HPS-FPGA Feso'ota'iga
- Fa'atulagaina o Suiga SW3
1.4.1 Fa'amatalaga Fa'ata'ita'iga Fa'atonu a le FPGA
Lagolago mo le Cyclone V SoC Development Kit Reference Platform e fa'avae i luga o le Stratix® V Reference Platform (s5_ref), e maua i le Intel FPGA SDK mo OpenCL.
O le faʻatulagaga atoa o le c5soc Qsys system ma le avetaʻavale fatu e tutusa lelei ma i latou i s5_ref.
O vaega autu FPGA nei e tutusa i le c5soc ma le s5_ref:
- VERSION_ID poloka
- Malolo masini
- Vaevae faletupe manatua
- Fa'aoga snoop cache
- Uati fatu
- Pulea poloka avanoa resitala (CRA).
1.5 Fausia se Ata SD Flash Card
Ona o le Afa V SoC FPGA o se faiga atoa i luga o se pu, o oe e nafa ma le tuʻuina atu o le faʻamatalaga atoa o le faiga. Ua fautuaina e Intel e te tuʻuina atu i le tulaga o se ata SD flash card. Ole Intel FPGA SDK mo OpenCL tagata fa'aoga e mafai lava ona tusi le ata ile micro SD flash card ma ua sauni le SoC FPGA board mo le fa'aoga.
Suia se Ata SD Flash Card o iai i le itulau 13
Ua fautuaina e Intel ia na'o lou suia o le ata o lo'o avanoa ile Cyclone V SoC Development Kit Reference Platform. E iai foi lau filifiliga e fai ai se ata fou SD flash card.
Fausia se Ata SD Flash Card i le itulau 14
E iai foi lau filifiliga e fai ai se ata fou SD flash card.
1.5.1 Suia se Ata SD Flash Card o iai
Ua fautuaina e Intel e te na'o le suia o le ata o lo'o avanoa ile Cyclone V SoC
Pusa Atina'e Fa'amatalaga Fa'avae. E iai foi lau filifiliga e fai ai se ata fou SD flash card.
Le ata c5soc linux_sd_card_image.tgz file o lo'o maua ile ALTERAOCLSDKROOT/board/c5soc directory, lea ole ALTERAOCLSDKROOT e faasino ile ala ole Intel FPGA SDK mo le OpenCL's installation directory.
Fa'alogo: Ina ia suia le ata SD flash card, e tatau ona i ai sau aʻa poʻo sudo avanoa.
- E fa'amalo le $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, fa'atonu le tar xvfzlinux_sd_card_image.tgz poloaiga.
- Tuufaatasia le hello_world OpenCL example mamanu e faʻaaoga ai lau lagolago faʻapitoa. Toe fa'aigoa le .rbf file o le Intel FPGA SDK mo OpenCL Offline Compiler gaosia e pei o opencl.rbf, ma tuu i luga o le fat32 vaeluaga i totonu o le SD flash card image.
E mafai ona e sii maia le hello_world example mamanu mai le OpenCL Design Examples itulau i le Altera webnofoaga. - Tuu le .rbf file i totonu o le fat32 vaeluaga o le ata flash card.
Fa'alogo: O le vaeluaga o le fat32 e tatau ona iai uma le zImage file ma le .rbf file. A aunoa ma se .rbf file, o le a tupu se faʻalavelave faʻafuaseʻi pe a e faʻaofiina le avetaavale. - A uma ona e fatuina le ata SD card, tusi i se micro SD card e ala i le faʻaogaina o le poloaiga lenei: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
- Ina ia su'e lau ata SD flash card, fai galuega nei:
a. Fa'aofi le micro SD flash card i totonu o le SoC FPGA board.
e. Malosi i luga le laupapa.
i. Valaau le aocl diagnose utility command.
1.5.2 Fausia se Ata SD Flash Card
E iai foi lau filifiliga e fai ai se ata fou SD flash card. O faatonuga lautele i le fausiaina o se ata SD flash card fou ma le toe fausia o se ata SD flash card o loʻo iai i luga o le GSRD v14.0.2 - SD Card itulau o le RocketBoards.org webnofoaga.
O laasaga o loʻo i lalo o loʻo faʻamatalaina ai le faiga mo le fatuina o le linux_sd_card_image.tgz ata mai le Golden System Reference Design (GSRD) SD card flash image:
Fa'aaliga:
Ina ia fatuina le ata mai le ata c5soc, fai galuega talafeagai uma o loʻo otooto atu i lenei faiga.
- La'u mai ma tatala le GSRD SD flash card image version 14.0 mai Rocketboards.org.
- Mauga le file laulau fa'asoa (ga'o32) ma fa'alautele file faiga (ext3) vaeluaga i lenei ata e pei o masini matasele-i tua. Ina ia faʻapipiʻi se vaeluaga, fai laasaga nei:
a. Fuafua le amataga o le vaeluaga i totonu o le ata e ala i le faʻaogaina o le /sbin/fdisk -lu image_file poloaiga.
Mo example, numera vaeluaga 1 o le ituaiga W95 FAT o loʻo i ai se poloka poloka o 2121728. Faʻatasi ai ma 512 paita i le poloka, o le paita paita e 512 paita x 2121728 = 1086324736 paita.
e. Fa'ailoa se masini mata'u fua (fa'ataample, /dev/loop0) e ala i le taina o le losetup -f poloaiga.
i. Fa'apea o le /dev/loop0 o le masini mata'u fua, tu'u lau ata fa'amalama i le masini poloka poloka e ala i le fa'aogaina o le losetup /dev/loop0 image_file -0 1086324736 poloaiga.
o. Faʻamau le masini matasele e ala i le faʻaogaina o le mount /dev/loop0 /media/disk1 command.
I totonu o le ata file, /media/disk1 ua avea nei ma vaega faʻapipiʻi fat32.
u. Toe fai laasaga a i le d mo le vaeluaga ext3. - La'u mai le Cyclone V SoC FPGA version o le Intel FPGA Runtime Environment mo OpenCL package mai le Download Center i le Altera webnofoaga.
a. Kiliki le fa'amau Download i tafatafa o le lomiga faakomepiuta Quartus Prime.
e. Fa'ailoa le fa'asalalauga, le faiga fa'aoga, ma le auala e la'u mai ai.
i. Kiliki le Fa'ailoga Fa'aopoopo Polokalama, ma filifili e la'u mai ai le Intel FPGA
Siosiomaga Taimi mo OpenCL Linux Afa V SoC TGZ.
o. A uma ona e siiina mai le aocl-rte- .arm32.tgz file, tatala i
se lisi e te umia. - Tuu le aocl-rte- .arm32 directory i le /home/root/opencl_arm32_rte directory i le ext3 partition o le ata file.
- Ave'ese le faila o meafaigaluega o lau Custom Platform, ona tuʻu lea o le Custom Platform i totonu o le laupapa subdirectory o /home/root/ opencl_arm32_rte.
- Fausia le init_opencl.sh file i le /home/root directory ma mea nei: export ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ auina atu i fafo PATH=$ALTERAOCLSDKROOT/talone:$PATH auina atu i fafo LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
O le SDK fa'aoga e fa'atautaia le puna ./init_opencl.sh fa'atonuga e uta ai le si'osi'omaga fesuiaiga ma le OpenCL Linux kernel aveta'avale. - Afai e te manaʻomia le faʻafouina o le faʻapipiʻi muamua, le DTS files, poʻo le fatu Linux, e te manaʻomia le faʻapipiʻi lima-linux-gnueabihf-gcc mai le SoC EDS. Mulimuli i faʻatonuga o loʻo faʻamatala atu i le Intel SoC FPGA Embedded Design Suite User Guide e maua ai le polokalama, toe faʻapipiʻi, ma faʻafouina mea talafeagai. files i luga o le fat32 vaeluaga faʻapipiʻi.
Fa'alogo: E foliga mai e te manaʻomia le faʻafouina o le faʻapipiʻi muamua pe afai o lau Custom Platform e ese le faʻaogaina o pine nai lo latou i le c5soc.
Manatua: Afai e te toe faʻapipiʻi le fatu Linux, toe faʻapipiʻi le avetaʻavale Linux kernel ma le puna e tasi o le fatu Linux files. Afai e i ai se le fetaui i le va o le avetaavale kernel Linux ma le fatu Linux, o le a le utaina e le avetaavale. E le gata i lea, e tatau ona e faʻaogaina le CMA.
Va'ai ile Toe fa'aopoopoina ole Linux Kernel mo nisi fa'amatalaga. - Tuufaatasia le hello_world OpenCL example mamanu e faʻaaoga ai lau lagolago faʻapitoa. Toe fa'aigoa le .rbf file o le Intel FPGA SDK mo OpenCL Offline Compiler gaosia e pei o opencl.rbf, ma tuu i luga o le fat32 vaeluaga i totonu o le SD flash card image.
E mafai ona e sii maia le hello_world example mamanu mai le OpenCL Design Examples itulau i le Altera webnofoaga.
9. A uma ona e teuina mea uma e manaʻomia files i luga o le ata flash card, faʻaoga tulafono nei:
a. fa'atasi
e. unmount /media/disk1
i. tatala ese o fea o le igoa fa'atonu e te fa'aogaina mo le fa'apipi'iina o le ext3 partition i le 3 i le itulau 3 (mo example, /media/disk2).
o. losetup -d /dev/loop0
u. losetup -d /dev/loop1 - Oomi le ata SD flash card e ala i le faʻaogaina o le poloaiga lenei: tar cvfz .tgz linux_sd_card_image
- Tu'u atu le .tgz file i totonu o le lisi autu o lau Custom Platform.
- Ina ia su'e lau ata SD flash card, fai galuega nei:
a. Tusi le ata e le'i oomiina i luga o se micro SD flash card.
e. Fa'aofi le micro SD flash card i totonu o le SoC FPGA board.
i. Malosi i luga le laupapa.
o. Valaau le aocl diagnose utility command.
So'oga Fa'atatau
- Intel SoC FPGA Embedded Design Suite Guide User
- OpenCL Design Examples itulau i le Altera webnofoaga
- Toe tuufaatasia le Linux Kernel i le itulau 16
Ina ia mafai ai le CMA, e tatau ona e toe faʻapipiʻi muamua le fatu Linux. - Su'esu'eina le Igoa o le Meafaigaluega a lau Komiti Fa'atonu FPGA (diagnose)
1.6 Tu'ufa'atasiga o le Linux Kernel mo le Afa V SoC FPGA
A'o le'i fa'aogaina talosaga OpenCL i luga o le laupapa FPGA Afa V SoC, e tatau ona e tu'ufa'atasia le puna fatu Linux, ma fa'apipi'i ma fa'apipi'i le aveta'avale kernel OpenCL Linux.
- Toe tuufaatasia le Linux Kernel i le itulau 16
Ina ia mafai ai le CMA, e tatau ona e toe faʻapipiʻi muamua le fatu Linux. - Tu'ufa'atasia ma Fa'apipi'i le Aveta'avale Kernel OpenCL Linux i le itulau 17 Fa'aputu le aveta'avale kernel OpenCL Linux fa'asaga i le puna fatu fa'aputu.
1.6.1 Toe tuufaatasia le Linux Kernel
Ina ia mafai ai le CMA, e tatau ona e toe faʻapipiʻi muamua le fatu Linux.
- Kiliki le GSRD v14.0 - Faʻapipiʻi Linux soʻotaga i luga o le itulau Punaoa o le RocketBoards.org web'upega tafaʻilagi e maua ai faʻatonuga i luga o le siiina mai ma toe fausia le Linux kernel source code.
Mo le fa'aoga i le ™ Intel FPGA SDK mo OpenCL, fa'ailoa socfpga-3.13-rel14.0 o le . - Fa'aaliga: O le fa'agasologa o le faufale e fausia ai le fa'ailoga/arm/configs/socfpga_defconfig file. Lenei file fa'amaoti tulaga mo le socfpga default configuration.
Faʻaopoopo laina nei i le pito i lalo ole faʻailoga/arm/configs/socfpga_defconfig 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
O le CONFIG_CMA_SIZE_MBYTES tau fa'atulagaina e fa'atulaga ai le tapula'a pito i luga o le aofa'i o manatuaga soso'o fa'aletino e maua. E mafai ona e fa'ateleina lenei tau pe a mana'omia nisi manatua. - Fa'alogo: O le aofaʻi atoa o manatuaga faʻaletino o loʻo avanoa i le ARM processor i luga o le SoC FPGA board o le 1 GB. E le fautuaina e Intel e te seti le pule CMA latalata ile 1 GB.
- Faʻataʻitaʻi le make mrproper poloaiga e faʻamama le faʻatulagaga o loʻo iai nei.
- Faʻatonu le faʻatonuga ARCH=arm socfpga_deconfig.
ARCH=arm e faʻaalia e te manaʻo e faʻapipiʻi le fausaga o le ARM.
socfpga_defconfig fa'ailoa mai e te mana'o e fa'aoga le fa'aoga socfpga fa'aletonu. - Fa'asolo le fa'aulufale atu CROSS_COMPILE=arm-linux-gnueabihf- fa'atonuga.
O lenei poloaiga e setiina ai le suiga ole siosiomaga CROSS_COMPILE e faʻamaonia ai le prefix ole filifili meafaigaluega manaʻomia. - Fa'asolo le fa'atonuga ARCH=arm zImage. O le ata o loʻo maua o loʻo maua i le faʻailoga / lima / boot / zImage file.
- Tuu le zImage file i totonu o le fat32 vaeluaga o le ata flash card. Mo fa'amatalaga auiliili, tagai ile Afa V SoC FPGA-specific GSRD User Manual ile Rocketboards.org.
- Fa'aaliga: Ina ia fa'aofi sa'o le ta'avale kernel OpenCL Linux, uta muamua le SDKgenerated.rbf file i luga ole FPGA.
Ina ia fatuina le .rbf file, tuufaatasia se mamanu SDK example fa'atasi ai ma le Afa V SoC Development Kit Reference Platform e avea ma Fa'atonu Fa'asinomaga.
9. Tuu le .rbf file i totonu o le fat32 vaeluaga o le ata flash card.
Manatua: O le fat32 vaeluaga e tatau ona aofia uma ai le zImage file ma le .rbf file. A aunoa ma se .rbf file, o le a tupu se faʻalavelave faʻafuaseʻi pe a e faʻaofiina le avetaavale. - Fa'aofi le micro SD card ua fa'apolokalameina, lea o lo'o i ai le ata SD card na e suia pe faia muamua, i totonu o le Afa V SoC Development Kit ona fa'aola lea o le SoC FPGA board.
- Faʻamaonia le faʻasologa o le fatu Linux faʻapipiʻi e ala i le faʻaogaina o le uname -r command.
- Ina ia faʻamaonia e te mafaia le CMA ma le manuia i totonu o le fatu, faʻatasi ai ma le SoC FPGA laupapa faʻamalosia, faʻatautaia le grep init_cma /proc/kallsyms command.
E mafai le CMA pe afai e le o gaogao le galuega. - Ina ia faʻaoga le fatu Linux toe faʻapipiʻiina ma le SDK, faʻapipiʻi ma faʻapipiʻi le avetaavale kernel Linux.
So'oga Fa'atatau
- Auro System Reference Design (GSRD) User Manuals
- Fausia se Ata SD Flash Card i le itulau 13
Ona o le Afa V SoC FPGA o se faiga atoa i luga o se pu, o oe e nafa ma le tuʻuina atu o le faʻamatalaga atoa o le faiga.
1.6.2 Tuufaatasia ma Fa'apipi'i le Aveta'avale Kernel OpenCL Linux
Fa'atasi le ta'avale kernel OpenCL Linux fa'asaga i le puna fatu tu'ufa'atasi.
O lo'o maua le puna o le aveta'avale ile Cyclone V SoC FPGA version o le Intel FPGA Runtime Environment mo OpenCL. E le gata i lea, ia mautinoa ua e utaina se Intel FPGA SDK mo OpenCL-generated .rbf file i totonu o le FPGA e puipuia ai le faʻapipiʻiina le saʻo o le Linux kernel module.
- La'u mai le Cyclone V SoC FPGA version o le Intel FPGA Runtime Environment mo OpenCL package mai le Download Center i le Altera webnofoaga.
a. Kiliki le fa'amau Download i tafatafa o le lomiga faakomepiuta Quartus Prime.
e. Fa'ailoa le fa'asalalauga, le faiga fa'aoga, ma le auala e la'u mai ai.
i. Kiliki le Fa'ailoga Fa'aopoopo Polokalama, ma filifili e la'u mai ai le Intel FPGA
Siosiomaga Taimi mo OpenCL Linux Afa V SoC TGZ.
o. A uma ona e siiina mai le aocl-rte- .arm32.tgz file, tatala i
se lisi e te umia.
O le punavai avetaavale o loʻo i totonu o le aocl-rte- .arm32/board/c5soc/taavale directory. - Ina ia toe tuufaatasia le avetaavale kernel OpenCL Linux, seti le tau KDIR i le Avetaavale Faifile i le lisi o loʻo i ai le puna fatu Linux files.
- Fa'asolo le fa'aulufale atu CROSS_COMPILE=arm-linux-gnueabihf- fa'atonuga e fa'ailoa ai le prefix o lau filifili meafaigaluega.
- Fa'atonu le fa'atonuga mama.
- Faʻatonu le faʻatonuga e fatu ai le aclsoc_drv.ko file.
- Fa'afeiloa'i le fa'asinomaga opencl_arm32_rte i le laupapa FPGA Afa V SoC.
Faʻaauau le scp -r root@lou-ipaddress: O le poloaiga e tu'u ai le si'osi'omaga taimi i le/home/root directory. - Tafe le init_opencl.sh script na e fatuina ina ua e fausia le SD cardimage.
- Valaau le aocl diagnose utility command. Ole aoga ole su'esu'ega ole a toe fa'afo'i mai se i'uga pasi pe a uma ona e fa'amalieina le init_opencl.sh.
1.7 Fa'amatalaga Iloa
I le taimi nei, o loʻo i ai ni tapulaʻa faʻapitoa i le faʻaogaina o le Intel FPGA SDK mo OpenCL faʻatasi ai ma le Cyclone V SoC Development Kit Reference Platform.
- E le mafai ona e soloia le igoa o le tagata fa'atau ma le laupapa na lipotia e le CL_DEVICE_VENDOR ma CL_DEVICE_NAME manoa o le clGetDeviceInfo() telefoni.
- Afai e tu'uina atu e le 'au'aunaga le manatuaga faifai pea i le fa'asoa DDR system (o lona uiga, HPS DDR) ma fa'aleleia le manatua pea pe a uma le fa'atinoina o le fatu, o fa'amaumauga o lo'o manatua e ono tuai. O lenei faʻafitauli e tulaʻi mai ona o le FPGA autu e le mafai ona vaʻavaʻai i fefaʻatauaiga CPU-i-HPS DDR.
Ina ia taofia le faʻataunuʻuina mulimuli ane o le kernel mai le mauaina o faʻamatalaga tuai, faʻatino se tasi o auala nei:
• Aua le suia le manatua pea pe a uma ona amata.
• Afai e te mana'omia ni seti fa'amaumauga e tele __constant, fai ni fa'amaufa'ailoga faifai pea se tele.
• Afai e maua, tu'u le manatua faifaipea i le FPGA DDR i lau laupapa fa'avave. - O le aoga SDK i luga o le ARM e na'o le lagolagoina o le polokalame ma su'esu'e tulafono aoga.
O le moli, faʻapipiʻi ma aveese faʻatonuga aoga e le faʻaogaina i le Cyclone V SoC Development Kit ona o mafuaʻaga nei:
a. Ole mea fa'apipi'i e tatau ona tu'ufa'atasia le aveta'avale kernel aclsoc_drv Linux ma fa'aaga i luga ole SoC FPGA. O le masini atinae e tatau ona faia le tuufaatasiga; ae ui i lea, o loʻo i ai faʻamatalaga fatu Linux mo le SoC FPGA. O punaʻoa Linux kernel mo le masini atinaʻe e ese mai i latou mo le SoC FPGA. O le nofoaga o punaʻoa fatu Linux mo le SoC FPGA e foliga mai e le o iloa e le tagata faʻaoga SDK. E fa'apena fo'i, e le'o avanoa fo'i le fa'aogaina o le fa'aogaina ile Cyclone V SoC Development Kit.
E le gata i lea, o le tuʻuina atu o le aclsoc_drv i le SoC board o se luʻitau ona o le faʻaogaina o le tufatufaina atu o le Cyclone V SoC Development Kit e le o iai le fatu Linux e aofia ai. files po'o le GNU Compiler Collection (GCC) tu'ufa'atasi.
e. E mana'omia e le fa'aogaina o le flash le tu'uina o se .rbf file o se mamanu OpenCL i luga o le FAT32 vaeluaga o le micro SD flash card. I le taimi nei, o lenei vaeluaga e le faʻapipiʻiina pe a faʻaogaina e le SDK le faʻaogaina o le laupapa. O le mea lea, o le auala sili e faʻafouina ai le vaeluaga o le faʻaaogaina lea o se tagata faitau kata flash ma le masini atinaʻe. - A fesuia'i i le va o le Intel FPGA SDK mo OpenCL Offline Compiler e mafai ona fa'atinoina files (.aocx) e fetaui ma fesuiaiga eseese o laupapa (o lona uiga, c5soc ma c5soc_sharedonly), e tatau ona e faʻaogaina le aoga polokalama a le SDK e uta ai le .aocx file mo le suiga fou o le laupapa mo le taimi muamua. Afai e na'o lou fa'aogaina o le talosaga a le talimalo e fa'aaoga ai se suiga fou o le laupapa ae o le FPGA o lo'o iai le ata mai le isi fa'atonuga o le laupapa, e ono tupu se mea sese.
- O le .qxp file e le o aofia ai le vaeluaga o feso'ota'iga ona o le polokalama Quartus Prime o lo'o fa'amalieina i taimi uma mana'oga o lenei vaeluaga.
- A e fa'aola le laupapa, o lona tuatusi fa'asalalauga avanoa (MAC) e seti i se numera fa'afuase'i. Afai e le faatagaina e lau tulafono LAN lenei amio, seti le tuatusi MAC e ala i le faia o galuega nei:
a. I le taimi o le U-Boot power-up, oomi soʻo se ki e ulufale ai i le U-Boot command prompt.
e. Type setenv ethaddr 00:07:ed:00:00:03 i le poloaiga vave.
E mafai ona e filifilia soʻo se tuatusi MAC.
i. Fa'aoga le saveenv poloaiga.
o. Toe fa'afou le laupapa.
1.8 Fa'amatalaga Toe Iloiloga o Fa'amaumauga
Laulau 1.
Fa'amatalaga Toe Iloiloga o le Intel FPGA SDK mo OpenCL Cyclone V SoC
Atina'e Atina'e Fa'asinomaga Platform Porting Guide
Aso | Fa'aliliuga | Suiga |
Me-17 | 2017.05.08 | • Fa'asa'olotoga. |
Oketopa 2016 | 2016.10.31 | • Toe fa'ailoga Altera SDK mo OpenCL i le Intel FPGA SDK mo OpenCL. • Toe fa'ailoga Altera Offline Compiler ile Intel FPGA SDK mo OpenCL Offline Compiler. |
Me-16 | 2016.05.02 | • Suia faatonuga i le fausiaina ma le suia o se ata SD flash card. • Fa'atonuga fa'aopoopo i le toe tu'ufa'atasia o le fatu Linux ma le aveta'avale aano o OpenCL Linux. |
Novema-15 | 2015.11.02 | • Fa'amalologa o le tausiga, ma suia tulaga ole Quartus II ile Quartus Prime. |
Me-15 | 15.0.0 | •I le FPGA Reconfiguration, aveese faatonuga e toe faʻatonu le FPGA autu ma se . ata rbf e ala i le faʻaogaina o le pusi fileigoa>. rbf > /dev/ fpga0 poloaiga ona e le fautuaina lenei metotia. |
Tesema-14 | 14.1.0 | • Toe fa'aigoa le pepa o le Altera Cyclone V SoC Development Kit Reference Platform Porting Guide. • Fa'afouina le fa'aogaina o le polokalame i le polokalame aoclfileigoa>.aocx aoga poloaiga. • Fa'afouina le aoga fa'apitoa ile aocl diagnose ma aocl diagnose fa'atonuga aoga. • Fa'afou le fa'agasologa i le Porting the Reference Platform to Your SoC Board vaega e aofia ai fa'atonuga i le fa'alavaina ma le suia o le vaeluaga o le laupapa c5soc e fai ai se vaeluaga o le taimi-mama mo le tafega fa'amaumau taimi tapuni. • Fa'aofiina le autu Fa'afouina o se Ported Reference Platform e fa'amatala ai taualumaga mo galuega nei: 1. le aofia ai le faiga malo faiga (HPS) poloka i le vaeluaga laupapa 2. Faʻafouina le ata SD flash card • Fa'afouina le vaega o le Fausiaina o le SD Flash Card Ata. Fautuaina le fa'aogaina o le version 14.0 o le Golden System Reference Design (GSRD) ata e fai ma amataga nai lo le ata o lo'o maua ile SoC Embedded Design Suite (EDS). • Fa'afou le Recompiliing the Linux Kernel ma le OpenCL Linux Kernel Driver section: 1. Faʻaopoopo le faʻatonuga e seti ai le fesuiaiga o le CROSS COMPILE. 2.Suia le poloaiga e te tamoe e faʻamaonia o le CMA ua mafaia manuia. |
Iulai-14 | 14.0.0 | • Uluai Fa'asalalauga. |
Pepa / Punaoa
![]() |
intel FPGA SDK mo OpenCL [pdf] Taiala mo Tagata Fa'aoga FPGA SDK mo OpenCL, FPGA SDK, SDK mo OpenCL, SDK |