intel - logoFPGA SDK ji bo OpenCL
Rehbera bikaranînê

UG-OCL009
2017.05.08
Herî paşîn ji bo Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS Maskera Pêyê Smart a WiFi - îkona 5Subscribe
Smartphone SAMSUNG SM A136UZKZAIO Galaxy A13 5G - icon 12Send Feedback

Intel® FPGA SDK ji bo OpenCL™ Intel® Cyclone®V SoC Pêşveçûn Kit Rêbernameya Veguhastina Platformê

V SoC Pêşveçûna Kit Platforma Referansê Rêbernameya Veguheztinê sêwirana hardware û nermalavê ya Platforma Referansê ya Kiteya Pêşveçûna Intel Cyclone V SoC (c5soc) ji bo karanîna bi Kîta Pêşveçûna Nermalava Intel (SDK) ji bo OpenCL rave dike Intel ® FPGA SDK ji bo OpenCL ™ Intel Cyclone ® . Berî ku hûn dest pê bikin, Intel bi tundî pêşniyar dike ku hûn xwe bi naveroka belgeyên jêrîn nas bikin:

  1. Intel FPGA SDK ji bo OpenCLIntel Cyclone V SoC Rêbernameya Destpêkê
  2. Intel FPGA SDK ji bo OpenCL Platforma Xweser a Toolkit Rêbernameya Bikarhêner
  3. Pirtûka Destûra Amûra Cyclone V, Cild 3: Destûra Referansa Teknîkî ya Pergala Pêvajoya Zehmet Wekî din, serî li Kiteya Pêşveçûna Cyclone V SoC û rûpela Sêwirana Sêwirana Embedded a SoC ya Altera bidin. webmalpera ji bo bêtir agahîya. 1 2

Baldarî: Intel texmîn dike ku hûn têgihîştinek kûr a Intel FPGA SDK-ya ji bo Rêbernameya Bikarhêner Toolkit Platforma Xweser a OpenCL heye. Rêbernameya Veguheztina Platforma Referansê ya Kîta Pêşveçûna Cyclone V SoC karanîna Amûra Platforma Xweser a SDK-ê ji bo pêkanîna Platformek Xweser ji bo Kiteya Pêşveçûna Cyclone V SoC rave nake. Ew tenê cûdahiyên di navbera piştevaniya SDK-ê de li ser Kit Pêşveçûna Cyclone V SoC û Intel FPGA SDK-ya gelemperî ya ji bo Platforma Xweseriya OpenCL-ê vedibêje.

Girêdanên Têkildar

  • Intel FPGA SDK ji bo OpenCL Cyclone V SoC Rêbernameya Destpêkê
  • Intel FPGA SDK ji bo OpenCL Platforma Xweser a Toolkit Rêbernameya Bikarhêner
  • Pirtûka Destûra Amûra Cyclone V, Cild 3: Destûra Çavkaniya Teknîkî ya Pergala Pêvajoya Zehmet
  • Cyclone V SoC Kit Pêşveçûn û SoC Embedded Design Suite rûpel li ser Altera website
  1. OpenCL û logoya OpenCL marqeyên Apple Inc. ne ku bi destûra Khronos Group™ têne bikar anîn.
  2. Intel FPGA SDK-ya ji bo OpenCL-ê li ser bingeha taybetmendiyek Khronos-ê ya hatî weşandin e, û Pêvajoya Testkirina Hevrêziya Khronos derbas kiriye. Rewşa lihevhatina heyî dikare li vir were dîtin www.khronos.org/conformance.

Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus û Stratix peyv û logo markayên tîcarî yên Intel Corporation an pargîdaniyên wê yên li DY û/an welatên din in. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî garantiya standard a Intel digire, lê mafê ku di her kêliyê de bêyî agahdarî di her hilber û karûbaran de biguhezîne digire. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin.
*Dibe ku nav û marqeyên din wekî milkê kesên din werin îdîakirin.

1.1.1 Guhertoyên Lijneya Platforma Referansê ya Cyclone V SoC Pêşveçûna Kit
Intel FPGA SDK-ya ji bo Platforma Referansê ya Kit Pêşveçûna OpenCL Cyclone V SoC du guhertoyên panelê vedihewîne.

  • panela c5soc
    Ev panela xwerû gihîştina du bankên bîra DDR peyda dike. HPS DDR hem ji hêla FPGA û hem jî ji hêla CPU ve tê gihîştin. FPGA DDR tenê ji hêla FPGA ve tê gihîştin.
  • c5soc_sharedonly panel
    Vê guhertoya panelê tenê pêwendiya HPS DDR-ê heye. FPGA DDR ne gihîştî ye. Ev guhertoya panelê li herêmê bikêrtir e ji ber ku ji bo piştgirîkirina yek bankek bîranîna DDR-ya hindik pêdivî ye. Panela c5soc_sharedonly di heman demê de ji bo panelek hilberîna paşîn a bi yek bankek bîranîna DDR re platformek prototîpek baş e.
    Ji bo ku hûn vê guhertoya panelê dema berhevkirina kernel OpenCL-ya xwe bikin armanc, vebijarka -board c5soc_sharedonly di fermana xweya aoc de bicîh bikin.
    Ji bo bêtir agahdarî li ser -board vebijarka fermana aoc, ji bo Rêbernameya Bernamekirinê OpenCL serî li Intel FPGA SDK bidin.

Girêdanên Têkildar
Berhevkirina Kernelek ji bo Lijneyek FPGA ya Taybet (-board )
1.1.2 Naveroka Platforma Referansê ya Kit Pêşveçûna Cyclone V SoC
Platforma Referansê ya Kîta Pêşveçûna Cyclone V SoC ji jêrîn pêk tê files û derhêner:

File an Directory Terîf
board_env.xml Zimanê Nîşankirina Berfireh (XML) file ku c5soc ji Intel FPGA SDK-ê ji bo OpenCL-ê vedibêje.
linux_sd_card_image.tgz Wêneyê qerta flash SD ya pêçandî file ku her tiştê ku bikarhênerek SDK-ê hewce dike heye ku Kit Pêşveçûna Cyclone V SoC bi SDK-ê re bikar bîne.
arm32 Pelrêça ku jêrîn tê de hene:

1.1.3 Taybetmendiyên têkildar ên Kit Pêşveçûna Cyclone V SoC

Navnîşa jêrîn pêkhateyên Kit Pêşveçûna Cyclone V SoC û taybetmendiyên ku bi Intel FPGA SDK-ya ji bo OpenCL re têkildar in ronî dike:

  • CPU-ya du-core ARM Cortex-A9 ku Linux-ya 32-bit dixebitîne.
  • Di navbera HPS û tevna bingehîn a FPGA de otobusa Navbera eXtensible (AXI) ya pêşkeftî.
  • Du kontrolkerên bîra DDR yên hişk, her yek bi 1 gigabyte (GB) DDR3 SDRAM ve girêdayî ye.
    - Yek kontrolkerek DDR tenê bi bingeha FPGA (ango, FPGA DDR) ve tê gihîştin.
    - Kontrolkerê din ê DDR hem ji HPS û hem jî ji FPGA (ango, HPS DDR) re tê gihîştin. Vê kontrolkerê hevbeş dihêle parvekirina bîra belaş di navbera CPU û bingeha FPGA de.
  • CPU dikare tevna bingehîn a FPGA ji nû ve saz bike.

