intel - logotipsFPGA SDK priekš OpenCL
Lietotāja rokasgrāmata

UG-OCL009
2017.05.08
Pēdējo reizi atjaunināts Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS WiFi viedais pēdu masētājs — ikona 5Abonēt
Samsung SM A136UZKZAIO Galaxy A13 5G viedtālrunis — 12. ikonaSūtīt atsauksmes

Intel® FPGA SDK for OpenCL™ Intel® Cyclone®V SoC izstrādes komplekta atsauces platformas pārnešanas rokasgrāmata

V SoC izstrādes komplekta atsauces platformas pārnešanas rokasgrāmatā ir aprakstīts Intel Cyclone V SoC izstrādes komplekta atsauces platformas (c5soc) aparatūras un programmatūras dizains lietošanai kopā ar Intel programmatūras izstrādes komplektu (SDK) OpenCL. Intel ® FPGA SDK priekš OpenCL ™ Intel Cyclone. ® . Pirms sākat, Intel stingri iesaka iepazīties ar tālāk norādīto dokumentu saturu.

  1. Intel FPGA SDK platformai OpenCLIntel Cyclone V SoC Darba sākšanas rokasgrāmata
  2. Intel FPGA SDK OpenCL pielāgotās platformas rīkkopai lietotāja rokasgrāmata
  3. Cyclone V ierīces rokasgrāmata, 3. sējums: Cietā procesora sistēmas tehniskā uzziņu rokasgrāmata Papildus skatiet Altera Cyclone V SoC izstrādes komplektu un SoC Embedded Design Suite lapu. webvietne, lai iegūtu vairāk informācijas. 1 2

Uzmanību: Intel pieņem, ka jums ir padziļināta izpratne par Intel FPGA SDK for OpenCL Custom Platform Toolkit lietotāja rokasgrāmatu. Cyclone V SoC izstrādes komplekta atsauces platformas pārnešanas rokasgrāmatā nav aprakstīta SDK pielāgotās platformas rīkkopas izmantošana, lai ieviestu pielāgotu platformu Cyclone V SoC izstrādes komplektam. Tajā ir aprakstītas tikai atšķirības starp SDK atbalstu Cyclone V SoC izstrādes komplektā un vispārējo Intel FPGA SDK OpenCL pielāgotajai platformai.

Saistītās saites

  • Intel FPGA SDK platformai OpenCL Cyclone V SoC Darba sākšanas rokasgrāmata
  • Intel FPGA SDK OpenCL pielāgotās platformas rīkkopai lietotāja rokasgrāmata
  • Cyclone V ierīces rokasgrāmata, 3. sējums: Cietā procesora sistēmas tehniskā uzziņu rokasgrāmata
  • Cyclone V SoC izstrādes komplekts un SoC Embedded Design Suite lapa vietnē Altera webvietne
  1. OpenCL un OpenCL logotips ir Apple Inc. preču zīmes, ko izmanto ar Khronos Group™ atļauju.
  2. Intel FPGA SDK for OpenCL ir balstīts uz publicēto Khronos specifikāciju un ir izturējis Khronos atbilstības pārbaudes procesu. Pašreizējo atbilstības statusu var atrast vietnē www.khronos.org/conformance.

Intel korporācija. Visas tiesības aizsargātas. Intel, Intel logotips, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus un Stratix vārdi un logotipi ir Intel Corporation vai tās meitasuzņēmumu preču zīmes ASV un/vai citās valstīs. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas.
*Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

1.1.1. Cyclone V SoC izstrādes komplekta atsauces platformas paneļa varianti
Intel FPGA SDK OpenCL Cyclone V SoC izstrādes komplekta atsauces platformai ietver divus plates variantus.

  • c5soc padome
    Šī noklusējuma plate nodrošina piekļuvi divām DDR atmiņas bankām. HPS DDR ir pieejams gan FPGA, gan centrālais procesors. FPGA DDR ir pieejams tikai FPGA.
  • c5soc_sharedonly dēlis
    Šis plates variants satur tikai HPS DDR savienojumu. FPGA DDR nav pieejams. Šis plates variants ir daudz efektīvāks, jo vienas DDR atmiņas bankas atbalstam ir nepieciešams mazāk aparatūras. Plate c5soc_sharedonly ir arī laba prototipēšanas platforma galīgai ražošanas platei ar vienu DDR atmiņas banku.
    Lai atlasītu šo plates variantu, kompilējot OpenCL kodolu, savā aoc komandā iekļaujiet opciju -board c5soc_sharedonly.
    Lai iegūtu papildinformāciju par dēli aoc komandas opciju, skatiet Intel FPGA SDK for OpenCL programmēšanas rokasgrāmatu.

Saistītās saites
Kodola kompilēšana noteiktai FPGA platei (-board )
1.1.2. Cyclone V SoC izstrādes komplekta atsauces platformas saturs
Cyclone V SoC izstrādes komplekta atsauces platforma sastāv no tālāk minētā files un direktoriji:

File vai Katalogs Apraksts
board_env.xml paplašināmā iezīmēšanas valoda (XML) file kas apraksta c5soc uz Intel FPGA SDK for OpenCL.
linux_sd_card_image.tgz Saspiests SD zibatmiņas kartes attēls file kas satur visu, kas SDK lietotājam nepieciešams, lai kopā ar SDK izmantotu Cyclone V SoC izstrādes komplektu.
roka32 Katalogs, kurā ir:

1.1.3. Cyclone V SoC izstrādes komplekta atbilstošās funkcijas

Šajā sarakstā ir izcelti Cyclone V SoC izstrādes komplekta komponenti un līdzekļi, kas attiecas uz Intel FPGA SDK for OpenCL:

  • Divkodolu ARM Cortex-A9 centrālais procesors, kurā darbojas 32 bitu Linux.
  • Uzlabota eXtensible Interface (AXI) kopne starp HPS un FPGA pamata audumu.
  • Divi rūdīti DDR atmiņas kontrolieri, katrs ir savienots ar 1 gigabaita (GB) DDR3 SDRAM.
    — Viens DDR kontrolleris ir pieejams tikai FPGA kodolam (tas ir, FPGA DDR).
    — Otrs DDR kontrolleris ir pieejams gan HPS, gan FPGA (tas ir, HPS DDR). Šis koplietotais kontrolieris ļauj brīvi koplietot atmiņu starp CPU un FPGA kodolu.
  • CPU var pārkonfigurēt FPGA pamata audumu.

1.1.3.1. Cyclone V SoC izstrādes komplekta atsauces platformas izstrādes mērķi un lēmumi Intel Cyclone V SoC izstrādes komplekta atsauces platformas ieviešanu pamato ar vairākiem dizaina mērķiem un lēmumiem. Intel iesaka ņemt vērā šos mērķus un lēmumus, kad portat šo atsauces platformu uz savu SoC FPGA plati.
Tālāk ir norādīti c5soc dizaina mērķi:

  1. Nodrošiniet vislielāko iespējamo joslas platumu starp kodoliem uz FPGA un DDR atmiņas sistēmu(-ām).
  2. Pārliecinieties, vai FPGA (tas ir, OpenCL kodolu) aprēķini netraucē citiem CPU uzdevumiem, kas var ietvert perifērijas ierīču apkalpošanu.
  3. Interfeisa komponentu vietā atstājiet pēc iespējas vairāk FPGA resursu kodola aprēķiniem.

