Intel - logoFPGA SDK fun OpenCL
Itọsọna olumulo

UG-OCL009
2017.05.08
Imudojuiwọn to kẹhin fun Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS WiFi Smart Foot Massager - aami 5Alabapin
SAMSUNG SM A136UZKZAIO Galaxy A13 5G Foonuiyara Foonuiyara - aami 12Fi esi ranṣẹ

Intel® FPGA SDK fun OpenCL™ Intel® Cyclone®V SoC Idagbasoke Apo Itọkasi Platform Itọsọna Gbigbe

Itọsọna Porting Platform Itọkasi Apo Idagbasoke V SoC ṣe apejuwe ohun elo ati apẹrẹ sọfitiwia ti Intel Cyclone V SoC Development Kit Reference Platform (c5soc) fun lilo pẹlu Apo Idagbasoke sọfitiwia Intel (SDK) fun OpenCL Intel ® FPGA SDK fun OpenCL ™ Intel Cyclone ® . Ṣaaju ki o to bẹrẹ, Intel ṣeduro ni iyanju pe ki o mọ ararẹ pẹlu awọn akoonu ti awọn iwe aṣẹ wọnyi:

  1. Intel FPGA SDK fun OpenCLintel Cyclone V SoC Itọsọna Bibẹrẹ
  2. Intel FPGA SDK fun Itọnisọna Olumulo Ohun elo Irinṣẹ Aṣa Platform OpenCL
  3. Iwe Amudani Ẹrọ Cyclone V, Iwọn didun 3: Ilana Itọkasi Imọ-ẹrọ Eto Lile Processor Ni afikun, tọka si Apo Idagbasoke Cyclone V SoC ati oju-iwe Apẹrẹ Apẹrẹ SoC ti Altera webojula fun alaye siwaju sii. 1

Ifarabalẹ: Intel dawọle pe o ni oye ti o jinlẹ ti Intel FPGA SDK fun Itọsọna Olumulo Ohun elo Irinṣẹ Aṣa Platform OpenCL. Itọnisọna Itọkasi Itọkasi Apo Idagbasoke Cyclone V SoC ko ṣe apejuwe lilo ohun elo Irinṣẹ Platform Aṣa ti SDK lati ṣe imuse Platform Aṣa fun Apo Idagbasoke Cyclone V SoC. O ṣe apejuwe awọn iyatọ nikan laarin atilẹyin SDK lori Apo Idagbasoke Cyclone V SoC ati jeneriki Intel FPGA SDK fun OpenCL Custom Platform.

Jẹmọ Links

  • Intel FPGA SDK fun OpenCL Cyclone V SoC Itọsọna Bibẹrẹ
  • Intel FPGA SDK fun Itọnisọna Olumulo Ohun elo Irinṣẹ Aṣa Platform OpenCL
  • Cyclone V Device Handbook, iwọn didun 3: Lile isise System Technical Reference Afowoyi
  • Apo Idagbasoke Cyclone V SoC ati oju-iwe Apẹrẹ Apẹrẹ SoC lori Altera webojula
  1. OpenCL ati aami OpenCL jẹ aami-iṣowo Apple Inc. ti a lo nipasẹ igbanilaaye ti Khronos Group™.
  2. Intel FPGA SDK fun OpenCL da lori Ikọye Khronos ti a tẹjade, ati pe o ti kọja Ilana Igbeyewo Iṣeduro Khronos. Ipo ibamu lọwọlọwọ le rii ni www.khronos.org/conformance.

Intel Corporation. Gbogbo awọn ẹtọ wa ni ipamọ. Intel, aami Intel, Altera, Arria, Cyclone, Enpion, MAX, Nios, Quartus ati Stratix ọrọ ati awọn apejuwe jẹ aami-iṣowo ti Intel Corporation tabi awọn ẹka rẹ ni AMẸRIKA ati/tabi awọn orilẹ-ede miiran. Intel ṣe atilẹyin iṣẹ ṣiṣe ti FPGA rẹ ati awọn ọja semikondokito si awọn pato lọwọlọwọ ni ibamu pẹlu atilẹyin ọja boṣewa Intel, ṣugbọn ni ẹtọ lati ṣe awọn ayipada si eyikeyi awọn ọja ati iṣẹ nigbakugba laisi akiyesi. Intel ko gba ojuse tabi layabiliti ti o dide lati inu ohun elo tabi lilo eyikeyi alaye, ọja, tabi iṣẹ ti a ṣalaye ninu rẹ ayafi bi a ti gba ni kikun si kikọ nipasẹ Intel. A gba awọn alabara Intel nimọran lati gba ẹya tuntun ti awọn pato ẹrọ ṣaaju gbigbekele eyikeyi alaye ti a tẹjade ati ṣaaju gbigbe awọn aṣẹ fun awọn ọja tabi awọn iṣẹ.
* Awọn orukọ miiran ati awọn ami iyasọtọ le jẹ ẹtọ bi ohun-ini ti awọn miiran.

1.1.1 Cyclone V SoC Development Apo Reference Platform Board Variants
Intel FPGA SDK fun OpenCL Cyclone V SoC Development Kit Reference Platform pẹlu awọn iyatọ igbimọ meji.

  • c5soc igbimọ
    Yi aiyipada ọkọ pese wiwọle si meji DDR iranti bèbe. HPS DDR wa ni iraye si nipasẹ mejeeji FPGA ati Sipiyu. FPGA DDR jẹ wiwọle nipasẹ FPGA nikan.
  • c5soc_sharedonly ọkọ
    Iyatọ igbimọ yii ni asopọ HPS DDR nikan. FPGA DDR ko wa. Yi ọkọ iyatọ jẹ diẹ agbegbe daradara nitori kere hardware jẹ pataki lati se atileyin ọkan DDR iranti bank. Igbimọ c5soc_sharedonly tun jẹ pẹpẹ apẹrẹ ti o dara fun igbimọ iṣelọpọ ipari pẹlu banki iranti DDR kan.
    Lati fojusi iyatọ igbimọ yii nigbati o ba n ṣajọ ekuro OpenCL rẹ, pẹlu aṣayan -board c5soc_sharedonly ninu aṣẹ aoc rẹ.
    Fun alaye siwaju sii lori -board aṣayan ti aṣẹ aoc, tọka si Intel FPGA SDK fun Itọsọna Siseto OpenCL.

Jẹmọ Links
Iṣakojọpọ ekuro kan fun Igbimọ FPGA kan pato (–board )
1.1.2 Akoonu ti Cyclone V SoC Development Kit Reference Platform
Platform Itọkasi Apo Idagbasoke Cyclone V SoC ni atẹle naa files ati awọn ilana:

File tabi Directory Apejuwe
ọkọ_env.xml Ede Siṣamisi eXtensible (XML) file ti o ṣe apejuwe c5soc si Intel FPGA SDK fun OpenCL.
linux_sd_card_image.tgz Fisinuirindigbindigbin SD filasi kaadi image file ti o ni ohun gbogbo ti olumulo SDK nilo lati lo Apo Idagbasoke Cyclone V SoC pẹlu SDK.
apa32 Itọsọna ti o ni awọn wọnyi:

1.1.3 Awọn ẹya pataki ti Cyclone V SoC Development Kit

Atokọ atẹle ṣe afihan awọn paati Apo Idagbasoke Cyclone V SoC ati awọn ẹya ti o ṣe pataki si Intel FPGA SDK fun OpenCL:

  • Meji-mojuto ARM Cortex-A9 Sipiyu nṣiṣẹ Linux 32-bit.
  • Ni ilọsiwaju eXtensible Interface (AXI) akero laarin HPS ati FPGA mojuto fabric.
  • Meji àiya DDR iranti olutona, kọọkan sopọ si a 1 gigabyte (GB) DDR3 SDRAM.
    - Alakoso DDR kan wa si mojuto FPGA nikan (iyẹn, FPGA DDR).
    - Adarí DDR miiran wa si HPS ati FPGA (iyẹn, HPS DDR). Adarí pínpín gba laaye pinpin iranti ọfẹ laarin Sipiyu ati FPGA mojuto.
  • Sipiyu le tunto aṣọ mojuto FPGA.