1.1.3.1 Armanc û Biryarên Sêwirana Platforma Pêşveçûna Kîta Pêşveçûna Cyclone V SoC Intel li ser çend armanc û biryarên sêwiranê bingehê pêkanîna Platforma Referansê ya Kîta Pêşveçûna Cyclone V SoC dike. Intel pêşniyar dike ku hûn van armanc û biryaran bihesibînin dema ku hûn vê Platforma Referansê li panela xweya SoC FPGA vedigirin.
Li jêr armancên sêwirana c5soc hene:

  1. Di navbera kernelên li ser FPGA û pergala(yên) bîranîna DDR de berfa herî bilind a gengaz peyda bikin.
  2. Piştrast bikin ku hesabên li ser FPGA (ango, kernelên OpenCL) bi karên din ên CPU-yê yên ku dibe ku servîskirina dorhêlan tê de nekevin navberê.
  3. Ji bo hesabên kernelê li şûna pêkhateyên navbeynê bi qasî ku pêkan çavkaniyên FPGA bihêlin.

Li jêr biryarên sêwirana asta bilind hene ku encamên rasterast ên armancên sêwirana Intel in:

  1. Platforma Referansê tenê kontrolkerên bîra DDR-ya hişk bi veavakirina herî berfireh (256 bit) bikar tîne.
  2. FPGA rasterast bi kontrolkerê bîranîna HPS DDR re têkilî dike, bêyî ku otobusa AXI û veguheztina L3 di hundurê HPS de têkildar bike. Têkiliya rasterast ji DDR-ê re firehiya herî baş a gengaz peyda dike, û hesabên FPGA-ê di nav danûstendinên di navbera CPU û derûdora wê de nehêle.
  3. Gihîştina bîranîna rasterast a belavbûyî (SG-DMA) ne beşek ji mantiqa navbeynkariya FPGA ye. Li şûna veguheztina mîqdarên mezin ên daneyê di navbera pergalên bîranîna DDR de, daneyan di HPS DDR-ya hevpar de hilînin. Gihîştina rasterast a bîranîna CPU ji hêla FPGA ve ji DMA-yê bikêrtir e. Ew çavkaniyên hardware (ango qada FPGA) xilas dike û ajokera kernel Linux-ê hêsan dike.
    Gazî: Veguheztina bîranînê di navbera pergala hevpar a HPS DDR û pergala DDR ya ku tenê ji FPGA-yê re tê gihîştin pir hêdî ye. Ger hûn hilbijêrin
    bîranînê bi vî rengî veguhezînin, wê tenê ji bo daneyên pir piçûk bikar bînin.
  4. Mêvandar û cîhaz veguheztina daneya ne-DMA di navbera hev û din de bi pira HPS-to-FPGA (H2F), bi tenê portek 32-bit bikar tînin. Sedem ev e, bêyî DMA, kernel Linux tenê dikare yek daxwazek xwendinê an nivîsandinê ya 32-bit derxîne, ji ber vê yekê ne hewce ye ku pêwendiyek berfireh hebe.
  5. Mêvan bi pirek sivik H2F (LH2F) sînyalên kontrolê ji cîhazê re dişîne.
    Ji ber ku îşaretên kontrolê yên ji mêvandarê ber bi cîhazê ve îşaretên kêm-bandê ne, pirek LH2F ji bo peywirê îdeal e.

1.2 Veguheztina Platforma Referansê ji Desteya xwe ya SoC FPGA re
Ji bo ku Platforma Referansê ya Kit Pêşveçûna Cyclone V SoC li panela xweya SoC FPGA veguhezînin, karên jêrîn bikin:

  1. Yek bîranîna DDR an guhertoya du bîranînên DDR-ya Platforma Referansê ya c5soc wekî xala destpêkê ya sêwirana xwe hilbijêrin.
  2. Cihên pin di ALTERAOCLSDKROOT/board/c5soc/ de nûve bikin /top.qsf file, ku ALTERAOCLSDKROOT rêça cîhê Intel FPGA SDK-ya ji bo sazkirina OpenCL ye, û navê pelrêça guhertoya panelê ye. Pelrêça c5soc_sharedonly ji bo guhertoya panelê bi yek pergala bîranîna DDR-ê ye. Peldanka c5soc ji bo guhertoya panelê bi du pergalên bîranîna DDR-ê ye.
  3.  Mîhengên DDR-ê ji bo blokên HPS û/an FPGA SDRAM di ALTERAOCLSDKROOT/board/c5soc/ de nûve bikin. /system.qsys file.
    4. Hemî Intel FPGA SDK-ya ji bo sêwiranên panelê yên bijartî yên OpenCL divê bigihîjin girtina dema garantîkirî. Bi vî rengî, cîhkirina sêwiranê divê demkî paqij be. Ji bo veguheztina dabeşkirina panela c5soc (acl_iface_partition.qxp) li panela xweya SoC FPGA, karên jêrîn pêk bînin:
    Ji bo rêwerzên berfireh ên li ser guheztin û parastina dabeşkirina panelê, serî li Quartus bidin
    Berhevoka Zêdebûnê ya Serokwezîr ji bo Sêwirana Hiyerarşîk û Tîm-Bingeha Destana Destana Quartus Prime Standard Edition.
    yek. Acl_iface_partition.qxp ji pelrêça ALTERAOCLSDKROOT/board/c5soc/c5soc rakin.
    b. Herêma acl_iface_region LogicLock™ çalak bike bi guherandina fermana Tcl set_global_assignment -nav LL_ENABLED OFF -section_id acl_iface_region bo set_global_assignment -nav LL_ENABLED ON -section_id acl_iface_region
    c. Ji bo panela xwe kernelek OpenCL berhev bikin.
    d. Ger hewce be, mezinahî û cîhê devera LogicLock eyar bikin.
    e. Dema ku hûn razî bûn ku cîhkirina sêwirana we dema paqij e, wê dabeşkirinê wekî acl_iface_partition.qxp Quartus Prime Exported Partition derxînin File.
    Wekî ku di beşa Damezrandina Herikîna Demjimêra Garantîkirî ya AIntel FPGA SDK-ya ji bo Rêbernameya Bikarhêner Kîta Amûrên Platforma Xweserî ya OpenCL-ê de hatî destnîşan kirin, bi îtxalkirina vê .qxp  file di sêwirana asta jorîn de, hûn hewcedariya peydakirina sêwirana panelê bi herikîna dema girtina garantîkirî pêk tînin.
    Ji bo faktorên ku dibe ku bandorê li kalîteya encamên (QoR) ya dabeşkirina weya derxistinê bikin, ji bo Rêbaza Bikarhênerî ya Amûrên Platforma Xweser a OpenCL-ê ji bo beşa Dabeşkirina Desteya Hilweşandina Derketî serî li Nêrînên Kalîteya Giştî ya Encaman bidin.
    f. Herêma acl_iface_region LogicLock neçalak bike bi vegerandina fermana di Gav 2-ê de li set_global_assignment -navê LL_ENABLED OFF beşa_id acl_iface_region.
  4. Ger panela weya SoC FPGA pîn û derdorên cihêreng ên bloka HPS-ê bikar tîne, pêşhilkêşker û çavkaniya dara cîhazê (DTS) ji nû ve nûve bikin. file. Ger hûn mîhengên kontrolkerê bîranîna HPS DDR-ê biguhezînin, pêşhilkêşker ji nû ve çê bikin.
  5. Wêneyê qerta flash SD biafirînin.
  6. Platforma xweya Xweser biafirînin, ku tê de wêneya qerta flash SD-ê tê de heye.
  7. Bifikirin ku guhertoyek hawîrdora xebitandinê ya Platforma xweya Xweser biafirînin ku ji bo OpenCL-ê bi Intel FPGA Runtime Environment (RTE) re bikar bînin. Guhertoya RTE ya Platforma weya Xweserî pelrêça hardware û wêneya qerta flash SD nagire. Vê Platforma Xweser li ser pergala SoC FPGA bar dike da ku destûrê bide serîlêdanên mêvandar. Berevajî vê, guhertoya SDK-ya Platforma Xweser ji bo SDK-ê hewce ye ku kernelên OpenCL berhev bike.
    Serişte: Hûn dikarin guhertoya SDK-ya Platforma Xweserî ya ji bo RTE bikar bînin. Ji bo rizgarkirina
    cîh, wêneya qerta flash SD ji guhertoya RTE ya Platforma Xweserî derxînin.
  8. Platforma xweya Xweser biceribîne.
    Ji bo bêtir agahdarî serî li beşa Testkirina Sêwirana Hardware ya Intel FPGA SDK-ya ji bo Rêbernameya Bikarhêner Amûrek Platforma Xweser a OpenCL-ê bidin.