Tālāk ir sniegti augsta līmeņa dizaina lēmumi, kas ir tiešas Intel dizaina mērķu sekas.

  1. Atsauces platforma izmanto tikai cietos DDR atmiņas kontrolleri ar visplašāko iespējamo konfigurāciju (256 biti).
  2. FPGA tieši sazinās ar HPS DDR atmiņas kontrolieri, neiesaistot AXI kopni un L3 slēdzi HPS iekšpusē. Tiešā saziņa nodrošina vislabāko iespējamo joslas platumu DDR un neļauj FPGA aprēķiniem traucēt komunikāciju starp CPU un tā perifēriju.
  3. Tiešā piekļuve atmiņai (SG-DMA) nav daļa no FPGA interfeisa loģikas. Tā vietā, lai pārsūtītu lielu datu apjomu starp DDR atmiņas sistēmām, saglabājiet datus koplietotajā HPS DDR. Tieša piekļuve CPU atmiņai, izmantojot FPGA, ir efektīvāka nekā DMA. Tas ietaupa aparatūras resursus (tas ir, FPGA apgabalu) un vienkāršo Linux kodola draiveri.
    Brīdinājums: Atmiņas pārsūtīšana starp koplietoto HPS DDR sistēmu un DDR sistēmu, kas ir pieejama tikai FPGA, ir ļoti lēna. Ja izvēlaties
    pārsūtiet atmiņu šādā veidā, izmantojiet to tikai ļoti maziem datu apjomiem.
  4. Resursdators un ierīce veic datu pārsūtīšanu, kas nav DMA, savā starpā, izmantojot HPS-FPGA (H2F) tiltu, izmantojot tikai vienu 32 bitu portu. Iemesls ir tāds, ka bez DMA Linux kodols var izdot tikai vienu 32 bitu lasīšanas vai rakstīšanas pieprasījumu, tāpēc nav nepieciešams plašāks savienojums.
  5. Uzņēmējs nosūta vadības signālus uz ierīci, izmantojot vieglu H2F (LH2F) tiltu.
    Tā kā vadības signāli no saimniekdatora uz ierīci ir zema joslas platuma signāli, LH2F tilts ir ideāls uzdevumam.

1.2. Atsauces platformas pārnešana uz jūsu SoC FPGA plati
Lai portētu Cyclone V SoC izstrādes komplekta atsauces platformu uz savu SoC FPGA plati, veiciet šādus uzdevumus:

  1. Kā dizaina sākumpunktu izvēlieties vienu c5soc atsauces platformas DDR atmiņu vai divu DDR atmiņu versiju.
  2. Atjauniniet tapas atrašanās vietas ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, kur ALTERAOCLSDKROOT ir ceļš uz Intel FPGA SDK atrašanās vietu OpenCL instalēšanai, un ir dēļa varianta direktorijas nosaukums. Katalogs c5soc_sharedonly ir paredzēts plates variantam ar vienu DDR atmiņas sistēmu. C5soc direktorijs ir paredzēts plates variantam ar divām DDR atmiņas sistēmām.
  3.  Atjauniniet HPS un/vai FPGA SDRAM bloku DDR iestatījumus mapē ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
    4. Visiem Intel FPGA SDK OpenCL vēlamajiem plates dizainiem ir jāpanāk garantēta laika slēgšana. Tādējādi dizaina izvietojumam jābūt tīram. Lai portētu c5soc plates nodalījumu (acl_iface_partition.qxp) uz savu SoC FPGA plati, veiciet tālāk norādītās darbības.
    Detalizētus norādījumus par plates nodalījuma pārveidošanu un saglabāšanu skatiet Quartus
    Quartus Prime Standard Edition rokasgrāmatas nodaļas Prime Inkremental kompilācija hierarhiskajam un uz komandu balstītam dizainam.
    a. Noņemiet failu acl_iface_partition.qxp no direktorijas ALTERAOCLSDKROOT/board/c5soc/c5soc.
    b. Iespējojiet acl_iface_region LogicLock™ reģionu, mainot Tcl komandu set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region uz set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
    c. Kompilējiet OpenCL kodolu savai platei.
    d. Ja nepieciešams, pielāgojiet LogicLock reģiona izmēru un atrašanās vietu.
    e. Kad esat pārliecināts, ka jūsu dizaina izvietojums ir tīrs, eksportējiet šo nodalījumu kā acl_iface_partition.qxp Quartus Prime eksportēto nodalījumu. File.
    Importējot šo .qxp, kā aprakstīts AIntel FPGA SDK for OpenCL Custom Platform Toolkit lietotāja rokasgrāmatas sadaļā Garantētā laika plūsmas izveide  file augstākā līmeņa dizainā jūs izpildāt prasību nodrošināt dēļa dizainu ar garantētu laika aizvēršanas plūsmu.
    Informāciju par faktoriem, kas varētu ietekmēt jūsu eksportētā nodalījuma rezultātu kvalitāti (QoR), skatiet sadaļu Vispārīgie rezultātu kvalitātes apsvērumi eksportētās plates nodalījuma sadaļu Intel FPGA SDK for OpenCL Custom Platform Toolkit lietotāja rokasgrāmatā.
    f. Atspējojiet acl_iface_region LogicLock reģionu, atgriežot komandu 2. darbībā atpakaļ uz set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region.
  4. Ja jūsu SoC FPGA plate izmanto dažādas HPS bloka tapas un perifērijas, atjaunojiet priekšielādētāju un ierīces koka avotu (DTS). file. Ja maināt HPS DDR atmiņas kontrollera iestatījumus, atjaunojiet priekšielādētāju.
  5. Izveidojiet SD zibatmiņas kartes attēlu.
  6. Izveidojiet savu pielāgoto platformu, kurā ir iekļauts SD zibatmiņas kartes attēls.
  7. Apsveriet iespēju izveidot savas pielāgotās platformas izpildlaika vides versiju lietošanai ar Intel FPGA izpildlaika vidi (RTE) for OpenCL. Jūsu pielāgotās platformas RTE versijā nav iekļauti aparatūras direktoriji un SD zibatmiņas kartes attēls. Šī pielāgotā platforma tiek ielādēta SoC FPGA sistēmā, lai ļautu darboties resursdatora lietojumprogrammām. Turpretim pielāgotās platformas SDK versija ir nepieciešama, lai SDK kompilētu OpenCL kodolus.
    Padoms. RTE varat izmantot savas pielāgotās platformas SDK versiju. Saglabāt
    vietu, noņemiet SD zibatmiņas kartes attēlu no pielāgotās platformas RTE versijas.
  8. Pārbaudiet savu pielāgoto platformu.
    Lai iegūtu papildinformāciju, skatiet Intel FPGA SDK for OpenCL Custom Platform Toolkit lietotāja rokasgrāmatas sadaļu Aparatūras dizaina pārbaude.

