intel - logoFPGA SDK mo OpenCL
Fa'aoga Taiala

UG-OCL009
2017.05.08
Fa'afouga mulimuli mo Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS WiFi Smart Foot Massager - icon 5Fa'asoa
SAMSUNG SM A136UZKZAIO Galaxy A13 5G Telefonitelefoni - icon 12Lauina 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:

  1. Intel FPGA SDK mo OpenCLIntel Cyclone V SoC Ta'iala Amata
  2. Intel FPGA SDK mo OpenCL Custom Platform Toolkit User Guide
  3. 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
  1. OpenCL ma le OpenCL logo o fa'ailoga tau fefa'ataua'iga Apple Inc. fa'aaogaina i le fa'atagaga a le Khronos Group™.
  2. 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:

  1. Tuuina atu le bandwidth aupito maualuga i le va o fatu i luga o le FPGA ma le DDR memory system(s).
  2. 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.
  3. 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:

  1. O le Reference Platform na'o le fa'aogaina o le DDR memory controllers fa'atasi ai ma le fa'atulagaina lautele (256 bits).
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. Filifili le tasi DDR manatua poʻo le lua DDR manatua version o le c5soc Reference Platform e fai ma amataga o lau mamanu.
  2. 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.
  3.  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.
  4. 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.
  5. Fausia le ata SD flash card.
  6. Fausia lau Custom Platform, lea e aofia ai le SD flash card image.
  7. 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.
  8. 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.

  1. 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.
  2. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

  1. E fa'amalo le $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, fa'atonu le tar xvfzlinux_sd_card_image.tgz poloaiga.
  2. 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.
  3. 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.
  4. 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
  5. 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.

  1. La'u mai ma tatala le GSRD SD flash card image version 14.0 mai Rocketboards.org.
  2. 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.
  3. 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.
  4. Tuu le aocl-rte- .arm32 directory i le /home/root/opencl_arm32_rte directory i le ext3 partition o le ata file.
  5. 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.
  6. 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.
  7. 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.
  8. 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
  9. Oomi le ata SD flash card e ala i le faʻaogaina o le poloaiga lenei: tar cvfz .tgz linux_sd_card_image
  10. Tu'u atu le .tgz file i totonu o le lisi autu o lau Custom Platform.
  11. 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.

  1. 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.
  2. 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.

  1. 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 .
  2. 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.
  3. 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.
  4. Faʻataʻitaʻi le make mrproper poloaiga e faʻamama le faʻatulagaga o loʻo iai nei.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. Faʻamaonia le faʻasologa o le fatu Linux faʻapipiʻi e ala i le faʻaogaina o le uname -r command.
  12. 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.
  13. 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.

  1. 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.
  2. 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.
  3. Fa'asolo le fa'aulufale atu CROSS_COMPILE=arm-linux-gnueabihf- fa'atonuga e fa'ailoa ai le prefix o lau filifili meafaigaluega.
  4. Fa'atonu le fa'atonuga mama.
  5. Faʻatonu le faʻatonuga e fatu ai le aclsoc_drv.ko file.
  6. 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.
  7. Tafe le init_opencl.sh script na e fatuina ina ua e fausia le SD cardimage.
  8.  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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

Fa'asinomaga

Tuu se faamatalaga

E le fa'asalalauina lau tuatusi imeli. Fa'ailogaina fanua mana'omia *