Girêdanên Têkildar

  • Testkirina Sêwirana Hardware
  • Berhevoka Zêdebûnê ya Quartus Prime ji bo sêwirana hîyerarşîk û tîmê
  • Sazkirina Herikîna Demê ya Garantîkirî
  • Nêrînên Kalîteya Giştî ya Encaman ji bo Parvekirina Lijneya Hinardekirî

1.2.1 Nûvekirina Platformek Referansa Portedkirî
Di guhertoya heyî ya Platforma Referansê ya Kîtê ya Pêşveçûna Cyclone V SoC de, bloka HPS di hundurê dabeşê de ye ku hemî mantiqa nekernel diyar dike. Lêbelê, hûn nikarin HPS-ê wekî beşek .qxp derxînin file. Ji bo nûvekirina Platformek Xweser a heyî ya ku we ji guhertoyek berê ya c5soc guherandiye, herikîna parastinê ya QXP bicîh bikin, wêneya qerta flash SD-yê nûve bikin da ku hawîrdora dema xebitandinê ya herî dawî bistînin, û board_spec.xml nûve bikin. file ji bo çalakkirina otomigration.
Altera® SDK-ya ji bo OpenCL guhertoya 14.1 û pê ve lêkolîn dike board_spec.xml file ji bo agahdariya panelê, û nûvekirinên otomatîkî pêk tîne. Ji ber ku hûn biguherînin
sêwirana bi pêkanîna herikîna parastinê ya QXP, divê hûn board_spec.xml nûve bikin file bi forma xwe ya di guhertoya heyî de. Nûvekirina file destûrê dide SDK-ê ku di navbera Platformên Xweser ên neparastî û Platformên Xweser ên li ser bingeha QXP-a heyî de cihê bike. Ji bo Zêdetir agahdarî ji bo Rêbernameya Bikarhêner Amûrên Platforma Xweser a OpenCL-ê ji bo Lihevhatina Pêşverû di Intel FPGA SDK-ya Intel FPGA-yê de binihêrin.

  1. Ji bo bicihanîna herikîna parastinê ya QXP-ê di sêwirana hardware ya Cyclone V SoC FPGA ya ku ji guhertoyek berê ya c5soc-ê hatî veguheztin, gavên jêrîn bicîh bînin da ku dabeşek biafirînin da ku HPS-ê ji .qxp derxînin. file:
    yek. Berî ku li dora mantiqa nekernelê dabeşek çêbikin, di mîhengên .qsf Quartus Prime de dabeşek li dora HPS-ê biafirînin. File.
    Ji bo example:
    # Mînaka ku ji HPS-ê veqetandî set_instance_assignment model dike -name PARTITION_HIERARCHY borde_18261 -bi destan dabeş bike li “system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hpsacl_iface_hps_0:hpsacl_iface_hps_0:hpsacl_iface_hps_0:hpsacl_iface_hps_0:hpsacl_iface_hps_XNUMX:hpsacl_iface_hps_XNUMX:hpsacl_iface_hps_XNUMX:hpsacl_iface_XNUMXifsy| system_acl_iface_hps_XNUMX_hps_io_border:border" -section_id "system_acl_iface_hps_XNUMX_hps_io_border:border"
    # Dabeşkirinê bicîh bikin ku celebek HPS_PARTITION be ku ji hêla mayî Quartus ve rast were pêvajo kirin
    set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id “system_acl_iface_hps_0_hps_io_border:border”
    quartus_cdb top -c top
    –incremental_compilation_export=acl_iface_partition.qxp
    –incremental_compilation_export_partition_name=acl_iface_partition
    –incremental_compilation_export_post_synth=ser
    –incremental_compilation_export_post_fit=on
    –incremental_compilation_export_routing=live
    –incremental_compilation_export_flatten=off
    Piştî ku hûn HPS-ê ji dabeşkirinê derxînin, hûn dikarin .qxp-ê import bikin file û sêwirana xwe berhev bikin.
  2. Wêneyê qerta flash SD-ê bi guhertoya heyî ya Intel FPGA RTE-ya ji bo OpenCL-ê bi pêkanîna karên jêrîn nûve bikin:
    yek. Çiyayê file tabloya veqetandinê (fat32) û dirêj kirin file pergal (ext3) di wêneya heyî de wekî cîhazên paşîn-paşîn dabeş dike. Ji bo rêwerzên berfireh, li Gav 2-ê di Avakirina Wêneyek Qerta Flash SD de binihêrin.
    b. Di pelrêça /home/root/opencl_arm32_rte de, jêbirin files ji guhertoya berê ya RTE.
    c. Guhertoya heyî ya RTE-ê dakêşin û vekin nav pelrêça /home/root/opencl_arm32_rte.
    d. Di /driver/version.h file ya Platforma xweya Xweser, peywira ACL_DRIVER_VERSION-ê nûve bike . (ji bo nimûneample, 16.1.x, ku 16.1 versiyona SDK-ê ye, û x guhertoya ajokerê ya ku we destnîşan kiriye ye).
    e. Şofêr ji nû ve ava bikin.
    f. Peldanka hardware ya Platforma xweya Xweser jêbirin. Platforma Xweser, digel ajokarê nûvekirî, li pelrêça /home/root/opencl_arm_rte/board kopî bikin.
    g. Altera.icd kopî bikin file ji pelrêça /home/root/opencl_arm32_rte û lê zêde bike pelrêça /etc/OpenCL/vendors.
    h. Wêneyê nû vekin û ceribandin. Ji bo rêwerzên berfireh, li Pêngavên 8 heta 11-ê di Avakirina Wêneyek Qerta Flash SD de binihêrin.

Girêdanên Têkildar

  • Afirandina Wêneyek Qerta Flash SD li ser rûpela 14
    Di heman demê de vebijarka we heye ku hûn wêneyek qerta flash SD-ya nû biafirînin.
  • Xweseriya Xweseriya Platforma Ji bo Lihevhatina Pêşverû