Saistītās saites

  • Aparatūras dizaina pārbaude
  • Quartus Prime inkrementālā kompilācija hierarhiskam un uz komandu balstītam dizainam
  • Garantētas laika plūsmas izveide
  • Eksportētās dēļu nodalījuma rezultātu vispārīgās kvalitātes apsvērumi

1.2.1. Pārnestās atsauces platformas atjaunināšana
Pašreizējā Cyclone V SoC izstrādes komplekta atsauces platformas versijā HPS bloks atrodas nodalījumā, kas nosaka visu ārpus kodola loģiku. Tomēr jūs nevarat eksportēt HPS kā daļu no faila .qxp file. Lai atjauninātu esošu pielāgotu platformu, kuru modificējāt no iepriekšējās c5soc versijas, ieviesiet QXP saglabāšanas plūsmu, atjauniniet SD zibatmiņas kartes attēlu, lai iegūtu jaunāko izpildlaika vidi, un atjauniniet board_spec.xml. file lai iespējotu automatizāciju.
Altera® SDK OpenCL versijai 14.1 un jaunākām versijām pārbauda board_spec.xml file lai iegūtu informāciju par dēli, un ievieš automātiskos atjauninājumus. Tā kā jūs modificējat
dizains, ieviešot QXP saglabāšanas plūsmu, jums ir jāatjaunina board_spec.xml file tā formātā pašreizējā versijā. Atjauninot file ļauj SDK atšķirt nesaglabātās pielāgotās platformas un pašreizējās pielāgotās platformas, kuru pamatā ir QXP. Lai iegūtu papildinformāciju, skatiet sadaļu Pielāgotas platformas automatizācija par pārsūtīšanas saderību Intel FPGA SDK for OpenCL Custom Platform Toolkit lietotāja rokasgrāmatā.

  1. Lai ieviestu QXP saglabāšanas plūsmu Cyclone V SoC FPGA aparatūras dizainā, kas ir portēts no iepriekšējās c5soc versijas, veiciet tālāk norādītās darbības, lai izveidotu apakšsadaļu, lai izslēgtu HPS no .qxp. file:
    a. Pirms nodalījuma izveides ārpus kodola loģikas, .qsf Quartus Prime iestatījumos izveidojiet nodalījumu ap HPS. File.
    Piemēram,ample:
    # Manuāli sadaliet gadījumu, kas modelē HPS paredzēto I/O set_instance_assignment -name PARTITION_HIERARCHY borde_18261 -uz “system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_ifacehpsio| system_acl_iface_hps_0_hps_io_border:border" -section_id "system_acl_iface_hps_0_hps_io_border:border"
    # Iestatiet nodalījuma tipu HPS_PARTITION, lai pārējais Quartus to pareizi apstrādātu
    set_global_assignment -nosaukums 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=on
    –incremental_compilation_export_post_fit=on
    –incremental_compilation_export_routing=ieslēgts
    –incremental_compilation_export_flatten=off
    Pēc HPS izslēgšanas no nodalījuma varat importēt failu .qxp file un apkopojiet savu dizainu.
  2. Atjauniniet SD zibatmiņas kartes attēlu ar pašreizējo Intel FPGA RTE versiju OpenCL, veicot šādus uzdevumus:
    a. Uzstādiet file sadales tabula (fat32) un paplašināta file sistēmas (ext3) nodalījumi esošajā attēlā kā atpakaļcilpas ierīces. Sīkākus norādījumus skatiet sadaļā SD zibatmiņas kartes attēla izveide 2. darbībā.
    b. Direktorijā /home/root/opencl_arm32_rte noņemiet files no iepriekšējās RTE versijas.
    c. Lejupielādējiet un izsaiņojiet pašreizējo RTE versiju direktorijā /home/root/opencl_arm32_rte.
    d. Iekš /driver/version.h file jūsu pielāgotajā platformā, atjauniniet ACL_DRIVER_VERSION piešķiršanu uz . (piemēram,ample, 16.1.x, kur 16.1 ir SDK versija un x ir jūsu iestatītā draivera versija).
    e. Pārbūvējiet draiveri.
    f. Izdzēsiet pielāgotās platformas aparatūras mapi(-es). Kopējiet pielāgoto platformu kopā ar atjaunināto draiveri /home/root/opencl_arm_rte/board direktorijā.
    g. Kopējiet Altera.icd file no /home/root/opencl_arm32_rte direktorijas un pievienojiet to direktorijam /etc/OpenCL/vendors.
    h. Atvienojiet un pārbaudiet jauno attēlu. Lai iegūtu detalizētus norādījumus, skatiet 8. līdz 11. darbību sadaļā SD zibatmiņas kartes attēla izveide.

Saistītās saites

  • SD zibatmiņas kartes attēla izveide 14. lpp
    Jums ir arī iespēja izveidot jaunu SD zibatmiņas kartes attēlu.
  • Pielāgota platformas automatizācija pārsūtīšanas saderībai