1.1.3.1 Cyclone V SoC Development Kit Reference Platform Design Awọn ibi-afẹde ati Awọn ipinnu Intel ipilẹ imuse ti Cyclone V SoC Development Kit Reference Platform lori ọpọlọpọ awọn ibi-afẹde apẹrẹ ati awọn ipinnu. Intel ṣeduro pe ki o gbero awọn ibi-afẹde ati awọn ipinnu wọnyi nigbati o ba gbe Platform Itọkasi yii si igbimọ SoC FPGA rẹ.
Ni isalẹ ni awọn ibi-afẹde apẹrẹ c5soc:

  1. Pese bandiwidi ti o ga julọ ti o ṣeeṣe laarin awọn kernels lori FPGA ati eto iranti DDR (awọn).
  2. Rii daju pe awọn iṣiro lori FPGA (iyẹn ni, awọn ekuro OpenCL) ko dabaru pẹlu awọn iṣẹ ṣiṣe Sipiyu miiran ti o le pẹlu awọn agbeegbe iṣẹ.
  3. Fi awọn orisun FPGA lọpọlọpọ silẹ bi o ti ṣee fun awọn iṣiro ekuro dipo awọn paati wiwo.

Ni isalẹ wa awọn ipinnu apẹrẹ ipele giga ti o jẹ awọn abajade taara ti awọn ibi-afẹde apẹrẹ Intel:

  1. Platform Reference nikan nlo awọn olutona iranti DDR lile pẹlu iṣeto ti o ṣeeṣe julọ (awọn die-die 256).
  2. FPGA n ba sọrọ pẹlu oludari iranti HPS DDR taara, laisi okiki ọkọ akero AXI ati yipada L3 inu HPS. Ibaraẹnisọrọ taara n pese bandiwidi ti o dara julọ ti o ṣee ṣe si DDR, ati pe o jẹ ki awọn iṣiro FPGA ṣe idiwọ awọn ibaraẹnisọrọ laarin Sipiyu ati agbegbe rẹ.
  3. Scatter-kó taara wiwọle iranti (SG-DMA) ni ko ara ti FPGA ni wiwo kannaa. Dipo ti a gbigbe tobi oye akojo ti data laarin DDR iranti awọn ọna šiše, tọjú awọn data ninu awọn pín HPS DDR. Wiwọle taara si iranti Sipiyu nipasẹ FPGA jẹ daradara diẹ sii ju DMA lọ. O fipamọ awọn orisun ohun elo (iyẹn ni, agbegbe FPGA) ati ṣe irọrun awakọ ekuro Linux.
    Ikilọ: Gbigbe iranti laarin eto HPS DDR ti o pin ati eto DDR ti o wa si FPGA nikan lọra pupọ. Ti o ba yan lati
    gbe iranti lọ ni ọna yii, lo fun awọn iwọn kekere ti data nikan.
  4. Olugbalejo ati ẹrọ naa ṣe gbigbe data ti kii ṣe DMA laarin ara wọn nipasẹ afara HPS-to-FPGA (H2F), ni lilo ibudo 32-bit kan ṣoṣo. Idi ni, laisi DMA, ekuro Linux le fun iwe kika 32-bit kan ṣoṣo tabi kikọ, nitorinaa ko ṣe pataki lati ni asopọ ti o gbooro.
  5. Olugbalejo naa firanṣẹ awọn ifihan agbara iṣakoso si ẹrọ nipasẹ afara H2F (LH2F) iwuwo fẹẹrẹ.
    Nitori awọn ifihan agbara iṣakoso lati ọdọ agbalejo si ẹrọ jẹ awọn ifihan agbara bandiwidi kekere, afara LH2F jẹ apẹrẹ fun iṣẹ-ṣiṣe naa.

1.2 Gbigbe Platform Itọkasi si Igbimọ SoC FPGA Rẹ
Lati gbe Platform Itọkasi Ohun elo Idagbasoke Cyclone V SoC si igbimọ SoC FPGA rẹ, ṣe awọn iṣẹ ṣiṣe wọnyi:

  1. Yan iranti DDR kan tabi ẹya awọn iranti DDR meji ti Platform Reference c5soc bi aaye ibẹrẹ ti apẹrẹ rẹ.
  2. Ṣe imudojuiwọn awọn ipo pin ni ALTERAOCLSDKROOT/board/c5soc/ /oke.qsf file, nibiti ALTERAOCLSDKROOT jẹ ọna si ipo ti Intel FPGA SDK fun fifi sori OpenCL, ati jẹ orukọ liana ti iyatọ igbimọ. Ilana c5soc_sharedonly jẹ fun iyatọ igbimọ pẹlu eto iranti DDR kan. Ilana c5soc jẹ fun iyatọ igbimọ pẹlu awọn eto iranti DDR meji.
  3.  Ṣe imudojuiwọn awọn eto DDR fun awọn bulọọki HPS ati/tabi FPGA SDRAM ninu ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
    4. Gbogbo Intel FPGA SDK fun OpenCL awọn aṣa igbimọ ti o fẹ gbọdọ ṣaṣeyọri pipade akoko idaniloju. Bi iru bẹẹ, gbigbe ti apẹrẹ gbọdọ jẹ mimọ akoko. Lati gbe ipin igbimọ c5soc (acl_iface_partition.qxp) si igbimọ SoC FPGA rẹ, ṣe awọn iṣẹ ṣiṣe wọnyi:
    Fun awọn itọnisọna alaye lori iyipada ati titọju ipin igbimọ, tọka si Quartus
    Àkójọpọ̀ Àkópọ̀ Àkópọ̀ Àkópọ̀ fún Ìlànà àti Ìpìlẹ̀ Apẹrẹ Ẹgbẹ́ ti Quartus Prime Standard Edition Handbook.
    a. Yọ acl_iface_partition.qxp kuro lati ALTERAOCLSDKROOT/board/c5soc/c5soc liana.
    b. Mu agbegbe acl_iface_region LogicLock™ ṣiṣẹ nipa yiyipada aṣẹ Tcl ṣeto_global_assignment -orukọ LL_ENABLED PA -section_id acl_iface_region lati ṣeto_global_assignment -orukọ LL_ENABLED ON -section_id acl_iface_region
    c. Ṣe akopọ ekuro OpenCL fun igbimọ rẹ.
    d. Ti o ba jẹ dandan, ṣatunṣe iwọn ati ipo ti agbegbe LogicLock.
    e. Nigbati o ba ni itẹlọrun pe ipo ti apẹrẹ rẹ jẹ mimọ, gbejade ipin yẹn bi acl_iface_partition.qxp Quartus Prime Exported Partition File.
    Gẹgẹbi a ti ṣapejuwe rẹ ni Ṣiṣeto Idasilẹ Ṣiṣan ṣiṣan akoko ti AIntel FPGA SDK fun Itọsọna Olumulo Ohun elo Irinṣẹ Platform Aṣa Ṣiṣii, nipa gbigbewọle .qxp yii  file sinu apẹrẹ ipele-oke, o mu ibeere ti ipese apẹrẹ igbimọ kan pẹlu ṣiṣan pipade akoko idaniloju.
    Fun awọn okunfa ti o le ni ipa lori didara awọn abajade (QoR) ti ipin ti o ti firanṣẹ si okeere, tọka si Didara Gbogbogbo ti Awọn imọran Awọn abajade fun apakan Ipin Igbimọ Ti Akojade ni Intel FPGA SDK fun Itọsọna Olumulo Ohun elo Irinṣẹ Aṣa Platform OpenCL.
    f. Pa agbegbe acl_iface_region LogicLock kuro nipa yiyipada aṣẹ pada ni Igbesẹ 2 pada si set_global_assignment -name LL_ENABLED PA section_id acl_iface_region.
  4. Ti igbimọ SoC FPGA rẹ ba nlo awọn pinni oriṣiriṣi ati awọn agbegbe ti bulọọki HPS, tun atunbere ati orisun igi ẹrọ (DTS) ṣe. file. Ti o ba yi awọn eto oluṣakoso iranti HPS DDR pada, tun atunlo iṣaju pada.
  5. Ṣẹda aworan kaadi filasi SD.
  6. Ṣẹda Platform Aṣa rẹ, eyiti o pẹlu aworan kaadi filasi SD.
  7. Gbero ṣiṣẹda ẹya agbegbe asiko asiko ti Platform Aṣa rẹ fun lilo pẹlu Intel FPGA Runtime Environment (RTE) fun OpenCL. Ẹya RTE ti Platform Aṣa rẹ ko pẹlu awọn ilana ohun elo ati aworan kaadi filasi SD. Platform Aṣa yii n gbe sori eto SoC FPGA lati gba awọn ohun elo agbalejo laaye lati ṣiṣẹ. Ni idakeji, ẹya SDK ti Platform Aṣa jẹ dandan fun SDK lati ṣajọ awọn ekuro OpenCL.
    Imọran: O le lo ẹya SDK ti Platform Aṣa rẹ fun RTE. Lati fipamọ
    aaye, yọ SD filasi kaadi image lati RTE version of rẹ Aṣa Platform.
  8. Ṣe idanwo Platform Aṣa rẹ.
    Tọkasi apakan Idanwo apakan Oniru Hardware ti Intel FPGA SDK fun Itọsọna Olumulo Ohun elo Irinṣẹ Platform Aṣa Ṣiṣii fun alaye diẹ sii.