1.3 Piştgiriya Nermalavê ji bo Bîra Hevbeş
Bîra fizîkî ya hevpar a di navbera FPGA û CPU de bîranîna bijarte ye ji bo kernelên OpenCL ku li ser FPGA-yên SoC-ê têne xebitandin. Ji ber ku FPGA xwe digihîne bîra laşî ya hevpar, berevajî bîranîna virtual ya hevpar, ew xwe bigihîne tabloyên rûpela CPU-yê ku navnîşanên virtual yên bikarhêner bi navnîşanên rûpela laşî re nexşe dike.
Bi rêzgirtina hardware, kernelên OpenCL bi girêdana rasterast bi kontrolkerê bîra hişk HPS DDR re digihîjin bîra laşî ya hevpar. Bi rêzgirtina nermalavê, piştgirî ji bo bîranîna laşî ya hevpar van ramanên jêrîn vedigire:

  1. Pêkanîna nermalava tîpîk ji bo veqetandina bîra li ser CPU (mînakample, fonksiyona malloc()) nikare herêmek bîranînê ku FPGA bikar bîne veqetîne.
    Bîra ku fonksiyona malloc() vediqetîne di cîhê navnîşana bîranîna virtual de hevgirtî ye, lê tu rûpelên laşî yên bingehîn ne gengaz e ku ji hêla fizîkî ve hevgirtî bin. Bi vî rengî, pêdivî ye ku mêvandar bikaribe herêmên bîranîna fizîkî-girêdayî veqetîne. Lêbelê, ev jêhatî di serîlêdanên cîhê bikarhêner li Linux-ê de tune. Ji ber vê yekê, ajokera kernel Linux divê veqetandinê pêk bîne.
  2. Ajokarê kernelê OpenCL SoC FPGA Linux fonksiyona mmap() vedihewîne da ku bîranîna laşî ya hevpar veqetîne û wê di cîhê bikarhêner de nexşe bike. Fonksiyona mmap() banga standarda kernel Linux-ê dma_alloc_coherent() bikar tîne da ku ji bo parvekirina bi amûrekê re herêmên bîranîna fizîkî-hevgirtî bixwaze.
  3. Di kernela xwerû ya Linuxê de, dma_alloc_coherent() bîranîna fizîkî-hevgirtî ya ji mezinahiya 0.5 megabyte (MB) zêdetir veqetîne. Ji bo ku rê bidin dma_alloc_coherent() ku mîqdarek mezin ji bîranîna fizîkî-hevgirtî veqetîne, taybetmendiya veqetandina bîra hevgirtî (CMA) ya kernel Linux çalak bike û dûv re kernel Linux ji nû ve berhev bike.
    Ji bo Platforma Referansê ya Kit Pêşveçûna Cyclone V SoC, CMA 512 MB ji 1 GB bîranîna laşî birêve dibe. Hûn dikarin vê nirxê zêde bikin an kêm bikin, li gorî mêjera bîranîna hevpar a ku serîlêdanê hewce dike. Banga dma_alloc_coherent() dibe ku nikaribe tevahî 512 MB bîranîna fizîkî ya hevgirtî veqetîne; Lêbelê, ew dikare bi rêkûpêk nêzîkê 450 MB bîranînê bistîne.
  4. CPU dikare bîra ku dma_alloc_coherent() jê re vedibêje cache bike. Bi taybetî, operasyonên nivîsandinê yên ji serîlêdana mêvandar ji kernelên OpenCL re nayên dîtin. Fonksiyona mmap() ya di ajokera kernelê ya OpenCL SoC FPGA Linux de di heman demê de bangên fonksiyona pgprot_noncached() an remap_pf_range() vedihewîne da ku cachkirina vê devera bîranînê bi eşkere neçalak bike.
  5. Piştî ku fonksiyona dma_alloc_coherent() bîranîna bi fizîkî-hevgirtî veqetîne, fonksiyona mmap() navnîşana virtual vedigerîne destpêka rêzê, ku ev navnîşana bîranîna ku we veqetandiye ye. Serlêdana mêvandar vê navnîşana virtual hewce dike ku bigihîje bîranînê. Ji hêla din ve, kernelên OpenCL navnîşanên laşî hewce dike. Ajokarê kernel Linux nexşeya navnîşana virtual-ji-fizîkî dişopîne. Hûn dikarin navnîşanên laşî yên ku mmap() vedigerîne navnîşanên laşî yên rastîn bi lêzêdekirina pirsek li ajokerê nexşeyê.
    Banga aocl_mmd_shared_mem_alloc() MMD-ya bernamesaziya serîlêdanê (API) pirsên jêrîn vedihewîne:
    yek. Fonksiyona mmap() ku bîrê vediqetîne û navnîşana virtual vedigerîne.
    b. Pirsa zêde ya ku navnîşana virtual ya vegerî li navnîşana laşî nexşe dike.
    Banga aocl_mmd_shared_mem_alloc() MMD API dûv re du navnîşan vedigerîne
    — Navnîşana vegerî ya rastîn navnîşana virtual e, û navnîşana laşî diçe device_ptr_out.
    Not: Ajokar tenê dikare navnîşanên virtual ku fonksiyona mmap() vedigerîne navnîşanên laşî nexşe. Ger hûn navnîşana laşî ya nîşankerek din a virtual daxwaz bikin, ajokar nirxek NULL vedigerîne.

Gazî: Intel FPGA SDK-ya ji bo pirtûkxaneyên dema xebitandinê OpenCL texmîn dike ku bîranîna hevpar yekem bîranîn e ku di board_spec.xml de hatî navnîş kirin. file. Bi gotinek din, navnîşana laşî ya ku ajokera kernel Linux distîne dibe navnîşana Avalon® ya ku kernel OpenCL ji HPS SDRAM re derbas dike.
Bi rêzgirtina pirtûkxaneya dema xebitandinê, banga clCreateBuffer() bikar bînin da ku bîranîna hevpar wekî tamponek cîhazê bi awayê jêrîn veqetînin:

  • Ji bo guhertoya panela du-DDR-ya hem bi bîranîna hevpar û hem jî ne-parvekirî, clCreateBuffer() bîranîna hevpar veqetîne ger hûn ala CL_MEM_USE_HOST_PTR diyar bikin. Bikaranîna alayên din dibe sedem ku clCreateBuffer() di bîranîna neparvekirî de tampon veqetîne.
  • Ji bo guhertoya panela yek-DDR ku tenê bîranîna hevpar heye, clCreateBuffer() bîranîna hevpar veqetîne bêyî ku hûn kîjan ala diyar bikin.
    Heya nuha, piştgiriya Linux-ya 32-bit li ser CPU ARM-ê asta piştevaniya bîranîna hevpar a di pirtûkxaneyên dema xebitandinê SDK-ê de rêve dike. Bi gotinek din, pirtûkxaneyên dema xebitandinê li hawîrdorên din têne berhev kirin (mînakample, x86_64 Linux an Windows 64-bit) bîranîna hevpar piştgirî nakin.
    C5soc ji ber sedemên jêrîn bîra heterojen pêk neaniye da ku di navbera bîranîna hevpar û neparvekirî de cihê bike:
    1. Dîrok-Piştgiriya bîranîna heterojen dema ku piştgirîya bîranîna hevpar di destpêkê de hate afirandin peyda nebû.
    2. Navbera yekgirtî — Ji ber ku OpenCL standardek vekirî ye, Intel di navbera firoşkarên platforma heterojen a heterojen de hevrêziyê diparêze. Ji ber vê yekê, heman navbeynkar wekî mîmariyên firoşkarên panelê yên din ji bo veqetandin û karanîna bîranîna hevpar tê bikar anîn.

1.4 Veavakirina FPGA
Ji bo FPGA-yên SoC, CPU dikare tevna bingehîn a FPGA ji nû ve saz bike bêyî ku xebata CPU-yê qut bike. Bloka hardware ya Gerînendeyê FPGA-yê ku HPS-ê û FPGA-ya bingehîn vedihewîne veavakirinê pêk tîne. Kernel Linux dihewîne ajokerek ku bi hêsanî gihîştina Rêvebirê FPGA-yê dike.

  • Ber view statûya bingehîn a FPGA, fermana statûyê cat /sys/class/fpga/fpga0/ bişopînin.
    Intel FPGA SDK-a ji bo bernameya bernameya OpenCL-ya ku bi Platforma Referansê ya Pêşvebirinê ya Cyclone V SoC ve tê peyda kirin vê navberê bikar tîne da ku FPGA bername bike. Dema ku bingehek FPGA-ya bi CPU-ya xebitandinê ji nû ve bername dike, kargêriya bernameyê hemî karên jêrîn pêk tîne:
    1. Berî ji nû ve bernamekirinê, hemî pirên ragihandinê yên di navbera FPGA û HPS-ê de, herdu pirên H2F û LH2F neçalak bikin.
    Piştî ku bername ji nû ve qediya van piran ji nû ve çalak bikin.
    Hişyarî: Pergala OpenCL pira FPGA-to-HPS (F2H) bikar nayîne. Ji bo bêtir agahdarî li beşa Navrûyên HPS-FPGA-yê di Destana Amûra Cyclone V de, Cild 3: Destûra Referansê ya Teknîkî ya Pergala Zehmetkêşê binihêrin.
    2. Piştrast bikin ku pêwendiya di navbera FPGA û kontrolkera HPS DDR de di dema ji nû ve bernamekirinê de neçalak be.
    3. Piştrast bikin ku di dema ji nû ve bernamekirinê de astengiyên FPGA yên li ser FPGA neçalak in.
    Di heman demê de, ajokerê agahdar bikin ku di dema nûvebernamekirinê de astengiyên ji FPGA-yê red bike.