1.3. Programmatūras atbalsts koplietotajai atmiņai
Koplietotā fiziskā atmiņa starp FPGA un CPU ir vēlamā atmiņa OpenCL kodoliem, kas darbojas ar SoC FPGA. Tā kā FPGA piekļūst koplietotajai fiziskajai atmiņai, nevis koplietojamai virtuālajai atmiņai, tai nav piekļuves CPU lapu tabulām, kas kartē lietotāju virtuālās adreses ar fizisko lapu adresēm.
Attiecībā uz aparatūru OpenCL kodoli piekļūst koplietotajai fiziskajai atmiņai, izmantojot tiešu savienojumu ar HPS DDR cietās atmiņas kontrolieri. Attiecībā uz programmatūru koplietojamās fiziskās atmiņas atbalsts ietver šādus apsvērumus:

  1. Tipiskas programmatūras ieviešanas CPU atmiņas piešķiršanai (piemēram,ample, funkcija malloc()) nevar piešķirt atmiņas apgabalu, ko var izmantot FPGA.
    Atmiņa, ko piešķir funkcija malloc(), atrodas blakus virtuālās atmiņas adrešu telpā, taču maz ticams, ka jebkuras pamatā esošās fiziskās lapas fiziski būs blakus. Tādējādi saimniekdatoram jāspēj piešķirt fiziski blakus esošos atmiņas reģionus. Tomēr šī iespēja nepastāv lietotāja telpas lietojumprogrammās operētājsistēmā Linux. Tāpēc Linux kodola draiverim ir jāveic piešķiršana.
  2. OpenCL SoC FPGA Linux kodola draiverī ir iekļauta funkcija mmap(), lai piešķirtu koplietojamo fizisko atmiņu un kartētu to lietotāja telpā. Funkcija mmap() izmanto standarta Linux kodola izsaukumu dma_alloc_coherent(), lai pieprasītu fiziski blakus esošos atmiņas reģionus koplietošanai ar ierīci.
  3. Noklusējuma Linux kodolā dma_alloc_coherent() nepiešķir fiziski blakus esošo atmiņu, kas ir lielāka par 0.5 megabaitiem (MB). Lai ļautu dma_alloc_coherent() piešķirt lielu daudzumu fiziski blakus esošās atmiņas, iespējojiet Linux kodola blakus atmiņas sadalītāja (CMA) funkciju un pēc tam atkārtoti kompilējiet Linux kodolu.
    Cyclone V SoC izstrādes komplekta atsauces platformai CMA pārvalda 512 MB no 1 GB fiziskās atmiņas. Varat palielināt vai samazināt šo vērtību atkarībā no lietojumprogrammai nepieciešamās koplietotās atmiņas apjoma. Izsaukums dma_alloc_coherent(), iespējams, nevarēs piešķirt pilnus 512 MB fiziski blakus esošās atmiņas; tomēr tas parasti var iegūt aptuveni 450 MB atmiņas.
  4. CPU var saglabāt kešatmiņu, ko piešķir dma_alloc_coherent() izsaukums. Jo īpaši rakstīšanas darbības no resursdatora lietojumprogrammas nav redzamas OpenCL kodoliem. Funkcija mmap() OpenCL SoC FPGA Linux kodola draiverī satur arī funkcijas pgprot_noncached() vai remap_pf_range() izsaukumus, lai skaidri atspējotu šī atmiņas reģiona kešatmiņu.
  5. Pēc tam, kad funkcija dma_alloc_coherent() piešķir fiziski blakus esošo atmiņu, funkcija mmap() atgriež virtuālo adresi diapazona sākumā, kas ir piešķirtās atmiņas adreses diapazons. Lai piekļūtu atmiņai, resursdatora lietojumprogrammai ir nepieciešama šī virtuālā adrese. No otras puses, OpenCL kodoliem ir nepieciešamas fiziskas adreses. Linux kodola draiveris seko līdzi virtuālās un fiziskās adreses kartēšanai. Varat kartēt fiziskās adreses, kuras mmap() atgriež, uz faktiskajām fiziskajām adresēm, pievienojot draiverim vaicājumu.
    Aocl_mmd_shared_mem_alloc() MMD lietojumprogrammu saskarnes (API) izsaukums ietver šādus vaicājumus:
    a. Funkcija mmap(), kas piešķir atmiņu un atgriež virtuālo adresi.
    b. Papildu vaicājums, kas kartē atgriezto virtuālo adresi ar fizisko adresi.
    Pēc tam aocl_mmd_shared_mem_alloc() MMD API izsaukums atgriež divas adreses
    — faktiskā atgrieztā adrese ir virtuālā adrese, un fiziskā adrese tiek novirzīta uz device_ptr_out.
    Piezīme: Draiveris var kartēt tikai tās virtuālās adreses, kuras funkcija mmap() atgriež fiziskajām adresēm. Ja pieprasāt jebkura cita virtuālā rādītāja fizisko adresi, draiveris atgriež vērtību NULL.

Brīdinājums: Intel FPGA SDK OpenCL izpildlaika bibliotēkām pieņem, ka koplietojamā atmiņa ir pirmā atmiņa, kas norādīta board_spec.xml. file. Citiem vārdiem sakot, fiziskā adrese, ko iegūst Linux kodola draiveris, kļūst par Avalon® adresi, ko OpenCL kodols nodod HPS SDRAM.
Attiecībā uz izpildlaika bibliotēku izmantojiet izsaukumu clCreateBuffer(), lai piešķirtu koplietojamo atmiņu kā ierīces buferi šādā veidā:

  • Divu DDR plates variantam ar koplietojamo un nekoplietoto atmiņu clCreateBuffer() piešķir koplietoto atmiņu, ja norādāt karogu CL_MEM_USE_HOST_PTR. Izmantojot citus karogus, clCreateBuffer() piešķir buferi nekoplietotajā atmiņā.
  • Vienas DDR plates variantam ar tikai koplietojamo atmiņu clCreateBuffer() piešķir koplietojamo atmiņu neatkarīgi no norādītā karoga.
    Pašlaik 32 bitu Linux atbalsts ARM centrālajam procesoram regulē koplietotās atmiņas atbalsta apjomu SDK izpildlaika bibliotēkās. Citiem vārdiem sakot, izpildlaika bibliotēkas, kas kompilētas citās vidēs (piemēram,ample, x86_64 Linux vai 64 bitu Windows) neatbalsta koplietojamo atmiņu.
    C5soc neieviesa neviendabīgu atmiņu, lai atšķirtu koplietojamo un nekoplietoto atmiņu šādu iemeslu dēļ:
    1. Vēsture — neviendabīgas atmiņas atbalsts nebija pieejams, kad sākotnēji tika izveidots koplietotās atmiņas atbalsts.
    2. Vienots interfeiss — tā kā OpenCL ir atvērts standarts, Intel uztur konsekvenci starp neviendabīgu skaitļošanas platformu pārdevējiem. Tāpēc koplietotās atmiņas piešķiršanai un izmantošanai tiek izmantota tā pati saskarne, ko izmanto citu plates piegādātāju arhitektūrām.

1.4 FPGA pārkonfigurācija
SoC FPGA gadījumā CPU var pārkonfigurēt FPGA kodolu, nepārtraucot CPU darbību. Pārkonfigurāciju veic FPGA pārvaldnieka aparatūras bloks, kas atrodas starp HPS un FPGA kodolu. Linux kodols ietver draiveri, kas nodrošina vieglu piekļuvi FPGA pārvaldniekam.

  • Uz view FPGA kodola statusu, izsauciet cat /sys/class/fpga/fpga0/ statusa komandu.
    Intel FPGA SDK for OpenCL programmas utilīta, kas pieejama kopā ar Cyclone V SoC izstrādes komplekta atsauces platformu, izmanto šo saskarni, lai programmētu FPGA. Pārprogrammējot FPGA kodolu ar darbojošos CPU, programmas utilīta veic visus tālāk norādītos uzdevumus.
    1. Pirms pārprogrammēšanas atspējojiet visus sakaru tiltus starp FPGA un HPS, gan H2F, gan LH2F tiltus.
    Atkārtoti iespējojiet šos tiltus pēc pārprogrammēšanas pabeigšanas.
    Uzmanību: OpenCL sistēma neizmanto tiltu no FPGA uz HPS (F2H). Lai iegūtu papildinformāciju, skatiet sadaļu HPS-FPGA saskarnes Cyclone V ierīces rokasgrāmatā, 3. sējums: Cietā procesora sistēmas tehniskā uzziņu rokasgrāmata.
    2. Pārliecinieties, ka pārprogrammēšanas laikā ir atspējota saite starp FPGA un HPS DDR kontrolleri.
    3. Pārliecinieties, vai pārprogrammēšanas laikā ir atspējoti FPGA pārtraukumi.
    Tāpat informējiet draiveri, lai pārprogrammēšanas laikā tas noraidītu jebkādus FPGA pārtraukumus.