Jẹmọ Links

  • Idanwo Apẹrẹ Hardware
  • Iṣakojọpọ Ilọsiwaju Quartus Prime Prime fun Iṣaṣepo ati Apẹrẹ Ipilẹ Ẹgbẹ
  • Ṣiṣeto Ṣiṣayẹwo Akoko Ẹri
  • Didara Gbogbogbo ti Awọn imọran Awọn abajade fun Ipin Igbimọ ti Ilu okeere

1.2.1 Nmu a Ported Reference Platform
Ninu ẹya lọwọlọwọ ti Platform Itọkasi Apo Idagbasoke Cyclone V SoC, bulọọki HPS wa ninu ipin ti o ṣalaye gbogbo ọgbọn aiṣedeede. Sibẹsibẹ, o ko le okeere HPS bi ara ti .qxp file. Lati ṣe imudojuiwọn Platform Aṣa ti o wa tẹlẹ ti o ṣe atunṣe lati ẹya išaaju ti c5soc, ṣe ṣiṣan ipamọ QXP, ṣe imudojuiwọn aworan kaadi filasi SD lati gba agbegbe asiko asiko tuntun, ki o ṣe imudojuiwọn board_spec.xml file lati jeki automigration.
Altera® SDK fun OpenCL version 14.1 ati kọja awọn iwadii naa board_spec.xml file fun alaye ọkọ, ati ki o mu awọn imudojuiwọn laifọwọyi. Nitori ti o yipada awọn
oniru nipa a imulo awon QXP itoju sisan, o gbọdọ mu board_spec.xml file si ọna kika rẹ ni ẹya ti isiyi. Nmu awọn file ngbanilaaye SDK lati ṣe iyatọ laarin Awọn iru ẹrọ Aṣa Aṣa ti ko tọju ati awọn iru ẹrọ Aṣa ti o da lori QXP lọwọlọwọ. Tọkasi Aṣa Platform Automigration fun Ibamu Siwaju ninu Intel FPGA SDK fun Itọsọna Olumulo Ohun elo Irinṣẹ Platform Aṣa ti Ṣii fun alaye diẹ sii.

  1. Lati ṣe ṣiṣan ifipamọ QXP ni apẹrẹ ohun elo Cyclone V SoC FPGA ti o gbejade lati ẹya ti tẹlẹ ti c5soc, ṣe awọn igbesẹ wọnyi lati ṣẹda ipin kan lati yọ HPS kuro ninu .qxp file:
    a. Ṣaaju ki o to ṣẹda ipin kan ni ayika ọgbọn aiṣedeede, ṣẹda ipin kan ni ayika HPS ni Awọn Eto Prime Quartus .qsf File.
    Fun example:
    # Pẹlu ọwọ pin apẹẹrẹ ti o ṣe apẹẹrẹ HPS-dedicated I/O set_intance_assignment -name PARTITION_HIERARCHY borde_18261 -to “system:the_system|system_acl_iface:acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_h:hpsi system_acl_iface_hps_0_hps_io_border: aala" -section_id "system_acl_iface_hps_0_hps_io_border: aala"
    # Ṣeto ipin lati jẹ iru HPS_PARTITION lati ṣe ilana ni deede nipasẹ iyoku Quartus
    ṣeto_global_assignment -orukọ PARTITION_TYPE HPS_PARTITION -section_id "system_acl_iface_hps_0_hps_io_border: aala"
    quartus_cdb oke -c oke
    –incremental_compilation_export=acl_iface_partition.qxp
    –incremental_compilation_export_partition_name=acl_iface_partition
    –incremental_compilation_export_post_synth=lori
    –incremental_compilation_export_post_fit=lori
    –incremental_compilation_export_routing=lori
    –incremental_compilation_export_flatten = pipa
    Lẹhin ti o yọ HPS kuro ni ipin, o le gbe .qxp wọle file ati ṣajọ apẹrẹ rẹ.
  2. Ṣe imudojuiwọn aworan kaadi filasi SD pẹlu ẹya lọwọlọwọ ti Intel FPGA RTE fun OpenCL nipa ṣiṣe awọn iṣẹ ṣiṣe wọnyi:
    a. Gbe awọn file tabili ipin (fat32) ati ki o gbooro sii file eto (ext3) awọn ipin ninu awọn ti wa tẹlẹ aworan bi lupu-pada awọn ẹrọ. Fun awọn ilana alaye, tọka si Igbesẹ 2 ni Ṣiṣe Aworan Kaadi Filaṣi SD kan.
    b. Ni / ile / root / opencl_arm32_rte liana, yọ awọn files lati išaaju ti ikede RTE.
    c. Gbaa lati ayelujara ati ṣaiṣipopada ti isiyi verison ti RTE sinu /home/root/opencl_arm32_rte liana.
    d. Nínú /wakọ/version.h file ti Platform Aṣa rẹ, ṣe imudojuiwọn iṣẹ iyansilẹ ACL_DRIVER_VERSION si . (fun example, 16.1.x, nibiti 16.1 jẹ ẹya SDK, ati x jẹ ẹya awakọ ti o ṣeto).
    e. Tun awakọ naa ṣe.
    f. Pa folda(s) hardware ti Platform Aṣa rẹ rẹ. Daakọ Platform Aṣa, pẹlu awakọ imudojuiwọn, si /home/root/opencl_arm_rte/board directory.
    g. Daakọ Altera.icd file lati / ile / root / opencl_arm32_rte liana ki o si fi o si / ati be be lo / OpenCL / olùtajà liana.
    h. Yọọ kuro ki o ṣe idanwo aworan tuntun naa. Fun awọn ilana alaye, tọka si Awọn Igbesẹ 8 si 11 ni Ṣiṣe Aworan Kaadi Filaṣi SD kan.

Jẹmọ Links

  • Ṣiṣẹda Aworan Kaadi Filaṣi SD loju iwe 14
    O tun ni aṣayan lati ṣẹda aworan kaadi filasi SD tuntun kan.
  • Aṣa Platform Automigration fun Siwaju ibamu