Ji bo hûrguliyên li ser pêkanîna rastîn bi koda çavkaniyê ya bernameyê bişêwirin.

Gazî: Dema ku CPU dimeşe veavakirina kontrola HPS DDR-ê neguherînin.
Bi kirina vê yekê dibe ku bibe sedema xeletiyek pergalê ya kujer ji ber ku hûn dikarin veavakirina kontrolkera DDR-ê biguhezînin dema ku ji CPU-ê danûstendinên bîranînê yên berbiçav hene. Ev tê vê wateyê ku dema ku CPU dimeşe, hûn nekarin bingeha FPGA bi wêneyek ku HPS DDR-ê di veavakirinek cûda de bikar tîne ji nû ve bername nekin.
Bînin bîra xwe ku pergala OpenCL, û sêwirana referansa Zêrîn a Hardware ku bi Intel SoC FPGA Embedded Design Suite (EDS) ve tê peyda kirin, HPS DDR-ê di moda yek-256-bit de saz dike.
Parçeyên pergala CPU yên wekî pêşbînkerê şaxê an pêşkêşkerê tabloya rûpelê dibe ku emrên DDR-ê derxînin tewra dema ku xuya dike ku tiştek li ser CPU-yê nayê xebitandin.
Ji ber vê yekê, dema bootê tenê dema ewledar e ku meriv veavakirina kontrolkera HPS DDR-ê bicîh bike.
Ev jî tê vê wateyê ku divê U-boot xwedî binaryek xav be file (.rbf) wêne bo barkirina bîrê. Wekî din, dibe ku hûn HPS DDR-ê bi portên nayên bikar anîn li ser FPGA-yê çalak bikin û dûv re jî bi potansiyel veavakirina portê biguhezînin. Ji ber vê yekê, ajokera kernelê ya OpenCL Linux-ê êdî mantiqa ku ji bo sazkirina veavakirina kontrolkera HPS DDR-ê hewce dike nagire.
SW3 pakêta nav-hêlê ya dualî (DIP) di Kit Pêşveçûna Cylone V SoC de forma hêvîkirî ya wêneyê .rbf kontrol dike (ango, gelo file tê pêçandin û/an şîfrekirin). C5soc, û Sêwirana Referansê ya Zêrîn a Zêrîn a ku bi SoC EDS-ê ve tê peyda kirin, wêneyên .rbf yên pêçandî lê neşîfrekirî hene. Mîhengên guheztina DIP-ê yên SW3 ku di Intel FPGA SDK-ya Intel FPGA-yê de ji bo Rêbernameya Destpêkê OpenCL Cyclone V SoC hatî destnîşan kirin bi vê veavakirina wêneya .rbf re têkildar e.

Girêdanên Têkildar

  • Navrûyên HPS-FPGA
  • Veavakirina Switches SW3

1.4.1 Detayên Mîmariya Sîstema FPGA
Piştgiriya ji bo Platforma Referansê ya Kîtê ya Pêşveçûna Cyclone V SoC li ser bingeha Platforma Referansê ya Stratix® V (s5_ref) ye, ku bi Intel FPGA SDK-ya ji bo OpenCL-ê heye.
Rêxistiniya giştî ya pergala c5soc Qsys û ajokera kernelê pir dişibihe yên di s5_ref de.
Parçeyên bingehîn ên FPGA yên jêrîn di c5soc û s5_ref de yek in:

  • astengkirina VERSION_ID
  • Mekanîzmaya bêhnvedanê
  • Dabeşkarê banka bîranînê
  • Navrûya cache snoop
  • Saeta kernel
  • Astengên gihîştina qeydê kontrol bikin (CRA).

1.5 Avakirina Wêneyek Qerta Flash SD
Ji ber ku Cyclone V SoC FPGA pergalek bêkêmasî ya li ser çîpê ye, hûn berpirsiyar in ku pênaseya tevahî ya pergalê radest bikin. Intel pêşniyar dike ku hûn wê di forma wêneyek qerta flash SD de radest bikin. Intel FPGA SDK ji bo bikarhêner OpenCL dikare bi tenê wêneyê li qerta flash micro SD binivîsîne û panela SoC FPGA ji bo karanîna amade ye.
Guhertina Wêneyek Karta Flash SD ya heyî li ser rûpela 13
Intel pêşniyar dike ku hûn tenê wêneya ku bi Platforma Referansê ya Pêşveçûna Cyclone V SoC ve heye biguhezînin. Di heman demê de vebijarka we heye ku hûn wêneyek qerta flash SD-ya nû biafirînin.
Afirandina Wêneyek Qerta Flash SD li ser rûpela 14
Di heman demê de vebijarka we heye ku hûn wêneyek qerta flash SD-ya nû biafirînin.

1.5.1 Guhertina Wêneyek Karta Flash SD ya heyî
Intel pêşniyar dike ku hûn bi tenê wêneya ku bi Cyclone V SoC re peyda dibe biguhezînin
Platforma Çavkaniya Kit Pêşveçûn. Di heman demê de vebijarka we heye ku hûn wêneyek qerta flash SD-ya nû biafirînin.
Wêneya c5soc linux_sd_card_image.tgz file di pelrêça ALTERAOCLSDKROOT/board/c5soc de heye, ku ALTERAOCLSDKROOT ji bo pelrêça sazkirinê ya OpenCL rêça Intel FPGA SDK-ê destnîşan dike.

Baldarî: Ji bo guheztina wêneya qerta flash SD, divê hûn xwediyê mafên root an sudo bin.

  1. Ji bo daxistina $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, fermana tar xvfzlinux_sd_card_image.tgz bike.
  2. Hello_world OpenCL berê berhev bikeample sêwiranê bi karanîna piştgirîya xweya Platforma Xweser bikar tîne. Navê .rbf biguherîne file ku Intel FPGA SDK ji bo OpenCL Offline Compiler wekî opencl.rbf diafirîne, û wê li ser dabeşa fat32 di nav wêneya qerta flash SD de bi cîh bike.
    Hûn dikarin hello_world ex-ê dakêşinample design ji OpenCL Design Examprûpela les li ser Altera website.
  3. Cihê .rbf bikin file nav dabeşkirina fat32 ya wêneya karta flash.
    Baldarî: Parvekirina fat32 divê her du zImage hebin file û .rbf file. Bêyî .rbf file, gava ku hûn ajokarê têxin nav xwe dê xeletiyek kujer çêbibe.
  4. Piştî ku we wêneya qerta SD-yê diafirîne, wê li ser qertek SD-ya mîkro bi bangkirina fermana jêrîn binivîsin: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. Ji bo ceribandina wêneya qerta flash SD-ya xwe, karên jêrîn bikin:
    yek. Karta flash micro SD têxe panela SoC FPGA.
    b. Hêzdarkirina panelê.
    c. Fermana karûbarê tespîtkirina aocl vekêşin.