Lai iegūtu sīkāku informāciju par faktisko ieviešanu, skatiet programmas utilīta avota kodu.

Brīdinājums: Nemainiet HPS DDR kontrollera konfigurāciju, kad darbojas centrālais procesors.
Šādi rīkojoties, var rasties fatāla sistēmas kļūda, jo jūs varat mainīt DDR kontrollera konfigurāciju, ja no CPU ir neizpildīti atmiņas darījumi. Tas nozīmē, ka, kad darbojas centrālais procesors, jūs nedrīkstat pārprogrammēt FPGA kodolu ar attēlu, kas izmanto HPS DDR citā konfigurācijā.
Atcerieties, ka OpenCL sistēma un Golden Hardware atsauces dizains, kas pieejams ar Intel SoC FPGA Embedded Design Suite (EDS), iestata HPS DDR vienā 256 bitu režīmā.
CPU sistēmas daļas, piemēram, zaru prognozētājs vai lapu tabulas priekšielādētājs, var izdot DDR komandas pat tad, ja šķiet, ka CPU nekas nedarbojas.
Tāpēc sāknēšanas laiks ir vienīgais drošais laiks, lai iestatītu HPS DDR kontrollera konfigurāciju.
Tas arī nozīmē, ka U-boot ir jābūt neapstrādātam bināram file (.rbf) attēls, kas jāielādē atmiņā. Pretējā gadījumā jūs, iespējams, iespējosit HPS DDR ar neizmantotiem FPGA portiem un pēc tam, iespējams, mainīsit portu konfigurācijas. Šī iemesla dēļ OpenCL Linux kodola draiverī vairs nav iekļauta loģika, kas nepieciešama, lai iestatītu HPS DDR kontrollera konfigurāciju.
SW3 dubultā rindas pakotne (DIP) ieslēdz Cylone V SoC izstrādes komplektu, kas kontrolē paredzēto .rbf attēla formu (tas ir, vai file ir saspiests un/vai šifrēts). C5soc un Golden Hardware Reference Design, kas pieejams kopā ar SoC EDS, ietver saspiestus, bet nešifrētus .rbf attēlus. SW3 DIP slēdža iestatījumi, kas aprakstīti Intel FPGA SDK for OpenCL Cyclone V SoC darba sākšanas rokasgrāmatā, atbilst šai .rbf attēla konfigurācijai.

Saistītās saites

  • HPS-FPGA saskarnes
  • SW3 slēdžu konfigurēšana

1.4.1. FPGA sistēmas arhitektūras detaļas
Cyclone V SoC izstrādes komplekta atsauces platformas atbalsts ir balstīts uz Stratix® V atsauces platformu (s5_ref), kas pieejama ar Intel FPGA SDK for OpenCL.
C5soc Qsys sistēmas un kodola draivera vispārējā organizācija ir ļoti līdzīga s5_ref.
Šie FPGA galvenie komponenti ir vienādi gan c5soc, gan s5_ref:

  • VERSION_ID bloķēšana
  • Atpūtas mehānisms
  • Atmiņas bankas dalītājs
  • Kešatmiņas snoop interfeiss
  • Kodola pulkstenis
  • Kontrolēt reģistra piekļuves (CRA) blokus

1.5 SD zibatmiņas kartes attēla izveide
Tā kā Cyclone V SoC FPGA ir pilna sistēma mikroshēmā, jūs esat atbildīgs par sistēmas pilnās definīcijas nodrošināšanu. Intel iesaka to piegādāt SD zibatmiņas kartes attēla veidā. Intel FPGA SDK for OpenCL lietotājs var vienkārši ierakstīt attēlu micro SD zibatmiņas kartē, un SoC FPGA plate ir gatava lietošanai.
Esošas SD zibatmiņas kartes attēla modificēšana 13. lpp
Intel iesaka vienkārši modificēt attēlu, kas pieejams, izmantojot Cyclone V SoC izstrādes komplekta atsauces platformu. Jums ir arī iespēja izveidot jaunu SD zibatmiņas kartes attēlu.
SD zibatmiņas kartes attēla izveide 14. lpp
Jums ir arī iespēja izveidot jaunu SD zibatmiņas kartes attēlu.

1.5.1. Esošas SD zibatmiņas kartes attēla modificēšana
Intel iesaka vienkārši modificēt attēlu, kas pieejams ar Cyclone V SoC
Attīstības komplekta atsauces platforma. Jums ir arī iespēja izveidot jaunu SD zibatmiņas kartes attēlu.
C5soc linux_sd_card_image.tgz attēls file ir pieejams ALTERAOCLSDKROOT/board/c5soc direktorijā, kur ALTERAOCLSDKROOT norāda uz Intel FPGA SDK ceļu OpenCL instalācijas direktorijam.

Uzmanību: Lai modificētu SD zibatmiņas kartes attēlu, jums ir jābūt root vai sudo tiesībām.

  1. Lai atspiestu $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, palaidiet komandu tar xvfzlinux_sd_card_image.tgz.
  2. Kompilējiet hello_world OpenCL example dizains, izmantojot jūsu pielāgotās platformas atbalstu. Pārdēvējiet .rbf file Intel FPGA SDK for OpenCL Offline Compiler ģenerē kā opencl.rbf, un ievietojiet to fat32 nodalījumā SD zibatmiņas kartes attēlā.
    Jūs varat lejupielādēt hello_world example dizains no OpenCL Design Examples lapā Altera webvietne.
  3. Novietojiet .rbf file zibatmiņas kartes attēla fat32 nodalījumā.
    Uzmanību: Fat32 nodalījumā ir jāietver gan zImage file un .rbf file. Bez .rbf file, ievietojot draiveri, radīsies fatāla kļūda.
  4. Kad esat izveidojis SD kartes attēlu, ierakstiet to mikro SD kartē, izsaucot šādu komandu: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. Lai pārbaudītu SD zibatmiņas kartes attēlu, veiciet tālāk norādītās darbības.
    a. Ievietojiet micro SD zibatmiņas karti SoC FPGA platē.
    b. Ieslēdziet dēli.
    c. Izsauciet aocl diagnostice utilīta komandu.