1.3 Software Support fun Pipin Memory
Pipin iranti ti ara laarin FPGA ati Sipiyu jẹ iranti ti o fẹ julọ fun awọn ekuro OpenCL ti n ṣiṣẹ lori awọn FPGA SoC. Nitoripe FPGA n wọle si iranti ti ara ti o pin, ni idakeji si iranti foju pin, ko ni iwọle si awọn tabili oju-iwe Sipiyu ti o ya awọn adirẹsi foju olumulo si awọn adirẹsi oju-iwe ti ara.
Pẹlu ọwọ si ohun elo, OpenCL kernels wọle si iranti ti ara ti o pin nipasẹ asopọ taara si oludari iranti iranti lile HPS DDR. Pẹlu ọwọ si sọfitiwia naa, atilẹyin fun iranti ti ara ti o pin pẹlu awọn ero wọnyi:

  1. Awọn imuse sọfitiwia aṣoju fun ipin iranti lori Sipiyu (fun example, iṣẹ malloc () ko le pin agbegbe iranti ti FPGA le lo.
    Iranti ti iṣẹ malloc () ti n pin jẹ contiguous ni aaye adirẹsi iranti foju, ṣugbọn eyikeyi awọn oju-iwe ti ara ti o wa ni ipilẹ ko ṣeeṣe lati jẹ itosi ti ara. Bi iru bẹẹ, agbalejo gbọdọ ni anfani lati pin awọn agbegbe iranti ti ara-contiguous. Sibẹsibẹ, agbara yii ko si ni awọn ohun elo aaye olumulo lori Lainos. Nitorinaa, awakọ ekuro Linux gbọdọ ṣe ipin naa.
  2. Iwakọ ekuro Linux OpenCL SoC FPGA pẹlu iṣẹ mmap () lati pin iranti ti ara ti o pin ati ṣe maapu sinu aaye olumulo. Iṣẹ mmap () nlo ipe ekuro Linux boṣewa dma_alloc_coherent () lati beere awọn agbegbe iranti ti ara-tẹle fun pinpin pẹlu ẹrọ kan.
  3. Ninu ekuro Linux aiyipada, dma_alloc_coherent () ko pin iranti ti ara-tẹle diẹ sii ju 0.5 megabyte (MB) ni iwọn. Lati gba dma_alloc_coherent () laaye lati pin awọn oye nla ti iranti ti o ni itara ti ara, jẹ ki ẹya iranti allocator iranti contiguous (CMA) ti ekuro Linux ati lẹhinna ṣajọpọ ekuro Linux.
    Fun Cyclone V SoC Development Kit Reference Platform, CMA n ṣakoso 512 MB ninu 1 GB ti iranti ti ara. O le pọsi tabi dinku iye yii, da lori iye iranti pinpin ti ohun elo naa nilo. Ipe dma_alloc_coherent() le ma ni anfani lati pin 512 MB ni kikun ti iranti ti ara; sibẹsibẹ, o le sáábà gba to 450 MB ti iranti.
  4. Sipiyu le kaṣe iranti ti dma_alloc_coherent () ipe allocates. Ni pataki, awọn iṣẹ kikọ lati inu ohun elo agbalejo ko han si awọn ekuro OpenCL. Iṣẹ mmap() ninu awakọ ekuro Linux OpenCL SoC FPGA tun ni awọn ipe si pgprot_noncached () tabi iṣẹ remap_pf_range () lati mu caching fun agbegbe iranti ni gbangba.
  5. Lẹhin iṣẹ dma_alloc_coherent () ti pin iranti ti ara-contiguous, iṣẹ mmap () pada adirẹsi foju si ibẹrẹ ibiti, eyiti o jẹ akoko adirẹsi ti iranti ti o pin. Ohun elo ogun nilo adirẹsi foju yii lati wọle si iranti. Ni apa keji, awọn ekuro OpenCL nilo awọn adirẹsi ti ara. Awakọ ekuro Linux n tọju abala ti oju-iwoye-si-ara adirẹsi aworan agbaye. O le ṣe maapu awọn adirẹsi ti ara ti mmap() pada si awọn adirẹsi ti ara gangan nipa fifi ibeere kun awakọ naa.
    Ipe aocl_mmd_shared_mem_alloc() MMD ni wiwo siseto ohun elo (API) ṣafikun awọn ibeere wọnyi:
    a. Iṣẹ mmap () ti o pin iranti ati da adirẹsi foju pada.
    b. Ibeere afikun ti o ṣe maapu adirẹsi foju ti o pada si adirẹsi ti ara.
    Ipe API aocl_mmd_shared_mem_alloc() MMD lẹhinna da awọn adirẹsi meji pada
    — adirẹsi gangan ti o pada jẹ adirẹsi foju, ati adirẹsi ti ara lọ si ẹrọ_ptr_out.
    Akiyesi: Awakọ le ṣe maapu awọn adirẹsi foju nikan ti iṣẹ mmap () pada si awọn adirẹsi ti ara. Ti o ba beere fun adirẹsi ti ara ti eyikeyi miiran foju ijuboluwole, awọn iwakọ pada a NULL iye.

Ikilọ: Intel FPGA SDK fun awọn ile-ikawe asiko asiko ti OpenCL ro pe iranti pinpin jẹ iranti akọkọ ti a ṣe akojọ si ni board_spec.xml file. Ni awọn ọrọ miiran, adirẹsi ti ara ti awakọ ekuro Linux gba di adirẹsi Avalon® ti ekuro OpenCL kọja si HPS SDRAM.
Ni ọwọ si ile-ikawe asiko asiko, lo ipe clCreateBuffer () lati pin iranti ti o pin gẹgẹbi ifipamọ ẹrọ ni ọna atẹle:

  • Fun iyatọ igbimọ meji-DDR pẹlu iranti pinpin ati iranti ti kii ṣe pinpin, clCreateBuffer () pin iranti pinpin ti o ba pato asia CL_MEM_USE_HOST_PTR. Lilo awọn asia miiran nfa clCreateBuffer () lati pin ifipamọ sinu iranti ti kii pin.
  • Fun iyatọ igbimọ ọkan-DDR pẹlu iranti pinpin nikan, clCreateBuffer () pin iranti pinpin laibikita iru asia ti o pato.
    Lọwọlọwọ, atilẹyin Linux 32-bit lori ARM Sipiyu n ṣe akoso iwọn ti atilẹyin iranti pinpin ni awọn ile-ikawe asiko asiko SDK. Ni awọn ọrọ miiran, awọn ile-ikawe asiko asiko ti a ṣe akojọpọ si awọn agbegbe miiran (fun example, x86_64 Linux tabi 64-bit Windows) ko ni atilẹyin pín iranti.
    C5soc ko ṣe imuse iranti oriṣiriṣi lati ṣe iyatọ laarin pinpin ati iranti aiṣedeede fun awọn idi wọnyi:
    1. Itan-Atilẹyin iranti oniruuru ko si nigba ti a ṣẹda atilẹyin iranti pinpin ni akọkọ.
    2. Aso wiwo-Nitori OpenCL jẹ ẹya-ìmọ bošewa, Intel ntẹnumọ aitasera laarin orisirisi awọn onijaja Syeed iširo. Nitorina, kanna ni wiwo bi miiran ọkọ olùtajà 'faaji ti lo lati allocate ati ki o lo pín iranti.

1.4 FPGA atunto
Fun SoC FPGAs, Sipiyu le tunto aṣọ mojuto FPGA laisi idilọwọ iṣẹ Sipiyu. Ohun elo ohun elo FPGA Manager Àkọsílẹ ti o straddles HPS ati FPGA mojuto ṣe atunto. Ekuro Linux pẹlu awakọ kan ti o jẹ ki iraye si irọrun si Oluṣakoso FPGA.

  • Si view awọn ipo ti FPGA mojuto, o nran /sys/kilasi/fpga/fpga0/ aṣẹ ipo.
    Intel FPGA SDK fun IwUlO eto OpenCL ti o wa pẹlu Cyclone V SoC Development Kit Reference Platform nlo wiwo yii lati ṣe eto FPGA naa. Nigbati o ba tun ṣe ipilẹ FPGA kan pẹlu Sipiyu ti nṣiṣẹ, ohun elo eto naa ṣe gbogbo awọn iṣẹ ṣiṣe wọnyi:
    1. Ṣaaju ṣiṣe atunto, mu gbogbo awọn afara ibaraẹnisọrọ kuro laarin FPGA ati HPS, mejeeji H2F ati awọn afara LH2F.
    Tunṣe awọn afara wọnyi leyin ti atunto pari.
    Akiyesi: Eto OpenCL ko lo afara FPGA-to-HPS (F2H). Tọkasi apakan Awọn atọkun HPS-FPGA ninu Iwe Afọwọkọ Ẹrọ Cyclone V, Iwọn didun 3: Ilana Itọkasi Imọ-ẹrọ Eto Lile fun alaye diẹ sii.
    2. Rii daju wipe ọna asopọ laarin FPGA ati HPS DDR adarí ti wa ni alaabo nigba reprogramming.
    3. Rii daju pe awọn idalọwọduro FPGA lori FPGA ti wa ni alaabo lakoko atunto.
    Paapaa, sọ fun awakọ lati kọ eyikeyi awọn idilọwọ lati FPGA lakoko ṣiṣe atunto.

Kan si koodu orisun ti ohun elo eto fun awọn alaye lori imuse gangan.

Ikilọ: Maṣe yi iṣeto ni ti oludari HPS DDR pada nigbati Sipiyu n ṣiṣẹ.
Ṣiṣe bẹ le fa aṣiṣe eto apaniyan nitori pe o le yi atunto oluṣakoso DDR pada nigbati awọn iṣowo iranti to dayato wa lati Sipiyu. Eyi tumọ si pe nigbati Sipiyu ba n ṣiṣẹ, o le ma tun ṣe mojuto FPGA pẹlu aworan ti o nlo HPS DDR ni iṣeto ti o yatọ.
Ranti pe eto OpenCL, ati apẹrẹ itọkasi Hardware Golden ti o wa pẹlu Intel SoC FPGA Embedded Design Suite (EDS), ṣeto HPS DDR sinu ipo 256-bit kan.
Awọn ẹya eto Sipiyu gẹgẹbi asọtẹlẹ ẹka tabi prefetcher tabili oju-iwe le fun awọn aṣẹ DDR paapaa nigbati o han pe ko si nkan ti nṣiṣẹ lori Sipiyu.
Nitorinaa, akoko bata jẹ akoko ailewu nikan lati ṣeto iṣeto iṣakoso HPS DDR.
Eyi tun tumọ si pe U-bata gbọdọ ni alakomeji aise file (.rbf) aworan lati fifuye sinu iranti. Bibẹẹkọ, o le mu HPS DDR ṣiṣẹ pẹlu awọn ebute oko oju omi ti ko lo lori FPGA ati lẹhinna ni agbara iyipada awọn atunto ibudo lẹhinna. Fun idi eyi, awakọ ekuro Linux OpenCL ko pẹlu imọ-ọrọ pataki lati ṣeto iṣeto iṣakoso HPS DDR.
SW3 meji in-line package (DIP) yipada lori Cylone V SoC Development Apo iṣakoso fọọmu ti a reti ti aworan .rbf (iyẹn, boya file ti wa ni fisinuirindigbindigbin ati/tabi ti paroko). C5soc, ati Apẹrẹ Itọkasi Hardware Golden ti o wa pẹlu SoC EDS, pẹlu fisinuirindigbindigbin ṣugbọn awọn aworan .rbf ti ko paro. Awọn eto iyipada SW3 DIP ti a sapejuwe ninu Intel FPGA SDK fun OpenCL Cyclone V SoC Itọsọna Bibẹrẹ baramu iṣeto ni aworan .rbf yii.

Jẹmọ Links

  • HPS-FPGA atọkun
  • Tito leto SW3 Yipada

1.4.1 FPGA System Architecture Awọn alaye
Atilẹyin fun Platform Itọkasi Ohun elo Idagbasoke Cyclone V SoC da lori Stratix® V Reference Platform (s5_ref), wa pẹlu Intel FPGA SDK fun OpenCL.
Eto gbogbogbo ti eto c5soc Qsys ati awakọ ekuro jẹ iru awọn ti o wa ni s5_ref.
Awọn paati mojuto FPGA wọnyi jẹ kanna ni mejeeji c5soc ati s5_ref:

  • Ìdènà VERSION_ID
  • Ilana isinmi
  • Olupin banki iranti
  • Kaṣe snoop ni wiwo
  • Ekuro aago
  • Iṣakoso iforukọsilẹ wiwọle (CRA) awọn bulọọki

1.5 Ilé kan SD Flash Card Image
Nitori Cyclone V SoC FPGA jẹ eto kikun lori chirún kan, o ni iduro fun jiṣẹ asọye ni kikun ti eto naa. Intel ṣeduro pe ki o firanṣẹ ni irisi aworan kaadi filasi SD kan. Intel FPGA SDK fun olumulo OpenCL le kọ aworan nirọrun si kaadi filasi micro SD ati igbimọ SoC FPGA ti ṣetan fun lilo.
Ṣatunṣe Aworan Kaadi Filaṣi SD ti o wa ni oju-iwe 13
Intel ṣeduro pe ki o ṣatunṣe aworan ti o wa pẹlu Platform Apo Idagbasoke Cyclone V SoC. O tun ni aṣayan lati ṣẹda aworan kaadi filasi SD tuntun kan.
Ṣiṣẹda Aworan Kaadi Filaṣi SD loju iwe 14
O tun ni aṣayan lati ṣẹda aworan kaadi filasi SD tuntun kan.

1.5.1 Títúnṣe Aworan Kaadi Flash SD ti o wa tẹlẹ
Intel ṣeduro pe ki o yipada aworan ti o wa pẹlu Cyclone V SoC
Development Apo Reference Platform. O tun ni aṣayan lati ṣẹda aworan kaadi filasi SD tuntun kan.
Aworan c5soc linux_sd_card_image.tgz file wa ninu ALTERAOCLSDKROOT/board/c5soc liana, nibiti ALTERAOCLSDKROOT tọka si ọna ti Intel FPGA SDK fun ilana fifi sori ẹrọ OpenCL.

Ifarabalẹ: Lati yi aworan kaadi filasi SD pada, o gbọdọ ni gbongbo tabi awọn anfani sudo.

  1. Lati yọkuro $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, ṣiṣe awọn pipaṣẹ tar xvfzlinux_sd_card_image.tgz.
  2. Ṣe akopọ hello_world OpenCL example ṣe ọnà rẹ nipa lilo rẹ Aṣa Platform support. Fun lorukọ .rbf file pe Intel FPGA SDK fun OpenCL Offline Compiler ṣe ipilẹṣẹ bi opencl.rbf, ati gbe e si apakan fat32 laarin aworan kaadi filasi SD.
    O le ṣe igbasilẹ hello_world example apẹrẹ lati OpenCL Design Examples iwe lori Altera webojula.
  3. Gbe .rbf file sinu fat32 ipin ti filasi kaadi image.
    Ifarabalẹ: Ipin fat32 gbọdọ ni awọn mejeeji zImage naa file ati .rbf file. Laisi .rbf file, aṣiṣe apaniyan yoo waye nigbati o ba fi awakọ sii.
  4. Lẹhin ti o ṣẹda aworan kaadi SD, kọ si kaadi micro SD nipa pipe pipaṣẹ atẹle: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. Lati ṣe idanwo aworan kaadi filasi SD rẹ, ṣe awọn iṣẹ ṣiṣe wọnyi:
    a. Fi kaadi filasi micro SD sinu igbimọ SoC FPGA.
    b. Agbara soke awọn ọkọ.
    c. Pe aocl aṣẹ IwUlO ṣe iwadii aisan.

1.5.2 Ṣiṣẹda ohun SD Flash Card Image
O tun ni aṣayan lati ṣẹda aworan kaadi filasi SD tuntun kan. Awọn itọnisọna gbogboogbo lori kikọ aworan kaadi filasi SD tuntun ati atunṣe aworan kaadi filasi SD ti o wa tẹlẹ wa lori GSRD v14.0.2 - oju-iwe Kaadi SD ti RocketBoards.org webojula.
Awọn igbesẹ ti o wa ni isalẹ ṣe apejuwe ilana fun ṣiṣẹda aworan linux_sd_card_image.tgz lati Apẹrẹ Itọkasi Itọkasi Eto Golden (GSRD) aworan kaadi kaadi SD filasi:
Akiyesi:
Lati ṣẹda aworan lati aworan c5soc, ṣe gbogbo awọn iṣẹ ṣiṣe to wulo ti a ṣe ilana ni ilana yii.

  1. Ṣe igbasilẹ ati ṣii ẹya aworan kaadi filasi GSRD SD 14.0 lati Rocketboards.org.
  2. Gbe awọn file tabili ipin (fat32) ati ki o gbooro sii file eto (ext3) awọn ipin ni aworan yii bi awọn ẹrọ ẹhin lupu. Lati gbe ipin kan, ṣe awọn igbesẹ wọnyi:
    a. Ṣe ipinnu ibẹrẹ baiti ti ipin laarin aworan nipa pipe /sbin/fdisk -lu image_file pipaṣẹ.
    Fun example, ipin nọmba 1 ti iru W95 FAT ni o ni a Àkọsílẹ aiṣedeede ti 2121728. Pẹlu 512 baiti fun Àkọsílẹ, awọn baiti aiṣedeede 512 baiti x 2121728 = 1086324736 baiti.
    b. Ṣe idanimọ ẹrọ loop ọfẹ kan (fun example, / dev/loop0) nipa titẹ pipaṣẹ losetup -f.
    c. A ro pe / dev/loop0 jẹ ẹrọ loop ọfẹ, fi aworan kaadi filasi rẹ si ẹrọ bulọọki lupu nipa pipe aworan Lostup / dev/loop0_file -0 1086324736 pipaṣẹ.
    d. Gbe ẹrọ lupu naa nipa pipe pipaṣẹ òke /dev/loop0 /media/disk1.
    Ninu aworan naa file, /media/disk1 jẹ bayi ipin fat32 ti a gbe soke.
    e. Tun awọn igbesẹ a to d fun ext3 ipin.
  3. Ṣe igbasilẹ ẹya Cyclone V SoC FPGA ti Ayika asiko asiko Intel FPGA fun package OpenCL lati Ile-iṣẹ Gbigbawọle lori Altera webojula.
    a. Tẹ bọtini igbasilẹ lẹgbẹẹ Quartus Prime àtúnse sọfitiwia.
    b. Pato ẹya idasilẹ, ẹrọ ṣiṣe, ati ọna igbasilẹ.
    c. Tẹ Afikun Software taabu, ko si yan lati ṣe igbasilẹ Intel FPGA
    Ayika asiko asiko fun OpenCL Linux Cyclone V SoC TGZ.
    d. Lẹhin ti o ṣe igbasilẹ aocl-rte- .apa32.tgz file, tú u si
    a liana ti o ara.
  4. Gbe aocl-rte- ti a ko ti kojọpọ .arm32 liana sinu / ile / root / opencl_arm32_rte liana lori ext3 ipin ti awọn aworan file.
  5. Pa awọn folda hardware rẹ ti Aṣa Platform rẹ, ati lẹhinna gbe Platform Aṣa sinu iwe-ipamọ igbimọ ti /home/root/ opencl_arm32_rte.
  6. Ṣẹda init_opencl.sh file ni / ile / root liana pẹlu awọn wọnyi akoonu: okeere ALTERAOCLSDKROOT = / ile / root / opencl_arm32_rte okeere AOCL_BOARD_PACKAGE_ROOT = $ ALTERAOCLSDKROOT / ọkọ / okeere PATH=$ALTERAOCLSDKROOT/bin:$PATH okeere LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/ogun/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/awakọ/aclsoc_drv.ko
    Olumulo SDK nṣiṣẹ orisun ./init_opencl.sh lati ṣaja awọn oniyipada ayika ati awakọ ekuro Linux OpenCL.
  7. Ti o ba nilo imudojuiwọn iṣaju, DTS naa files, tabi ekuro Linux, o nilo apa-linux-gnueabihf-gcc alakojo lati SoC EDS. Tẹle awọn ilana ti a ṣe ilana ni Intel SoC FPGA Itọnisọna Oniru Apẹrẹ Suite Itọsọna olumulo lati gba sọfitiwia naa, ṣajọ wọn, ati mu imudojuiwọn to wulo files lori awọn agesin fat32 ipin.
    Ifarabalẹ: O ṣeese julọ pe o nilo lati ṣe imudojuiwọn iṣaju iṣaju ti Platform Aṣa rẹ ni awọn lilo pin oriṣiriṣi ju awọn ti o wa ni c5soc lọ.
    Ranti: Ti o ba tun ekuro Linux ṣe, tun ṣe awakọ ekuro Linux pẹlu orisun Linux ekuro kanna files. Ti ibaamu kan ba wa laarin awakọ ekuro Linux ati ekuro Linux, awakọ naa ko ni fifuye. Paapaa, o gbọdọ mu CMA ṣiṣẹ.
    Tọkasi Atunṣe Ekuro Linux fun alaye diẹ sii.
  8. Ṣe akopọ hello_world OpenCL example ṣe ọnà rẹ nipa lilo rẹ Aṣa Platform support. Fun lorukọ .rbf file pe Intel FPGA SDK fun OpenCL Offline Compiler ṣe ipilẹṣẹ bi opencl.rbf, ati gbe e si apakan fat32 laarin aworan kaadi filasi SD.
    O le ṣe igbasilẹ hello_world example apẹrẹ lati OpenCL Design Examples iwe lori Altera webojula.
    9. Lẹhin ti o ti fipamọ gbogbo awọn pataki files pẹlẹpẹlẹ aworan kaadi filasi, pe awọn aṣẹ wọnyi:
    a. amuṣiṣẹpọ
    b. unmount /media/disk1
    c. unoke ibo ni orukọ liana ti o lo fun iṣagbesori ipin ext3 ni 3 ni oju-iwe 3 (fun ext2ample, /media/disk2).
    d. losetup -d /dev/loop0
    e. losetup -d /dev/loop1
  9. Tẹ aworan kaadi filasi SD nipa pipe pipaṣẹ atẹle: tar cvfz .tgz linux_sd_card_image
  10. Pese awọn .tgz file inu awọn root liana ti rẹ Aṣa Platform.
  11. Lati ṣe idanwo aworan kaadi filasi SD rẹ, ṣe awọn iṣẹ ṣiṣe wọnyi:
    a. Kọ abajade ti a ko fikun aworan sori kaadi filasi bulọọgi SD kan.
    b. Fi kaadi filasi micro SD sinu igbimọ SoC FPGA.
    c. Agbara soke awọn ọkọ.
    d. Pe aṣẹ aocl ṣe iwadii ohun elo.

Jẹmọ Links

  • Intel SoC FPGA ifibọ Design Suite olumulo Itọsọna
  • Ṣii CL Apẹrẹ Examples iwe lori Altera webojula
  • Ṣatunṣe Kernel Lainos ni oju-iwe 16
    Lati mu CMA ṣiṣẹ, o gbọdọ kọkọ ṣajọpọ ekuro Linux.
  • Nbeere Orukọ Ẹrọ ti Igbimọ FPGA Rẹ (iwadii)

1.6 Iṣakojọpọ Kernel Linux fun Cyclone V SoC FPGA
Ṣaaju ṣiṣe awọn ohun elo OpenCL lori igbimọ Cyclone V SoC FPGA, o gbọdọ ṣajọ orisun ekuro Linux, ati ṣajọ ati fi sii awakọ ekuro Linux OpenCL.

  1. Ṣatunṣe Kernel Lainos ni oju-iwe 16
    Lati mu CMA ṣiṣẹ, o gbọdọ kọkọ ṣajọpọ ekuro Linux.
  2. Iṣakojọpọ ati fifi sori ẹrọ Awakọ Kernel Lainos OpenCL ni oju-iwe 17 Ṣe akopọ awakọ ekuro Linux OpenCL lodi si orisun ekuro ti a ṣajọpọ.

1.6.1 Recompiling Linux ekuro
Lati mu CMA ṣiṣẹ, o gbọdọ kọkọ ṣajọpọ ekuro Linux.

  1. Tẹ GSRD v14.0 - Iṣakojọpọ ọna asopọ Linux lori oju-iwe Awọn orisun ti RocketBoards.org webaaye lati wọle si awọn itọnisọna lori igbasilẹ ati atunṣe koodu orisun ekuro Linux.
    Fun lilo pẹlu ™ Intel FPGA SDK fun OpenCL, pato socfpga-3.13-rel14.0 bi .
  2. Akiyesi: Ilana ile ṣẹda arch/arm/configs/socfpga_defconfig file. Eyi file pato awọn eto fun iṣeto aiyipada socfpga.
    Ṣafikun awọn ila wọnyi si isalẹ ti arch/apa/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
    Iye atunto CONFIG_CMA_SIZE_MBYTES ṣeto iye to ga julọ lori nọmba lapapọ ti iranti contiguous ti ara ti o wa. O le mu iye yii pọ si ti o ba nilo iranti diẹ sii.
  3. Ifarabalẹ: Lapapọ iye iranti ti ara ti o wa si ero isise ARM lori igbimọ SoC FPGA jẹ 1 GB. Intel ko ṣeduro pe ki o ṣeto oluṣakoso CMA sunmọ 1 GB.
  4. Ṣiṣe aṣẹ mrproper lati nu iṣeto ni lọwọlọwọ.
  5. Ṣiṣe aṣẹ ARCH = apa socfpga_deconfig.
    ARCH=apa tọkasi wipe o fẹ lati tunto awọn ARM faaji.
    socfpga_defconfig tọkasi wipe o fẹ lati lo aiyipada socfpga iṣeto ni.
  6. Ṣiṣe aṣẹ okeere CROSS_COMPILE=arm-linux-gnueabihf- pipaṣẹ.
    Aṣẹ yii ṣeto oniyipada ayika CROSS_COMPILE lati ṣe pato asọtẹlẹ ti pq irinṣẹ ti o fẹ.
  7. Ṣiṣe aṣẹ ARCH = apa zImage. Aworan ti o ni abajade wa ni arch / apa / bata / zImage file.
  8. Gbe zImage file sinu fat32 ipin ti filasi kaadi image. Fun awọn itọnisọna alaye, tọka si Itọsọna olumulo GSRD-pato Cyclone V SoC FPGA lori Rocketboards.org.
  9. Akiyesi: Lati fi awakọ ekuro Linux OpenCL sii ni deede, kọkọ ṣajọpọ SDKgenerated.rbf kan file lori FPGA.
    Lati ṣẹda .rbf file, sakojo ohun SDK oniru example pẹlu Platform Itọkasi Apo Idagbasoke Cyclone V SoC gẹgẹbi Platform Aṣa ti a fojusi.
    9. Gbe .rbf file sinu fat32 ipin ti filasi kaadi image.
    Akiyesi: Awọn ipin fat32 gbọdọ ni awọn mejeeji zImage naa file ati .rbf file. Laisi .rbf file, aṣiṣe apaniyan yoo waye nigbati o ba fi awakọ sii.
  10. Fi kaadi micro SD ti a ṣe eto, eyiti o ni aworan kaadi SD ti o yipada tabi ṣẹda tẹlẹ, sinu Apo Idagbasoke Cyclone V SoC ati lẹhinna fi agbara soke igbimọ SoC FPGA.
  11. Ṣe idaniloju ẹya ti ekuro Linux ti a fi sii nipa ṣiṣe pipaṣẹ uname -r.
  12. Lati rii daju pe o mu CMA ṣiṣẹ ni aṣeyọri ninu ekuro, pẹlu igbimọ SoC FPGA ti o ni agbara, ṣiṣe aṣẹ grep init_cma /proc/kallsyms.
    CMA ti ṣiṣẹ ti abajade ko ba jẹ ofo.
  13. Lati lo ekuro Linux ti a ṣe akojọpọ pẹlu SDK, ṣajọ ati fi awakọ ekuro Linux sori ẹrọ.

Jẹmọ Links

  • Golden System Reference Design (GSRD) olumulo Manuali
  • Ṣiṣe Aworan Kaadi Filaṣi SD kan ni oju-iwe 13
    Nitori Cyclone V SoC FPGA jẹ eto kikun lori chirún kan, o ni iduro fun jiṣẹ asọye ni kikun ti eto naa.

1.6.2 Iṣakojọpọ ati fifi sori ẹrọ Awakọ Kernel Linux OpenCL
Ṣe akopọ awakọ ekuro Linux OpenCL lodi si orisun ekuro ti a ṣajọ.

Orisun awakọ wa ni ẹya Cyclone V SoC FPGA ti Ayika asiko asiko Intel FPGA fun OpenCL. Ni afikun, rii daju pe o ti kojọpọ Intel FPGA SDK fun OpenCL-ipilẹṣẹ .rbf file sinu FPGA lati ṣe idiwọ fifi sori ẹrọ ti ko tọ ti module ekuro Linux.

  1. Ṣe igbasilẹ ẹya Cyclone V SoC FPGA ti Ayika asiko asiko Intel FPGA fun package OpenCL lati Ile-iṣẹ Gbigbawọle lori Altera webojula.
    a. Tẹ bọtini igbasilẹ lẹgbẹẹ Quartus Prime àtúnse sọfitiwia.
    b. Pato ẹya idasilẹ, ẹrọ ṣiṣe, ati ọna igbasilẹ.
    c. Tẹ Afikun Software taabu, ko si yan lati ṣe igbasilẹ Intel FPGA
    Ayika asiko asiko fun OpenCL Linux Cyclone V SoC TGZ.
    d. Lẹhin ti o ṣe igbasilẹ aocl-rte- .apa32.tgz file, tú u si
    a liana ti o ara.
    Orisun awakọ wa ni aocl-rte- .arm32 / ọkọ / c5soc / iwakọ liana.
  2. Lati ṣe atunko awakọ ekuro Linux OpenCL, ṣeto iye KDIR ni Ṣiṣe awakọ naafile si liana ti o ni orisun ekuro Linux files.
  3. Ṣiṣe aṣẹ okeere CROSS_COMPILE=arm-linux-gnueabihf- aṣẹ lati ṣe afihan ìpele ti pq irinṣẹ rẹ.
  4. Ṣiṣe aṣẹ ṣiṣe mimọ.
  5. Ṣiṣe aṣẹ ṣiṣe lati ṣẹda aclsoc_drv.ko file.
  6. Gbe opencl_arm32_rte itọsọna lọ si igbimọ Cyclone V SoC FPGA.
    Ṣiṣe awọn scp -r root@your-ipaddress: pipaṣẹ gbe agbegbe asiko isise ni / ile / root liana.
  7. Ṣiṣe init_opencl.sh iwe afọwọkọ ti o ṣẹda nigbati o kọ kaadi SD.
  8.  Pe aocl aṣẹ IwUlO ṣe iwadii aisan. IwUlO iwadii yoo da abajade ti nkọja pada lẹhin ti o ba ṣiṣẹ init_opencl.sh ni aṣeyọri.

1.7 mọ oran
Lọwọlọwọ, awọn idiwọn kan wa lori lilo Intel FPGA SDK fun OpenCL pẹlu Platform Itọkasi Apo Idagbasoke Cyclone V SoC.

  1. O ko le fagilee awọn onijaja ati awọn orukọ igbimọ ti o royin nipasẹ CL_DEVICE_VENDOR ati CL_DEVICE_NAME awọn gbolohun ọrọ ti clGetDeviceInfo () ipe.
  2. Ti agbalejo naa ba pin iranti igbagbogbo ni eto DDR pinpin (iyẹn ni, HPS DDR) ati pe o ṣe atunṣe iranti igbagbogbo lẹhin ipaniyan ekuro, data ninu iranti le di igba atijọ. Ọrọ yii dide nitori pe FPGA mojuto ko le snoop lori Sipiyu-si-HPS DDR awọn iṣowo.
    Lati ṣe idiwọ awọn ipaniyan ekuro ti o tẹle lati wọle si data ti igba atijọ, ṣe ọkan ninu awọn ibi-itọju atẹle wọnyi:
    Ma ṣe yipada iranti igbagbogbo lẹhin ibẹrẹ rẹ.
    Ti o ba nilo ọpọ __constant data ṣeto, ṣẹda ọpọ ibakan iranti ifipamọ.
    • Ti o ba wa, pin iranti igbagbogbo ni FPGA DDR lori igbimọ imuyara rẹ.
  3. IwUlO SDK lori ARM nikan ṣe atilẹyin eto naa ati ṣe iwadii awọn aṣẹ iwulo.
    Filaṣi naa, fi sori ẹrọ ati aifi si awọn aṣẹ iwulo ko wulo si Apo Idagbasoke Cyclone V SoC fun awọn idi wọnyi:
    a. IwUlO fifi sori ẹrọ ni lati ṣajọ awakọ ekuro Linux aclsoc_drv ki o muu ṣiṣẹ lori SoC FPGA. Ẹrọ idagbasoke ni lati ṣe akopọ; sibẹsibẹ, o ti ni awọn orisun ekuro Linux tẹlẹ fun SoC FPGA. Awọn orisun ekuro Linux fun ẹrọ idagbasoke yatọ si awọn ti SoC FPGA. Ipo ti awọn orisun ekuro Linux fun SoC FPGA jẹ aimọ si olumulo SDK. Bakanna, ohun elo aifi si tun ko si si Apo Idagbasoke Cyclone V SoC.
    Paapaa, jiṣẹ aclsoc_drv si igbimọ SoC jẹ nija nitori pinpin aiyipada ti Apo Idagbasoke Cyclone V SoC ko ni ekuro Linux pẹlu pẹlu. files tabi GNU Compiler Collection (GCC) alakojo.
    b. IwUlO filasi nilo gbigbe .rbf kan file ti ẹya OpenCL oniru pẹlẹpẹlẹ FAT32 ipin ti awọn bulọọgi SD filasi kaadi. Lọwọlọwọ, ipin yii ko ni fi sori ẹrọ nigbati olumulo SDK ṣe agbara soke igbimọ naa. Nitorinaa, ọna ti o dara julọ lati ṣe imudojuiwọn ipin ni lati lo oluka kaadi filasi ati ẹrọ idagbasoke.
  4. Nigbati o ba yipada laarin Intel FPGA SDK fun OpenCL Aisinipo Compiler executable files (.aocx) ti o ni ibamu si awọn iyatọ igbimọ oriṣiriṣi (iyẹn ni, c5soc ati c5soc_sharedonly), o gbọdọ lo ohun elo eto SDK lati ṣaja .aocx file fun iyatọ igbimọ tuntun fun igba akọkọ. Ti o ba kan ṣiṣe ohun elo agbalejo ni lilo iyatọ igbimọ tuntun ṣugbọn FPGA ni aworan ninu iyatọ igbimọ miiran, aṣiṣe apaniyan le waye.
  5. .qxp naa file ko pẹlu awọn iṣẹ iyansilẹ ipin wiwo nitori Quartus Prime sọfitiwia nigbagbogbo pade awọn ibeere akoko ti ipin yii.
  6. Nigbati o ba fi agbara soke igbimọ, iṣakoso wiwọle media rẹ (MAC) ti ṣeto si nọmba ID kan. Ti eto imulo LAN rẹ ko ba gba ihuwasi laaye, ṣeto adirẹsi MAC nipa ṣiṣe awọn iṣẹ ṣiṣe wọnyi:
    a. Lakoko agbara U-Boot, tẹ bọtini eyikeyi lati tẹ aṣẹ U-Boot sii.
    b. Tẹ setenv ethaddr 00:07:ed:00:00:03 ni aṣẹ aṣẹ.
    O le yan eyikeyi adirẹsi MAC.
    c. Tẹ aṣẹ savenv.
    d. Atunbere awọn ọkọ.

1.8 Iwe Itan Atunyẹwo
Tabili 1.
Itan Atunyẹwo iwe ti Intel FPGA SDK fun OpenCL Cyclone V SoC
Development Apo Reference Platform Porting Itọsọna

Ọjọ Ẹya Awọn iyipada
Oṣu Karun-17 2017.05.08 • Itusilẹ itọju.
Oṣu Kẹwa ọdun 2016 2016.10.31 • Altera SDK ti a tunṣe fun OpenCL si Intel FPGA SDK fun OpenCL.
• Altera Aisinipo Atunkọ Alakojo si Intel FPGA SDK fun OpenCL Aisinipo Compiler.
Oṣu Karun-16 2016.05.02 Awọn ilana atunṣe lori kikọ ati iyipada aworan kaadi filasi SD kan.
• Awọn ilana atunṣe lori ṣiṣe atunko ekuro Linux ati awakọ ekuro Linux OpenCL.
Kọkànlá Oṣù-15 2015.11.02 • Itusilẹ itọju, ati yi awọn apẹẹrẹ ti Quartus II pada si Quartus Prime.
Oṣu Karun-15 15.0.0 • Ninu atunto FPGA, yọkuro itọnisọna lati tun ṣe ipilẹ FPGA
pẹlu kan . aworan rbf nipa pipe ologbo naa fileorukọ>. rbf
> / dev/ fpga0 pipaṣẹ nitori ọna yii ko ṣe iṣeduro.
Oṣu kejila-14 14.1.0 • Tunrukọ iwe naa bi Altera Cyclone V SoC Development Kit Reference Platform Porting Guide.
• Ṣe imudojuiwọn IwUlO reprogram si eto aoclfileorukọ> .aocx IwUlO pipaṣẹ.
• Ṣe imudojuiwọn IwUlO iwadii aisan si iwadii aocl ati iwadii aocl aṣẹ IwUlO.
• Ṣe imudojuiwọn ilana naa ni Porting Platform Reference si apakan Igbimọ SoC rẹ lati ni awọn itọnisọna lori gbigbe ati iyipada ipin igbimọ c5soc lati ṣẹda ipin mimọ-akoko fun ṣiṣan pipade akoko idaniloju.
Fi sii koko-ọrọ Nmudojuiwọn Platform Itọkasi Ported lati ṣe ilana awọn ilana fun awọn iṣẹ ṣiṣe atẹle:
1.Excluding awọn lile isise eto (HPS) Àkọsílẹ ninu awọn ọkọ ipin
2.Updating awọn SD filasi kaadi image
• Ṣe imudojuiwọn apakan Aworan Kaadi Filaṣi SD kan. Iṣeduro lilo ẹya 14.0 ti Apẹrẹ Itọkasi Eto Golden System (GSRD) bi aaye ibẹrẹ dipo aworan ti o wa pẹlu SoC Embedded Design Suite (EDS).
Ṣe imudojuiwọn Kernel Lainos ati OpenCL Linux Kernel Driver apakan:
1.Fikun itọnisọna lati ṣeto iyipada CROSS COMPILE.
2.Changed aṣẹ ti o ṣiṣẹ lati rii daju pe CMA ti ṣiṣẹ ni aṣeyọri.
Oṣu Keje-14 14.0.0 • Itusilẹ akọkọ.

Awọn iwe aṣẹ / Awọn orisun

intel FPGA SDK fun OpenCL [pdf] Itọsọna olumulo
FPGA SDK fun OpenCL, FPGA SDK, SDK fun OpenCL, SDK

Awọn itọkasi

Fi ọrọìwòye

Adirẹsi imeeli rẹ kii yoo ṣe atẹjade. Awọn aaye ti a beere ti wa ni samisi *