1.5.2 Afirandina Wêneyek Qerta Flash SD
Di heman demê de vebijarka we heye ku hûn wêneyek qerta flash SD-ya nû biafirînin. Rêbernameyên gelemperî yên li ser avakirina wêneyek qerta flash SD-ya nû û ji nû ve avakirina wêneyek qerta flash SD-ya heyî li ser GSRD v14.0.2 - Rûpelê Qerta SD ya RocketBoards.org hene website.
Pêngavên jêrîn prosedûra çêkirina wêneya linux_sd_card_image.tgz ji wêneya qerta flash SD-ya Sêwirana Referansê ya Zêrîn (GSRD) vedibêjin:
Not:
Ji bo afirandina wêneyê ji wêneya c5soc, hemî peywirên guncan ên ku di vê prosedurê de hatine destnîşan kirin pêk bînin.

  1. Ji Rocketboards.org guhertoya wêneya qerta flash SD-ya GSRD guhertoya 14.0 dakêşin û pak bikin.
  2. Çiyayê file tabloya veqetandinê (fat32) û dirêj kirin file pergal (ext3) di vê wêneyê de wekî cîhazên paşîn-paşîn dabeş dike. Ji bo sazkirina dabeşkirinê, gavên jêrîn bicîh bînin:
    yek. Bi gazîkirina /sbin/fdisk -lu image_, destpêka byte ya dabeşkirinê ya di nav wêneyê de destnîşan bikin.file ferman.
    Ji bo example, dabeşkirina jimare 1 ya cureya W95 FAT 2121728 blokek heye. Bi 512 byte ji bo blokek, veqetandina byte 512 byte x 2121728 = 1086324736 byte ye.
    b. Amûrek pêlavek belaş nas bikin (mînakample, /dev/loop0) bi nivîsandina fermana losetup -f.
    c. Bihesibînin ku /dev/loop0 amûra lûleya belaş e, wêneya qerta xweya flash-ê ji cîhaza bloka loop re veqetînin bi gazîkirina losetup /dev/loop0 image_file -0 1086324736 ferman.
    d. Bi gazîkirina fermana mount /dev/loop0 /media/disk1, cîhaza loopê siyar bikin.
    Di nav wêneyê de file, /media/disk1 naha parçeyek fat32-ya siwarkirî ye.
    e. Ji bo dabeşkirina ext3 gavên a heta d dubare bikin.
  3. Guhertoya Cyclone V SoC FPGA ya Intel FPGA Runtime Environment ji bo pakêta OpenCL ji Navenda Daxistinê ya li ser Altera dakêşin website.
    yek. Bişkojka Daxistinê li kêleka çapa nermalava Quartus Prime bikirtînin.
    b. Guhertoya berdanê, pergala xebitandinê, û rêbaza dakêşanê diyar bikin.
    c. Bikirtînin tabloya Nermalava Zêde, û hilbijêrin ku Intel FPGA dakêşin
    Jîngeha Runtime ji bo OpenCL Linux Cyclone V SoC TGZ.
    d. Piştî ku hûn aocl-rte- dakêşin .arm32.tgz file, wê vekin
    pelrêça ku hûn xwedan in.
  4. Aocl-rte-ya nepakkirî bi cîh bikin Pelrêça .arm32 di pelrêça /home/root/opencl_arm32_rte de li ser dabeşkirina ext3 ya wêneyê file.
  5. Peldanka hardware ya Platforma xweya Xweser jêbirin, û dûv re Platforma Xweser bixin nav pelrêça panelê ya /home/root/ opencl_arm32_rte.
  6. Init_opencl.sh biafirînin file di pelrêça /home/root de bi naveroka jêrîn: hinarde bike ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ hinardekirina PATH=$ALTERAOCLSDKROOT/bin:$PATH hinardekirin LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    Bikarhênerê SDK fermana çavkanî ./init_opencl.sh dimeşîne da ku guhêrbarên hawîrdorê û ajokera kernelê ya OpenCL Linux-ê bar bike.
  7. Heke hûn hewce ne ku pêşkêşkerê nûve bikin, DTS files, an kernel Linux, hûn hewceyê berhevkarê arm-linux-gnueabihf-gcc ji SoC EDS. Rêwerzên ku di Rêbernameya Bikarhêner a Intel SoC FPGA Embedded Design Suite de hatine destnîşan kirin bişopînin da ku nermalavê bi dest bixin, wan ji nû ve berhev bikin û ya têkildar nûve bikin. files li ser dabeşkirina fat32 ya siwarkirî ye.
    Baldarî: Bi îhtimaleke mezin hûn hewce ne ku pêşhilkêşkerê nûve bikin ger Platforma weya Xweser ji yên c5soc-ê karanîna pinên cûda hebin.
    Bînin bîra xwe: Ger hûn kernel Linux ji nû ve berhev bikin, ajokera kernel Linux bi heman çavkaniya kernel Linux re ji nû ve berhev bikin. files. Heke di navbera ajokera kernel Linux û kernel Linux de nehevheviyek hebe, ajokar dê bar neke. Di heman demê de, divê hûn CMA çalak bikin.
    Ji bo bêtir agahdarî serî li Veavakirina Kernelê Linux bidin.
  8. Hello_world OpenCL berê berhev bikeample sêwiranê bi karanîna piştgirîya xweya Platforma Xweser bikar tîne. Navê .rbf biguherîne file ku Intel FPGA SDK ji bo OpenCL Offline Compiler wekî opencl.rbf diafirîne, û wê li ser dabeşa fat32 di nav wêneya qerta flash SD de bi cîh bike.
    Hûn dikarin hello_world ex-ê dakêşinample design ji OpenCL Design Examprûpela les li ser Altera website.
    9. Piştî ku hûn hemû tiştên pêwîst hilanîn fileli ser wêneya qerta flashê, emrên jêrîn bang bikin:
    yek. sync
    b. vekin /media/disk1
    c. vekin ko navê pelrêça ye ku hûn ji bo sazkirina dabeşkirina ext3 di 3-ê de li ser rûpela 3 bikar tînin (mînakample, /media/disk2).
    d. losetup -d /dev/loop0
    e. losetup -d /dev/loop1
  9. Wêneyê qerta flash SD-ê bi gazîkirina fermana jêrîn tevlihev bikin: tar cvfz .tgz linux_sd_card_image
  10. Radest bikin .tgz file di hundurê pelrêça root ya Platforma xweya Xweser de.
  11. Ji bo ceribandina wêneya qerta flash SD-ya xwe, karên jêrîn bikin:
    yek. Wêneyê neçapkirî yê encam li ser qerta flash micro SD binivîsin.
    b. Karta flash micro SD têxe panela SoC FPGA.
    c. Hêzdarkirina panelê.
    d. Fermana karûbarê tespîtkirina aocl vekêşin.

Girêdanên Têkildar

  • Rêbernameya Bikarhêner a Intel SoC FPGA ya Embedded Design Suite
  • OpenCL Design Examprûpela les li ser Altera website
  • Ji nû ve berhevkirina Kernel Linux li ser rûpela 16
    Ji bo çalakkirina CMA, divê hûn pêşî kernel Linux ji nû ve berhev bikin.
  • Lêpirsîna Navê Amûra Lijneya FPGA-ya we (teşhîs)

1.6 Berhevkirina Kernel Linux ji bo Cyclone V SoC FPGA
Berî ku serîlêdanên OpenCL-ê li ser panela Cyclone V SoC FPGA-yê bimeşînin, divê hûn çavkaniya kernel Linux-ê berhev bikin, û ajokera kernel Linux-ê ya OpenCL berhev bikin û saz bikin.

  1. Ji nû ve berhevkirina Kernel Linux li ser rûpela 16
    Ji bo çalakkirina CMA, divê hûn pêşî kernel Linux ji nû ve berhev bikin.
  2. Berhevkirin û Sazkirina OpenCL Linux Kernel Driver li ser rûpela 17 Berhevkarê OpenCL Linux kernel li hember çavkaniya kernelê ya berhevkirî.