1.5.2 SD zibatmiņas kartes attēla izveide
Jums ir arī iespēja izveidot jaunu SD zibatmiņas kartes attēlu. Vispārīgi norādījumi par jauna SD zibatmiņas kartes attēla izveidi un esošā SD zibatmiņas kartes attēla atjaunošanu ir pieejami RocketBoards.org lapā GSRD v14.0.2 — SD karte. webvietne.
Tālāk norādītās darbības apraksta linux_sd_card_image.tgz attēla izveides procedūru no Golden System Reference Design (GSRD) SD zibatmiņas kartes attēla:
Piezīme:
Lai izveidotu attēlu no c5soc attēla, veiciet visus piemērojamos uzdevumus, kas izklāstīti šajā procedūrā.

  1. Lejupielādējiet un izpakojiet GSRD SD zibatmiņas kartes attēla versiju 14.0 no vietnes Rocketboards.org.
  2. Uzstādiet file sadales tabula (fat32) un paplašināta file sistēmas (ext3) nodalījumi šajā attēlā kā atpakaļcilpas ierīces. Lai uzstādītu nodalījumu, veiciet šādas darbības:
    a. Nosakiet nodalījuma baita sākumu attēlā, izsaucot /sbin/fdisk -lu image_file komandu.
    Piemēram,ample, W1 FAT tipa nodalījuma numurs 95 ir bloka nobīde 2121728. Ja blokā ir 512 baiti, baitu nobīde ir 512 baiti x 2121728 = 1086324736 baiti.
    b. Identificējiet brīvās cilpas ierīci (piemēram,ample, /dev/loop0), ierakstot komandu losstup -f.
    c. Pieņemot, ka /dev/loop0 ir bezmaksas cilpas ierīce, piešķiriet zibatmiņas kartes attēlu cilpas bloka ierīcei, izsaucot losstup /dev/loop0 attēlu_file -0 1086324736 komanda.
    d. Pievienojiet cilpas ierīci, izsaucot mount /dev/loop0 /media/disk1 komandu.
    Attēla ietvaros file, /media/disk1 tagad ir uzstādīts fat32 nodalījums.
    e. Atkārtojiet darbības no a līdz d nodalījumam ext3.
  3. Lejupielādējiet Intel FPGA Runtime Environment for OpenCL pakotnes Cyclone V SoC FPGA versiju no Altera lejupielādes centra webvietne.
    a. Noklikšķiniet uz pogas Lejupielādēt blakus Quartus Prime programmatūras izdevumam.
    b. Norādiet laidiena versiju, operētājsistēmu un lejupielādes metodi.
    c. Noklikšķiniet uz cilnes Papildu programmatūra un atlasiet, lai lejupielādētu Intel FPGA
    Runtime Environment for OpenCL Linux Cyclone V SoC TGZ.
    d. Pēc aocl-rte- lejupielādes .arm32.tgz file, izsaiņojiet to
    direktoriju, kas jums pieder.
  4. Novietojiet neizpakoto aocl-rte- .arm32 direktorijā /home/root/opencl_arm32_rte direktorijā attēla ext3 nodalījumā file.
  5. Izdzēsiet pielāgotās platformas aparatūras mapi(-es) un pēc tam ievietojiet pielāgoto platformu /home/root/opencl_arm32_rte plates apakšdirektorijā.
  6. Izveidojiet failu init_opencl.sh file /home/root direktorijā ar šādu saturu: export ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ eksportēt PATH=$ALTERAOCLSDKROOT/bin:$PATH eksportēt LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    SDK lietotājs palaiž komandu ./init_opencl.sh, lai ielādētu vides mainīgos un OpenCL Linux kodola draiveri.
  7. Ja nepieciešams atjaunināt priekšielādētāju, DTS files vai Linux kodolam, jums ir nepieciešams kompilators arm-linux-gnueabihf-gcc no SoC EDS. Izpildiet norādījumus, kas sniegti Intel SoC FPGA Embedded Design Suite lietotāja rokasgrāmatā, lai iegūtu programmatūru, atkārtoti kompilētu to un atjauninātu attiecīgo files uzstādītajā fat32 nodalījumā.
    Uzmanību: Visticamāk, jums ir jāatjaunina iepriekšējais ielādētājs, ja jūsu pielāgotajai platformai ir atšķirīgi tapu lietojumi nekā c5soc.
    Atcerieties: ja atkārtoti kompilējat Linux kodolu, atkārtoti kompilējiet Linux kodola draiveri ar to pašu Linux kodola avotu files. Ja ir nesakritība starp Linux kodola draiveri un Linux kodolu, draiveris netiks ielādēts. Tāpat jums ir jāiespējo CMA.
    Papildinformāciju skatiet sadaļā Linux kodola pārkompilēšana.
  8. Kompilējiet hello_world OpenCL example dizains, izmantojot jūsu pielāgotās platformas atbalstu. Pārdēvējiet .rbf file Intel FPGA SDK for OpenCL Offline Compiler ģenerē kā opencl.rbf, un ievietojiet to fat32 nodalījumā SD zibatmiņas kartes attēlā.
    Jūs varat lejupielādēt hello_world example dizains no OpenCL Design Examples lapā Altera webvietne.
    9. Pēc tam, kad esat uzglabājis visu nepieciešamo files uz zibatmiņas kartes attēlu, izsauciet šādas komandas:
    a. sinhronizēt
    b. atvienojiet /media/disk1
    c. nomontēt kur ir direktorija nosaukums, ko izmantojat ext3 nodalījuma pievienošanai 3 3. lappusē (piem.ample, /media/disk2).
    d. losstup -d /dev/loop0
    e. losstup -d /dev/loop1
  9. Saspiediet SD zibatmiņas kartes attēlu, izsaucot šādu komandu: tar cvfz .tgz linux_sd_card_image
  10. Piegādājiet .tgz file pielāgotās platformas saknes direktorijā.
  11. Lai pārbaudītu SD zibatmiņas kartes attēlu, veiciet tālāk norādītās darbības.
    a. Ierakstiet iegūto nesaspiesto attēlu micro SD zibatmiņas kartē.
    b. Ievietojiet micro SD zibatmiņas karti SoC FPGA platē.
    c. Ieslēdziet dēli.
    d. Izsauciet aocl diagnostice utilīta komandu.

Saistītās saites

  • Intel SoC FPGA Embedded Design Suite lietotāja rokasgrāmata
  • OpenCL Design Examples lapā Altera webvietne
  • Linux kodola pārkompilēšana 16. lpp
    Lai iespējotu CMA, vispirms ir jāpārkompilē Linux kodols.
  • Jūsu FPGA plates ierīces nosaukuma vaicājums (diagnoze)

1.6 Linux kodola kompilēšana Cyclone V SoC FPGA
Pirms OpenCL lietojumprogrammu palaišanas Cyclone V SoC FPGA platē, jums ir jākompilē Linux kodola avots un jāapkopo un jāinstalē OpenCL Linux kodola draiveris.

  1. Linux kodola pārkompilēšana 16. lpp
    Lai iespējotu CMA, vispirms ir jāpārkompilē Linux kodols.
  2. OpenCL Linux kodola draivera kompilēšana un instalēšana 17. lpp. Kompilējiet OpenCL Linux kodola draiveri pret kompilēto kodola avotu.