1.6.1 Ji nû ve berhevkirina Kernel Linux
Ji bo çalakkirina CMA, divê hûn pêşî kernel Linux ji nû ve berhev bikin.

  1. Bikirtînin GSRD v14.0 - Berhevkirina girêdana Linux-ê li ser rûpela Çavkaniyên RocketBoards.org webmalper ku bigihîje rêwerzên li ser dakêşandin û ji nû ve avakirina koda çavkaniya kernel Linux.
    Ji bo karanîna bi ™ Intel FPGA SDK-ya ji bo OpenCL, socfpga-3.13-rel14.0 wekî .
  2. Nîşe: Pêvajoya avakirinê kemer/arm/configs/socfpga_defconfig diafirîne file. Ev file mîhengên ji bo veavakirina xwerû ya socfpga diyar dike.
    Xetên jêrîn li binê kemerê/arm/configs/socfpga_defconfig zêde bikin 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
    Nirxa veavakirinê ya CONFIG_CMA_SIZE_MBYTES sînorê jorîn li ser jimareya giştî ya bîranîna fizîkî ya hevgirtî ya berdest destnîşan dike. Hûn dikarin vê nirxê zêde bikin ger ku hûn bêtir bîranîn hewce bikin.
  3. Baldarî: Bi tevahî bîranîna laşî ya ku ji bo pêvajoya ARM-ê ya li ser panela SoC FPGA heye 1 GB ye. Intel pêşniyar nake ku hûn rêveberê CMA-yê nêzî 1 GB-ê saz bikin.
  4. Fermana make mrproper bimeşîne da ku veavakirina heyî paqij bike.
  5. Fermana make ARCH=arm socfpga_deconfig bixebitîne.
    ARCH=arm nîşan dide ku hûn dixwazin mîmariya ARM-ê mîheng bikin.
    socfpga_defconfig destnîşan dike ku hûn dixwazin veavakirina socfpga ya xwerû bikar bînin.
  6. Fermana hinardekirinê CROSS_COMPILE=arm-linux-gnueabihf- bike.
    Ev ferman guhêrbara jîngehê CROSS_COMPILE destnîşan dike ku pêşgira zincîra amûrê ya xwestî diyar bike.
  7. Fermana make ARCH=arm zImage bixebitîne. Wêneya encam di kemer / arm / boot / zImage de heye file.
  8. ZImage bi cîh bikin file nav dabeşkirina fat32 ya wêneya karta flash. Ji bo rêwerzên hûrgulî, li ser Rocketboards.org binihêrin Cyclone V SoC FPGA-taybetî Manual Bikarhêner GSRD.
  9. Nîşe: Ji bo ku ajokera kernel Linux ya OpenCL rast têxe, pêşî SDKgenerated.rbf bar bike file li ser FPGA.
    Ji bo afirandina .rbf file, sêwirana SDK-ê ya berê berhev bikeampbi Platforma Referansê ya Kit Pêşveçûna Cyclone V SoC re wekî Platforma Xweser a armanckirî.
    9. Cihê .rbf file nav dabeşkirina fat32 ya wêneya karta flash.
    Hişyarî: Parvekirina fat32 divê her du zImage-yê jî hebin file û .rbf file. Bêyî .rbf file, gava ku hûn ajokarê têxin nav xwe dê xeletiyek kujer çêbibe.
  10. Qerta SD-ya mîkro ya bernamekirî, ya ku wêneya qerta SD-ya ku we berê guhezandiye an çêkiriye, têxe nav Kiteya Pêşveçûna Cyclone V SoC û dûv re panela SoC FPGA hêzdar bike.
  11. Guhertoya kernel Linux-a sazkirî bi xebitandina fermana uname -r verast bikin.
  12. Ji bo verastkirina ku hûn CMA-yê bi serfirazî di kernelê de çalak bikin, digel ku panela SoC FPGA-yê hatî hêzdar kirin, emrê grep init_cma /proc/kallsyms bimeşînin.
    Ger encam ne vala be CMA çalak e.
  13. Ji bo ku kernel Linux-a ji nû ve berhevkirî bi SDK-ê re bikar bînin, ajokera kernel Linux berhev bikin û saz bikin.

Girêdanên Têkildar

  • Destûrên Bikarhêner Sêwirana Referansa Sîstema Zêrîn (GSRD).
  • Avakirina Wêneyek Qerta Flash SD li ser rûpela 13
    Ji ber ku Cyclone V SoC FPGA pergalek bêkêmasî ya li ser çîpê ye, hûn berpirsiyar in ku pênaseya tevahî ya pergalê radest bikin.

1.6.2 Berhevkirin û Sazkirina OpenCL Linux Kernel Driver
Li dijî çavkaniya kernelê ya berhevkirî ajokera kernelê OpenCL Linux berhev bikin.

Çavkaniya ajokerê di guhertoya Cyclone V SoC FPGA ya Intel FPGA Runtime Environment ji bo OpenCL heye. Wekî din, pê ewle bin ku we SDK-ya Intel FPGA-ya ji bo .rbf-ya ku ji hêla OpenCL ve hatî hilberandin bar kiriye. file nav FPGA-yê da ku pêşî li sazkirina çewt a modula kernel Linux bigire.

  1. Guhertoya Cyclone V SoC FPGA ya Intel FPGA Runtime Environment ji bo pakêta OpenCL ji Navenda Daxistinê ya li ser Altera dakêşin website.
    yek. Bişkojka Daxistinê li kêleka çapa nermalava Quartus Prime bikirtînin.
    b. Guhertoya berdanê, pergala xebitandinê, û rêbaza dakêşanê diyar bikin.
    c. Bikirtînin tabloya Nermalava Zêde, û hilbijêrin ku Intel FPGA dakêşin
    Jîngeha Runtime ji bo OpenCL Linux Cyclone V SoC TGZ.
    d. Piştî ku hûn aocl-rte- dakêşin .arm32.tgz file, wê vekin
    pelrêça ku hûn xwedan in.
    Çavkaniya ajokar di aocl-rte- de ye pelrêça ajokerê .arm32/board/c5soc/.
  2. Ji bo ji nû ve berhevkirina ajokera kernelê ya OpenCL Linux, nirxa KDIR-ê di Make-ya ajokerê de bicîh bikinfile li pelrêça ku çavkaniya kernel Linux tê de ye files.
  3. CROSS_COMPILE=fermana îxracatê bixebitîne da ku pêşgira zincîra amûra xwe nîşan bide.
  4. Fermana paqijkirinê bimeşînin.
  5. Ji bo afirandina aclsoc_drv.ko emrê çêkirina bimeşîne file.
  6. Peldanka opencl_arm32_rte veguhezînin panela Cyclone V SoC FPGA.
    Sp -r dimeşîne root@your-ipaddress: ferman hawîrdora xebatê di pelrêça/home/root de cîh dike.
  7. Skrîpta init_opencl.sh ya ku we dema ku we kerta SD ava kir, bimeşîne.
  8.  Fermana karûbarê tespîtkirina aocl vekêşin. Piştî ku hûn init_opencl.sh bi serfirazî bimeşînin, amûra tespîtkirinê dê encamek derbasbûyî vegerîne.