1.6.1. Linux kodola pārkompilēšana
Lai iespējotu CMA, vispirms ir jāpārkompilē Linux kodols.

  1. RocketBoards.org resursu lapā noklikšķiniet uz saites GSRD v14.0 — Linux kompilēšana. webvietni, lai piekļūtu norādījumiem par Linux kodola pirmkoda lejupielādi un atjaunošanu.
    Lai izmantotu™ Intel FPGA SDK for OpenCL, norādiet socfpga-3.13-rel14.0 kā .
  2. Piezīme: veidošanas procesā tiek izveidots arch/arm/configs/socfpga_defconfig file. Šis file norāda socfpga noklusējuma konfigurācijas iestatījumus.
    Pievienojiet šādas rindiņas arch/arm/configs/socfpga_defconfig apakšā 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
    Konfigurācijas vērtība CONFIG_CMA_SIZE_MBYTES nosaka pieejamās fiziski blakus esošās atmiņas kopējā skaita augšējo ierobežojumu. Varat palielināt šo vērtību, ja nepieciešams vairāk atmiņas.
  3. Uzmanību: Kopējais ARM procesoram pieejamās fiziskās atmiņas apjoms uz SoC FPGA plates ir 1 GB. Intel neiesaka iestatīt CMA pārvaldnieku tuvu 1 GB.
  4. Palaidiet komandu make mrproper, lai notīrītu pašreizējo konfigurāciju.
  5. Palaidiet komandu make ARCH=arm socfpga_deconfig.
    ARCH=arm norāda, ka vēlaties konfigurēt ARM arhitektūru.
    socfpga_defconfig norāda, ka vēlaties izmantot noklusējuma socfpga konfigurāciju.
  6. Palaidiet eksportēšanas komandu CROSS_COMPILE=arm-linux-gnueabihf-.
    Šī komanda iestata CROSS_COMPILE vides mainīgo, lai norādītu vēlamās rīku ķēdes prefiksu.
  7. Palaidiet komandu make ARCH=arm zImage. Iegūtais attēls ir pieejams mapē arch/arm/boot/zImage file.
  8. Novietojiet zImage file zibatmiņas kartes attēla fat32 nodalījumā. Detalizētus norādījumus skatiet Cyclone V SoC FPGA specifiskajā GSRD lietotāja rokasgrāmatā vietnē Rocketboards.org.
  9. Piezīme. Lai pareizi ievietotu OpenCL Linux kodola draiveri, vispirms ielādējiet SDKgenerated.rbf file uz FPGA.
    Lai izveidotu .rbf file, apkopojiet SDK dizainu, piemampar Cyclone V SoC izstrādes komplekta atsauces platformu kā mērķa pielāgoto platformu.
    9. Novietojiet .rbf file zibatmiņas kartes attēla fat32 nodalījumā.
    Uzmanību: Fat32 nodalījumā ir jāietver gan zImage file un .rbf file. Bez .rbf file, ievietojot draiveri, radīsies fatāla kļūda.
  10. Ievietojiet ieprogrammēto micro SD karti, kurā ir SD kartes attēls, kuru modificējāt vai izveidojāt iepriekš, Cyclone V SoC izstrādes komplektā un pēc tam ieslēdziet SoC FPGA plati.
  11. Pārbaudiet instalētā Linux kodola versiju, izpildot komandu uname -r.
  12. Lai pārbaudītu, vai CMA ir veiksmīgi iespējots kodolā, kad SoC FPGA plate ir ieslēgta, palaidiet komandu grep init_cma /proc/kallsyms.
    CMA ir iespējota, ja izvade nav tukša.
  13. Lai izmantotu pārkompilēto Linux kodolu ar SDK, kompilējiet un instalējiet Linux kodola draiveri.

Saistītās saites

  • Golden System Reference Design (GSRD) lietotāja rokasgrāmatas
  • SD zibatmiņas kartes attēla izveide 13. lpp
    Tā kā Cyclone V SoC FPGA ir pilna sistēma mikroshēmā, jūs esat atbildīgs par sistēmas pilnās definīcijas nodrošināšanu.

1.6.2. OpenCL Linux kodola draivera kompilēšana un instalēšana
Kompilējiet OpenCL Linux kodola draiveri pret kompilēto kodola avotu.

Draivera avots ir pieejams Intel FPGA Runtime Environment for OpenCL Cyclone V SoC FPGA versijā. Turklāt pārliecinieties, vai esat ielādējis Intel FPGA SDK OpenCL ģenerētajam .rbf file FPGA, lai novērstu nepareizu Linux kodola moduļa instalēšanu.

  1. Lejupielādējiet Intel FPGA Runtime Environment for OpenCL pakotnes Cyclone V SoC FPGA versiju no Altera lejupielādes centra webvietne.
    a. Noklikšķiniet uz pogas Lejupielādēt blakus Quartus Prime programmatūras izdevumam.
    b. Norādiet laidiena versiju, operētājsistēmu un lejupielādes metodi.
    c. Noklikšķiniet uz cilnes Papildu programmatūra un atlasiet, lai lejupielādētu Intel FPGA
    Runtime Environment for OpenCL Linux Cyclone V SoC TGZ.
    d. Pēc aocl-rte- lejupielādes .arm32.tgz file, izsaiņojiet to
    direktoriju, kas jums pieder.
    Draivera avots atrodas aocl-rte- .arm32/board/c5soc/ draiveru direktorijs.
  2. Lai atkārtoti kompilētu OpenCL Linux kodola draiveri, iestatiet KDIR vērtību draivera Makefile uz direktoriju, kurā ir Linux kodola avots files.
  3. Palaidiet komandu eksportēt CROSS_COMPILE=arm-linux-gnueabihf-, lai norādītu rīku ķēdes prefiksu.
  4. Palaidiet komandu make clean.
  5. Palaidiet komandu make, lai izveidotu aclsoc_drv.ko file.
  6. Pārsūtiet direktoriju opencl_arm32_rte uz Cyclone V SoC FPGA plati.
    Palaižot scp -r sakne@jūsu-ipadrese: komanda ievieto izpildlaika vidi direktorijā/home/root.
  7. Palaidiet skriptu init_opencl.sh, ko izveidojāt, veidojot SD kartes attēlu.
  8.  Izsauciet aocl diagnostice utilīta komandu. Diagnostikas utilīta atgriezīs sekmīgu rezultātu pēc veiksmīgas init_opencl.sh palaišanas.