1.7 Pirsgirêkên naskirî
Heya nuha, li ser karanîna Intel FPGA SDK-ya ji bo OpenCL-ê bi Platforma Referansê ya Pêşveçûna Cyclone V SoC re hin sînor hene.

  1. Hûn nikarin navên firoşkar û panelê yên ku ji hêla CL_DEVICE_VENDOR û CL_DEVICE_NAME rêzikên banga clGetDeviceInfo() ve hatine ragihandin, bişopînin.
  2. Ger mêvandar bîranîna domdar di pergala DDR-ya hevpar de veqetîne (ango, HPS DDR) û ew bîranîna domdar piştî darvekirina kernelê biguhezîne, dibe ku daneyên di bîranînê de kevnar bibin. Ev pirsgirêk derdikeve ji ber ku bingeha FPGA nikare danûstandinên CPU-to-HPS DDR bişopîne.
    Ji bo ku pêşî li darvekirinên kernel ên paşîn bigihîjin daneyên kevnar, yek ji van rêgezên jêrîn bicîh bînin:
    • Piştî destpêkirina bîranîna domdar neguherîne.
    • Heger ji we re gelek berhevokên daneya __constant lazim in, gelek tamponên bîra domdar biafirînin.
    • Ger hebe, bîranîna domdar di FPGA DDR de li ser panela bilezkera xwe veqetînin.
  3. Bernameya SDK-ê ya li ser ARM tenê bernameyê piştgirî dike û fermanên karûbar teşhîs dike.
    Fermanên karûbar flash, sazkirin û rakirinê ji ber sedemên jêrîn ji bo Kit Pêşveçûna Cyclone V SoC nayê sepandin:
    yek. Pêdivî ye ku amûra sazkirinê ajokera kernel Linux aclsoc_drv berhev bike û li ser SoC FPGA çalak bike. Pêdivî ye ku makîneya pêşveçûnê berhevokê bike; Lêbelê, ew jixwe ji bo SoC FPGA çavkaniyên kernel Linux-ê vedihewîne. Çavkaniyên kernel Linux ji bo makîneya pêşkeftinê ji yên ji bo SoC FPGA cuda ne. Cihê çavkaniyên kernel Linux ji bo SoC FPGA îhtîmal e ku ji bikarhênerê SDK re nenas e. Bi heman rengî, amûra rakirinê jî ji Kit Pêşveçûna Cyclone V SoC re tune ye.
    Di heman demê de, radestkirina aclsoc_drv ji panelê SoC re dijwar e ji ber ku belavkirina xwerû ya Kit Pêşveçûna Cyclone V SoC di nav de kernel Linux-ê nagire. files an berhevkarê Berhevkarê GNU (GCC).
    b. Pêdivî ye ku amûra flashê .rbf bi cîh bike file sêwirana OpenCL li ser dabeşkirina FAT32 ya qerta flash micro SD. Heya nuha, dema ku bikarhênerê SDK panelê xurt dike, ev dabeşkirin nayê danîn. Ji ber vê yekê, awayê çêtirîn ji bo nûvekirina dabeşkirinê ev e ku meriv kartê flash û makîneya pêşkeftinê bikar bîne.
  4. Dema ku di navbera Intel FPGA SDK-ê de ji bo Berhevkarê Berhevkarê OpenCL-ê ya îcrakar veguherîne files (.aocx) ku bi guhertoyên panelê yên cihêreng re têkildar in (ango, c5soc û c5soc_sharedonly), divê hûn bernamesaziya SDK-ê bikar bînin da ku .aocx barkirin. file ji bo guhertoya panela nû ya yekem car. Ger hûn bi tenê bi karanîna guhertoyek panelê ya nû serîlêdana mêvandar bixebitin lê FPGA wêneyek ji guhertoyek panelê din vedihewîne, dibe ku xeletiyek kujer çêbibe.
  5. The .qxp file peywirên dabeşkirina navberê nagire ji ber ku nermalava Quartus Prime bi domdarî hewcedariyên dema vê dabeşkirinê pêk tîne.
  6. Dema ku hûn panelê hêzdar dikin, navnîşana wê ya kontrolkirina gihîştina medyayê (MAC) li ser jimareyek rasthatî tête danîn. Ger polîtîkaya weya LAN-ê destûrê nade vê tevgerê, navnîşana MAC-ê bi pêkanîna karên jêrîn bicîh bikin:
    yek. Di dema hêzdarkirina U-Boot de, her bişkojkê bikirtînin da ku têkevin rêzika fermana U-Boot.
    b. Setenv ethaddr 00:07:ed:00:00:03 binivîsin li ser fermanê.
    Hûn dikarin her navnîşana MAC-ê hilbijêrin.
    c. Fermana saveenv binivîse.
    d. Tabloyê ji nû ve bidin destpêkirin.

1.8 Dîroka Guhertoya Belgeyê
Tablo 1.
Dîroka Guhertoya Belgeya Intel FPGA SDK ji bo OpenCL Cyclone V SoC
Pêşveçûn Kit Reference Platforma Rêbernameya Porting

Rojek Awa Changes
Gulan-17 2017.05.08 •Serbestberdana Maintenance.
Cotmeh 2016 2016.10.31 • Altera SDK ji bo OpenCL ji bo Intel FPGA SDK ji bo OpenCL veguherand.
• Berhevkarê Altera Offline Rebranded Intel FPGA SDK ji bo OpenCL Offline Compiler.
Gulan-16 2016.05.02 • Talîmatên guherî yên li ser çêkirin û guherandina wêneyek qerta flash SD.
•Rêbernameyên li ser ji nû ve berhevkirina kernel Linux û ajokara kernel Linux ya OpenCL hatine guhertin.
Mijdar-15 2015.11.02 • Serbestberdanê, û mînakên Quartus II guhert bo Quartus Prime.
Gulan-15 15.0.0 •Di Veavakirina FPGA de, talîmata ji nû ve bernamekirina bingeha FPGA hate rakirin
bi . wêneyê rbf bi gazîkirina pisîkê filenav>. rbf
> Fermana /dev/ fpga0 ji ber ku ev rêbaz nayê pêşniyar kirin.
Kanûn-14 14.1.0 •Navê belgeyê wekî Altera Cyclone V SoC Pêşveçûn Kit Reference Platforma Porting Rêbernameya.
•Bikaranîna ji nû ve bernameyê ji bernameya aocl re nûve kirfilename> .fermana karûbarê aocx.
•Xebata teşhîsê ji bo teşhîsa aocl û teşhîsa aocl nûve kir fermana bikêrhatî.
•Pêvajoya di beşa Veguheztina Platforma Referansê ya li Desteya We ya SoC-ê de prosedurek nûve kir da ku rêwerzên li ser veguheztin û guheztina dabeşkirina panela c5soc bihewîne da ku ji bo herikîna girtina dema garantîkirî dabeşek dem-paqij biafirîne.
•Mijara Nûvekirina Platforma Referansê ya Pêvekirî da ku prosedurên karên jêrîn destnîşan bike:
1.Excluding sîstema hard processor (HPS) bloka di partition board
2.Nûvekirina wêneya karta flash SD
•Beşa Wêne ya Karta SD Flash-ê Avakirina Nûvekirin. Li şûna wêneya ku bi SoC Embedded Design Suite (EDS) heye, guhertoya 14.0 ya wêneya Sêwirana Referansê ya Zêrîn (GSRD) wekî xala destpêkê bikar bînin.
•Beşê Ji nû ve berhevkirina Kernel Linux û OpenCL Linux Kernel Driver:
1.Alîkarî lê zêde kir ku guhêrbara CROSS COMPILE saz bike.
2. Fermana ku hûn dimeşînin guhert da ku piştrast bikin ku CMA bi serfirazî çalak e.
Tîrmeh-14 14.0.0 •Rêxistina Destpêkê.

Belge / Çavkanî

intel FPGA SDK ji bo OpenCL [pdf] Rehbera bikaranînê
FPGA SDK ji bo OpenCL, FPGA SDK, SDK ji bo OpenCL, SDK

Çavkanî

Bihêle şîroveyek

Navnîşana e-nameya we nayê weşandin. Zeviyên pêwîst têne nîşankirin *