1.7 zināmās problēmas
Pašlaik Intel FPGA SDK izmantošanai OpenCL ar Cyclone V SoC izstrādes komplekta atsauces platformu ir noteikti ierobežojumi.

  1. Jūs nevarat ignorēt piegādātāju un paneļu nosaukumus, par kuriem ziņo izsaukuma clGetDeviceInfo() virknes CL_DEVICE_VENDOR un CL_DEVICE_NAME.
  2. Ja resursdators piešķir pastāvīgu atmiņu koplietotajā DDR sistēmā (tas ir, HPS DDR) un tas maina pastāvīgo atmiņu pēc kodola izpildes, atmiņā esošie dati var kļūt novecojuši. Šī problēma rodas, jo FPGA kodols nevar smelties DDR darījumus no CPU uz HPS.
    Lai turpmākām kodola izpildēm nepiekļūtu novecojušiem datiem, ieviesiet vienu no šiem risinājumiem:
    • Nepārveidojiet pastāvīgo atmiņu pēc tās inicializācijas.
    • Ja jums ir nepieciešamas vairākas __konstantas datu kopas, izveidojiet vairākus pastāvīgus atmiņas buferus.
    • Ja iespējams, akseleratora panelī piešķiriet pastāvīgu atmiņu FPGA DDR.
  3. SDK utilīta ARM atbalsta tikai programmas un diagnostikas utilīta komandas.
    Flash, instalēšanas un atinstalēšanas utilīta komandas nav piemērojamas Cyclone V SoC izstrādes komplektam šādu iemeslu dēļ:
    a. Instalēšanas utilītai ir jākompilē aclsoc_drv Linux kodola draiveris un jāiespējo tas SoC FPGA. Izstrādes iekārtai ir jāveic kompilācija; tomēr tas jau satur Linux kodola avotus SoC FPGA. Linux kodola avoti izstrādes mašīnai atšķiras no SoC FPGA. SoC FPGA Linux kodola avotu atrašanās vieta, visticamāk, SDK lietotājam nav zināma. Tāpat atinstalēšanas utilīta nav pieejama arī Cyclone V SoC izstrādes komplektam.
    Turklāt aclsoc_drv piegāde uz SoC plati ir sarežģīta, jo Cyclone V SoC izstrādes komplekta noklusējuma izplatīšana neietver Linux kodolu. files vai GNU Compiler Collection (GCC) kompilators.
    b. Flash utilīta prasa ievietot .rbf file OpenCL dizaina mikro SD zibatmiņas kartes FAT32 nodalījumā. Pašlaik šis nodalījums nav uzstādīts, kad SDK lietotājs ieslēdz plati. Tāpēc labākais veids, kā atjaunināt nodalījumu, ir izmantot zibatmiņas karšu lasītāju un izstrādes mašīnu.
  4. Pārslēdzoties starp Intel FPGA SDK OpenCL Offline Compiler izpildāmajam failam files (.aocx), kas atbilst dažādiem plates variantiem (tas ir, c5soc un c5soc_sharedonly), ir jāizmanto SDK programmas utilīta, lai ielādētu failu .aocx. file jaunajam dēļa variantam pirmo reizi. Ja vienkārši palaižat resursdatora lietojumprogrammu, izmantojot jaunu plates variantu, bet FPGA satur attēlu no cita plates varianta, var rasties fatāla kļūda.
  5. .qxp file neietver interfeisa nodalījumu piešķiršanu, jo programmatūra Quartus Prime konsekventi atbilst šī nodalījuma laika prasībām.
  6. Ieslēdzot plati, tā multivides piekļuves kontroles (MAC) adrese tiek iestatīta uz nejaušu skaitli. Ja jūsu LAN politika nepieļauj šo darbību, iestatiet MAC adresi, veicot šādus uzdevumus:
    a. U-Boot ieslēgšanas laikā nospiediet jebkuru taustiņu, lai atvērtu U-Boot komandu uzvedni.
    b. Komandu uzvednē ierakstiet setenv ethaddr 00:07:ed:00:00:03.
    Varat izvēlēties jebkuru MAC adresi.
    c. Ierakstiet komandu saveenv.
    d. Pārstartējiet dēli.

1.8. Dokumentu pārskatīšanas vēsture
1. tabula.
Dokumentējiet Intel FPGA SDK pārskatīšanas vēsturi, kas paredzēta OpenCL Cyclone V SoC
Attīstības komplekta atsauces platformas pārnešanas rokasgrāmata

Datums Versija Izmaiņas
maijs-17 2017.05.08 •Apkopes atbrīvošana.
2016. gada oktobris 2016.10.31 • Pārdēvēts par Altera SDK for OpenCL uz Intel FPGA SDK for OpenCL.
• Altera Offline Compiler pārdēvēts par Intel FPGA SDK OpenCL bezsaistes kompilatoram.
maijs-16 2016.05.02 • Modificētas instrukcijas par SD zibatmiņas kartes attēla izveidi un modificēšanu.
• Modificētas instrukcijas par Linux kodola un OpenCL Linux kodola draivera pārkompilēšanu.
novembris-15 2015.11.02 • Apkopes izlaidums un Quartus II gadījumi mainīti uz Quartus Prime.
maijs-15 15.0.0 • FPGA pārkonfigurācijā ir noņemta instrukcija, lai pārprogrammētu FPGA kodolu
ar . rbf attēlu, izsaucot kaķi filenosaukums>. rbf
> /dev/ fpga0 komandu, jo šī metode nav ieteicama.
Decembris-14 14.1.0 • Dokuments tika pārdēvēts par Altera Cyclone V SoC izstrādes komplekta atsauces platformas pārnešanas rokasgrāmatu.
• Atjaunināta pārprogrammēšanas utilīta uz aocl programmufilename>.aocx utilīta komanda.
• Atjaunināta diagnostikas utilīta aocl diagnozei un aocl diagnostikai lietderības komanda.
•Sadaļā Atsauces platformas pārnešana uz jūsu SoC plati ir atjaunināta procedūra, lai iekļautu norādījumus par c5soc plates nodalījuma pārnešanu un modificēšanu, lai izveidotu laika notīrīšanas nodalījumu garantētajai laika slēgšanas plūsmai.
•Ievietota tēma Pārnestās atsauces platformas atjaunināšana, lai ieskicētu šādu uzdevumu procedūras:
1. Izņemot cietā procesora sistēmas (HPS) bloku plates nodalījumā
2. SD zibatmiņas kartes attēla atjaunināšana
• Atjaunināta sadaļa SD zibatmiņas kartes attēla izveide. Ieteicams kā sākumpunktu izmantot Golden System Reference Design (GSRD) attēla versiju 14.0, nevis attēlu, kas pieejams ar SoC Embedded Design Suite (EDS).
• Atjaunināta sadaļa Linux kodola pārkompilēšana un OpenCL Linux kodola draivera sadaļa:
1. Pievienota instrukcija, lai iestatītu mainīgo CROSS COMPILE.
2. Mainīja komandu, kuru izpildāt, lai pārbaudītu, vai CMA ir veiksmīgi iespējota.
jūlijs-14 14.0.0 • Sākotnējā izlaišana.

Dokumenti / Resursi

Intel FPGA SDK for OpenCL [pdfLietotāja rokasgrāmata
FPGA SDK priekš OpenCL, FPGA SDK, SDK priekš OpenCL, SDK

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *