intel - logoFPGA SDK foar OpenCL
Brûkersgids

UG-OCL009
2017.05.08
Lêst bywurke foar Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS WiFi Smart Foot Massager - ikoan 5Ynskriuwe
SAMSUNG SM A136UZKZAIO Galaxy A13 5G smartphone - ikoan 12Stjoer Feedback

Intel® FPGA SDK foar OpenCL™ Intel® Cyclone®V SoC Development Kit Reference Platform Porting Guide

V SoC Development Kit Reference Platform Porting Guide beskriuwt it hardware- en softwareûntwerp fan it Intel Cyclone V SoC Development Kit Reference Platform (c5soc) foar gebrûk mei de Intel Software Development Kit (SDK) foar OpenCL De Intel ® FPGA SDK foar OpenCL ™ Intel Cyclone ® . Foardat jo begjinne, advisearret Intel sterk dat jo josels fertroud meitsje mei de ynhâld fan de folgjende dokuminten:

  1. Intel FPGA SDK foar OpenCLIntel Cyclone V SoC Getting Started Guide
  2. Intel FPGA SDK foar OpenCL Custom Platform Toolkit User Guide
  3. Cyclone V Device Handbook, Volume 3: Technysk referinsjehânlieding foar hurde prosessorsysteem Ferwize neist de Cyclone V SoC Development Kit en SoC Embedded Design Suite-side fan 'e Altera webside foar mear ynformaasje. 1 2

Oandacht: Intel giet derfan út dat jo in djipgeand begryp hawwe fan 'e Intel FPGA SDK foar OpenCL Custom Platform Toolkit User Guide. De Cyclone V SoC Development Kit Reference Platform Porting Guide beskriuwt net it gebrûk fan 'e Custom Platform Toolkit fan 'e SDK om in oanpast platfoarm te ymplementearjen foar de Cyclone V SoC Development Kit. It beskriuwt allinich de ferskillen tusken de SDK-stipe op 'e Cyclone V SoC Development Kit en in generike Intel FPGA SDK foar OpenCL Custom Platform.

Related Links

  • Intel FPGA SDK foar OpenCL Cyclone V SoC Getting Started Guide
  • Intel FPGA SDK foar OpenCL Custom Platform Toolkit User Guide
  • Cyclone V Device Handbook, folume 3: Hurde prosessor System Technical Reference Manual
  • Cyclone V SoC Development Kit en SoC Embedded Design Suite-side op 'e Altera website
  1. OpenCL en it OpenCL-logo binne hannelsmerken fan Apple Inc. brûkt mei tastimming fan de Khronos Group™.
  2. De Intel FPGA SDK foar OpenCL is basearre op in publisearre Khronos-spesifikaasje, en hat it Khronos Conformance Testing-proses trochjûn. Aktuele konformiteitstatus is te finen op www.khronos.org/conformance.

Intel Corporation. Alle rjochten foarbehâlden. Intel, it Intel-logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus en Stratix wurden en logo's binne hannelsmerken fan Intel Corporation of har dochterûndernimmingen yn 'e FS en / of oare lannen. Intel garandearret prestaasjes fan har FPGA- en semiconductor-produkten oan hjoeddeistige spesifikaasjes yn oerienstimming mei Intel's standert garânsje, mar behâldt it rjocht foar om op elk momint feroarings te meitsjen oan produkten en tsjinsten sûnder notice. Intel nimt gjin ferantwurdlikens of oanspraaklikens oan dy't fuortkomme út 'e applikaasje of gebrûk fan ynformaasje, produkt of tsjinst beskreaun hjiryn, útsein as útdruklik skriftlik ôfpraat troch Intel. Intel-klanten wurde advisearre om de lêste ferzje fan apparaatspesifikaasjes te krijen foardat se fertrouwe op alle publisearre ynformaasje en foardat se oarders pleatse foar produkten of tsjinsten.
* Oare nammen en merken kinne wurde opeaske as eigendom fan oaren.

1.1.1 Cyclone V SoC Development Kit Reference Platform Board Farianten
De Intel FPGA SDK foar OpenCL Cyclone V SoC Development Kit Reference Platform omfettet twa boardfarianten.

  • c5soc board
    Dit standert board jout tagong ta twa DDR ûnthâld banken. De HPS DDR is tagonklik troch sawol de FPGA as de CPU. De FPGA DDR is allinich tagonklik troch de FPGA.
  • c5soc_sharedonly board
    Dit board fariant befettet allinnich HPS DDR Konnektivität. De FPGA DDR is net tagonklik. Dit board fariant is mear gebiet effisjint omdat minder hardware is nedich foar in stipe ien DDR ûnthâld bank. De c5soc_sharedonly board is ek in goed prototyping platfoarm foar in lêste produksje board mei in inkele DDR ûnthâld bank.
    Om dizze boerdfariant te rjochtsjen by it kompilearjen fan jo OpenCL kernel, befetsje de -board c5soc_sharedonly opsje yn jo aoc kommando.
    Foar mear ynformaasje oer it -board opsje fan it aoc kommando, ferwize nei de Intel FPGA SDK foar OpenCL Programming Guide.

Related Links
It kompilearjen fan in kernel foar in spesifyk FPGA-boerd (–board )
1.1.2 Ynhâld fan it Cyclone V SoC Development Kit Reference Platform
It Cyclone V SoC Development Kit Reference Platform bestiet út it folgjende files en mappen:

File of Directory Beskriuwing
board_env.xml eXtensible Markup Language (XML) file dat beskriuwt c5soc nei de Intel FPGA SDK foar OpenCL.
linux_sd_card_image.tgz Komprimearre SD flash card ôfbylding file dat alles befettet dat in SDK-brûker nedich is om de Cyclone V SoC Development Kit te brûken mei de SDK.
arm32 Directory dy't it folgjende befettet:

1.1.3 Relevante funksjes fan 'e Cyclone V SoC Development Kit

De folgjende list markearret de Cyclone V SoC Development Kit-komponinten en funksjes dy't relevant binne foar de Intel FPGA SDK foar OpenCL:

  • Dual-core ARM Cortex-A9 CPU mei 32-bit Linux.
  • Avansearre eXtensible Interface (AXI) bus tusken de HPS en de FPGA kearn stof.
  • Twa ferhurde DDR ûnthâld controllers, elk ferbining mei in 1 gigabyte (GB) DDR3 SDRAM.
    - Ien DDR-controller is allinich tagonklik foar de FPGA-kearn (dat is FPGA DDR).
    - De oare DDR-controller is tagonklik foar sawol de HPS as de FPGA (dat is HPS DDR). Dizze dielde controller lit fergees ûnthâld dielen tusken de CPU en de FPGA-kearn.
  • De CPU kin de FPGA-kearnstof opnij konfigurearje.

1.1.3.1 Cyclone V SoC Development Kit Reference Platform Design Doelen en besluten Intel basearret de ymplemintaasje fan it Cyclone V SoC Development Kit Reference Platform op ferskate ûntwerpdoelen en besluten. Intel riedt oan dat jo dizze doelen en besluten beskôgje as jo dit referinsjeplatfoarm nei jo SoC FPGA-board portearje.
Hjirûnder binne de c5soc-ûntwerpdoelen:

  1. Biede de heechst mooglike bânbreedte tusken kernels op 'e FPGA en it DDR-ûnthâldsysteem(s).
  2. Soargje derfoar dat berekkeningen op 'e FPGA (dat is, OpenCL-kernels) net bemuoie mei oare CPU-taken dy't it betsjinjen fan perifeare apparaten kinne befetsje.
  3. Lit safolle mooglik FPGA-boarnen litte foar kernelberekkeningen ynstee fan ynterface-komponinten.

Hjirûnder binne de ûntwerpbeslissingen op heech nivo dy't de direkte gefolgen binne fan Intel's ûntwerpdoelen:

  1. It Reference Platform brûkt allinich hurde DDR-ûnthâldkontrôles mei de breedst mooglike konfiguraasje (256 bits).
  2. De FPGA kommunisearret direkt mei de HPS DDR-ûnthâldkontrôler, sûnder de AXI-bus en de L3-switch yn 'e HPS te belûken. De direkte kommunikaasje soarget foar de bêste mooglike bânbreedte oan DDR, en hâldt FPGA-berekkeningen fan interfering mei kommunikaasje tusken de CPU en syn perifery.
  3. Scatter-gather direkte ûnthâld tagong (SG-DMA) is gjin diel fan de FPGA ynterface logika. Yn stee fan in oerdracht fan grutte hoemannichten gegevens tusken DDR ûnthâld systemen, bewarje de gegevens yn de dielde HPS DDR. Direkte tagong ta CPU ûnthâld troch de FPGA is effisjinter dan DMA. It besparret hardware-boarnen (dat is FPGA-gebiet) en simplifies de Linux kernel-bestjoerder.
    Warskôging: Unthâldoerdracht tusken it dielde HPS DDR-systeem en it DDR-systeem dat allinich tagonklik is foar de FPGA is heul stadich. As jo ​​kieze foar
    oerdrage ûnthâld op dizze manier, brûk it allinich foar heul lytse hoemannichten gegevens.
  4. De host en it apparaat fiere net-DMA gegevensoerdracht tusken inoar fia de HPS-nei-FPGA (H2F) brêge, mei mar ien 32-bit poarte. De reden is, sûnder DMA, kin de Linux-kernel allinich in inkele 32-bit lês- of skriuwfersyk útjaan, dus it is net nedich om in bredere ferbining te hawwen.
  5. De host stjoert kontrôle sinjalen nei it apparaat fia in lichtgewicht H2F (LH2F) brêge.
    Om't kontrôlesinjalen fan 'e host nei it apparaat sinjalen mei lege bânbreedte binne, is in LH2F-brêge ideaal foar de taak.

1.2 Portearje fan it referinsjeplatfoarm nei jo SoC FPGA Board
Om it Cyclone V SoC Development Kit Reference Platform nei jo SoC FPGA-boerd te haven, fiere de folgjende taken:

  1. Selektearje it iene DDR-ûnthâld as de twa DDR-ûnthâldferzje fan it c5soc Reference Platform as it útgongspunt fan jo ûntwerp.
  2. Update de pin-lokaasjes yn 'e ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, wêr't ALTERAOCLSDKROOT it paad is nei de lokaasje fan 'e Intel FPGA SDK foar OpenCL-ynstallaasje, en is de triemtafelnamme fan de boerdfariant. De map c5soc_sharedonly is foar de boerdfariant mei ien DDR-ûnthâldsysteem. De c5soc-map is foar de boerdfariant mei twa DDR-ûnthâldsystemen.
  3.  Update de DDR-ynstellingen foar de HPS- en/of FPGA SDRAM-blokken yn 'e ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
    4. Alle Intel FPGA SDK foar OpenCL foarkar board designs moatte berikke garandearre timing sluting. As sadanich moat de pleatsing fan it ûntwerp timing skjin wêze. Om de c5soc board-partysje (acl_iface_partition.qxp) nei jo SoC FPGA-boerd te portearjen, fiere de folgjende taken:
    Foar detaillearre ynstruksjes oer it wizigjen en bewarjen fan 'e boerddieling, ferwize nei de Quartus
    Prime Incremental Compilation foar hierarchysk en team-basearre ûntwerp haadstik fan it Quartus Prime Standard Edition Hânboek.
    in. Fuortsmite de acl_iface_partition.qxp út de map ALTERAOCLSDKROOT/board/c5soc/c5soc.
    b. Aktivearje de acl_iface_region LogicLock™-regio troch it Tcl-kommando set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region te feroarjen yn set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
    c. Kompilearje in OpenCL kernel foar jo boerd.
    d. As it nedich is, oanpasse de grutte en lokaasje fan 'e LogicLock-regio.
    e. As jo ​​tefreden binne dat de pleatsing fan jo ûntwerp timing skjin is, eksportearje dy partysje as de acl_iface_partition.qxp Quartus Prime Eksportearre Partition File.
    Lykas beskreaun yn 'e seksje fan it fêststellen fan garandearre timingflow fan' e AIntel FPGA SDK foar OpenCL Custom Platform Toolkit User Guide, troch dizze .qxp te ymportearjen  file yn it ûntwerp op topnivo foldogge jo de eask fan it leverjen fan in boerdûntwerp mei in garandearre timing-slutingsstream.
    Foar faktoaren dy't de kwaliteit fan resultaten (QoR) fan jo eksporteare partysje kinne beynfloedzje, ferwize nei de Algemiene kwaliteit fan resultaten oerwagings foar de seksje Eksportearre boerdpartysje yn 'e Intel FPGA SDK foar OpenCL Custom Platform Toolkit User Guide.
    f. Skeakelje de acl_iface_region LogicLock-regio út troch it kommando yn stap 2 werom te kearen nei set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region.
  4. As jo ​​SoC FPGA-boerd ferskate pinnen en periferyen fan it HPS-blok brûkt, regenerearje de preloader en de apparaatbeamboarne (DTS) file. As jo ​​feroarje de HPS DDR ûnthâld controller ynstellings, regenerearje de preloader.
  5. Meitsje de SD flash card ôfbylding.
  6. Meitsje jo oanpaste platfoarm, dy't de ôfbylding fan 'e SD-flashkaart omfettet.
  7. Tink oan it meitsjen fan in runtime-omjouwingsferzje fan jo Custom Platform foar gebrûk mei de Intel FPGA Runtime Environment (RTE) foar OpenCL. De RTE-ferzje fan jo Custom Platform omfettet gjin hardware-mappen en de ôfbylding fan 'e SD-flashkaart. Dit oanpaste platfoarm laadt op it SoC FPGA-systeem om hostapplikaasjes út te fieren. Yn tsjinstelling is de SDK-ferzje fan it oanpaste platfoarm nedich foar de SDK om OpenCL-kernels te kompilearjen.
    Tip: Jo kinne de SDK-ferzje fan jo Custom Platform brûke foar de RTE. Bewarje
    romte, fuortsmite de SD flash card ôfbylding út de RTE ferzje fan jo Custom Platform.
  8. Test jo oanpaste platfoarm.
    Ferwize nei de seksje Testen fan it hardwareûntwerp fan 'e Intel FPGA SDK foar OpenCL Custom Platform Toolkit User Guide foar mear ynformaasje.

Related Links

  • Testen fan it Hardware Design
  • Quartus Prime Incremental Compilation foar hiërargysk en team-basearre ûntwerp
  • It fêststellen fan garandearre timingflow
  • Algemiene kwaliteit fan resultaten oerwagings foar de eksportearre bestjoer Partition

1.2.1 It bywurkjen fan in Ported Reference Platfoarm
Yn 'e hjoeddeistige ferzje fan it Cyclone V SoC Development Kit Reference Platform is it HPS-blok binnen de partysje dy't alle nonkernel-logika definiearret. Jo kinne lykwols de HPS net eksportearje as ûnderdiel fan 'e .qxp file. Om in besteand oanpast platfoarm te aktualisearjen dat jo wizige hawwe fan in eardere ferzje fan c5soc, ymplementearje de QXP-behâldstream, bywurkje de SD-flashkaartôfbylding om de lêste runtime-omjouwing te krijen, en bywurkje de board_spec.xml file om automigraasje yn te skeakeljen.
De Altera® SDK foar OpenCL ferzje 14.1 en fierder ûndersiket de board_spec.xml file foar board ynformaasje, en ymplemintearret automatyske updates. Omdat jo feroarje de
ûntwerp troch it útfieren fan de QXP behâld flow, Jo moatte bywurkje de board_spec.xml file nei har formaat yn 'e hjoeddeistige ferzje. It bywurkjen fan de file lit de SDK ûnderskiede tusken net bewarre oanpaste platfoarms en de hjoeddeiske QXP-basearre oanpaste platfoarms. Ferwize nei Custom Platform Automigration foar Forward Compatibility yn 'e Intel FPGA SDK foar OpenCL Custom Platform Toolkit User Guide foar mear ynformaasje.

  1. Om de QXP-behâldstream te ymplementearjen yn in Cyclone V SoC FPGA-hardware-ûntwerp dat wurdt porteare fan in foarige ferzje fan c5soc, fiere de folgjende stappen om in subpartition te meitsjen om de HPS út te sluten fan 'e .qxp file:
    in. Foardat jo in partysje om de nonkernel-logika meitsje, meitsje in partysje om de HPS yn 'e .qsf Quartus Prime Settings File.
    Bygelyksample:
    # Diel de eksimplaar mei de hân dy't de HPS-dedicated I/O set_instance_assignment -name PARTITION_HIERARCHY borde_18261 -oan "system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_0_iface_hps_io|system_acl_0_iface_hps: system_acl_iface_hps_0_hps_io_border:border" -section_id "system_acl_iface_hps_XNUMX_hps_io_border:border"
    # Stel partysje yn om in HPS_PARTITION-type te wêzen om korrekt te ferwurkjen troch de rest fan Quartus
    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=oan
    –incremental_compilation_export_post_fit=oan
    –incremental_compilation_export_routing=oan
    –incremental_compilation_export_flatten=út
    Neidat jo de HPS útslute fan 'e partysje, kinne jo de .qxp ymportearje file en kompilearje jo ûntwerp.
  2. Update de SD-flashkaartôfbylding mei de hjoeddeistige ferzje fan 'e Intel FPGA RTE foar OpenCL troch de folgjende taken út te fieren:
    in. Mount de file tadieling tafel (fat32) en útwreide file systeem (ext3) partysjes yn de besteande ôfbylding as loop-back apparaten. Foar detaillearre ynstruksjes, ferwize nei Stap 2 yn Bouwe in SD Flash Card Image.
    b. Yn de map /home/root/opencl_arm32_rte, fuortsmite de files út de foarige ferzje fan de RTE.
    c. Download en útpakke de aktuele ferzje fan 'e RTE yn 'e map /home/root/opencl_arm32_rte.
    d. Yn de /driver/version.h file fan jo oanpaste platfoarm, bywurkje de ACL_DRIVER_VERSION-tawizing nei . (bglample, 16.1.x, wêrby't 16.1 de SDK-ferzje is, en x de stjoerprogrammaferzje is dy't jo ynsteld hawwe).
    e. Rebuild de bestjoerder.
    f. Wiskje de hardwaremap(s) fan jo oanpaste platfoarm. Kopiearje it oanpaste platfoarm, tegearre mei it bywurke stjoerprogramma, nei de map /home/root/opencl_arm_rte/board.
    g. Kopiearje de Altera.icd file út de map /home/root/opencl_arm32_rte en heakje it ta oan de map /etc/OpenCL/vendors.
    h. Unmount en test de nije ôfbylding. Foar detaillearre ynstruksjes, ferwize nei Steps 8 oant 11 yn Bouwe in SD Flash Card Image.

Related Links

  • In SD Flash Card-ôfbylding oanmeitsje op side 14
    Jo hawwe ek de opsje om in nije SD-flashkaartôfbylding te meitsjen.
  • Oanpaste platfoarmautomigraasje foar foarútkompatibiliteit

1.3 Software Support foar Shared Unthâld
Dielde fysyk ûnthâld tusken FPGA en CPU is it foarkommende ûnthâld foar OpenCL-kernels dy't rinne op SoC FPGA's. Om't de FPGA tagong hat ta dield fysyk ûnthâld, yn tsjinstelling ta dield firtuele ûnthâld, hat it gjin tagong ta de sidetabellen fan 'e CPU dy't firtuele adressen fan brûkers yn kaart bringe nei fysike sideadressen.
Wat de hardware oanbelanget, hawwe OpenCL-kernels tagong ta dield fysyk ûnthâld fia direkte ferbining mei de HPS DDR-hurdûnthâldkontrôler. Wat de software oanbelanget, omfettet stipe foar dielde fysike ûnthâld de folgjende oerwagings:

  1. Typyske software-ymplementaasjes foar it tawizen fan ûnthâld op 'e CPU (bglample, de malloc () funksje) kin net tawize in ûnthâld regio dat de FPGA kin brûke.
    Unthâld dat de malloc () -funksje allocearret, is oanienwei yn 'e firtuele ûnthâldadresromte, mar alle ûnderlizzende fysike siden binne nei alle gedachten fysyk oanienwei. As sadanich moat de host yn steat wêze kinne om fysyk oansletten ûnthâldregio's te allocearjen. Dizze mooglikheid bestiet lykwols net yn applikaasjes foar brûkersromte op Linux. Dêrom moat de Linux kernel-bestjoerder de tawizing útfiere.
  2. De OpenCL SoC FPGA Linux kernel-bestjoerder omfettet de funksje mmap () om dielde fysike ûnthâld te allocearjen en it yn 'e brûkersromte yn kaart te bringen. De funksje mmap () brûkt de standert Linux kernel-oprop dma_alloc_coherent () om fysyk oansletten ûnthâldregio's oan te freegjen foar dielen mei in apparaat.
  3. Yn 'e standert Linux-kearn allocearret dma_alloc_coherent () gjin fysyk-oansletten ûnthâld mear as 0.5 megabyte (MB) yn grutte. Om dma_alloc_coherent () te tastean om grutte hoemannichten fysyk oansletten ûnthâld te allocearjen, skeakelje de oansletten ûnthâldallokator (CMA) funksje fan 'e Linux kearn yn en kompilearje dan de Linux kearn opnij.
    Foar it Cyclone V SoC Development Kit Reference Platform beheart CMA 512 MB fan 1 GB fysyk ûnthâld. Jo kinne dizze wearde ferheegje of ferminderje, ôfhinklik fan it bedrach fan dielde ûnthâld dat de applikaasje fereasket. De dma_alloc_coherent()-oprop kin miskien net de folsleine 512 MB fan fysyk oaniensletten ûnthâld tawize; lykwols, it kin routinely fa likernôch 450 MB ûnthâld.
  4. De CPU kin cache ûnthâld dat de dma_alloc_coherent () oprop allocates. Benammen skriuwoperaasjes fan 'e hostapplikaasje binne net sichtber foar de OpenCL-kernels. De funksje mmap () yn 'e OpenCL SoC FPGA Linux kernel-bestjoerder befettet ek oproppen nei de funksje pgprot_noncached () of remap_pf_range () om caching foar dizze regio fan ûnthâld eksplisyt út te skeakeljen.
  5. Nei't de funksje dma_alloc_coherent () it fysyk-oanlizzende ûnthâld allocearret, jout de funksje mmap () it firtuele adres werom nei it begjin fan it berik, dat is it adresspan fan it ûnthâld dat jo tawize. De hostapplikaasje fereasket dit firtuele adres om tagong te krijen ta it ûnthâld. Oan 'e oare kant hawwe de OpenCL-kernels fysike adressen nedich. De Linux kernel-bestjoerder hâldt de firtuele-nei-fysike adresmapping by. Jo kinne map de fysike adressen dy't mmap () werom nei werklike fysike adressen troch it tafoegjen fan in fraach nei de bestjoerder.
    De aocl_mmd_shared_mem_alloc () MMD-applikaasje-programmearring-ynterface (API) oprop omfettet de folgjende fragen:
    in. De funksje mmap () dy't ûnthâld allocearret en it firtuele adres weromjout.
    b. De ekstra query dy't it weromjûne firtuele adres yn kaart bringt nei fysyk adres.
    De aocl_mmd_shared_mem_alloc() MMD API-oprop jout dan twa adressen werom
    -it werklik weromjûn adres is it firtuele adres, en it fysike adres giet nei device_ptr_out.
    Noat: De bestjoerder kin allinnich map de firtuele adressen dy't de funksje mmap () werom nei fysike adressen. As jo ​​​​oanfreegje foar it fysike adres fan in oare firtuele oanwizer, jout de bestjoerder in NULL-wearde werom.

Warskôging: De Intel FPGA SDK foar OpenCL runtime biblioteken geane derfan út dat it dielde ûnthâld it earste ûnthâld is dat yn 'e board_spec.xml stiet. file. Mei oare wurden, it fysike adres dat de Linux-kernel-bestjoerder krijt, wurdt it Avalon®-adres dat de OpenCL-kernel trochjaan oan de HPS SDRAM.
Mei respekt foar de runtime bibleteek, brûk de oprop clCreateBuffer() om it dielde ûnthâld as apparaatbuffer op de folgjende wize te allocearjen:

  • Foar de twa-DDR board fariant mei sawol dield en nonshared ûnthâld, allocates clCreateBuffer () dield ûnthâld as jo oantsjutte de CL_MEM_USE_HOST_PTR flagge. It brûken fan oare flaggen feroarsaket clCreateBuffer () foar in allocate buffer yn de nonshared ûnthâld.
  • Foar de ien-DDR board fariant mei allinnich dield ûnthâld, allocates clCreateBuffer () dield ûnthâld nettsjinsteande hokker flagge jo oantsjutte.
    Op it stuit bestjoert 32-bit Linux-stipe op ARM CPU de omfang fan stipe foar dielde ûnthâld yn 'e SDK-runtime-biblioteken. Mei oare wurden, runtime-biblioteken kompilearre foar oare omjouwings (bglample, x86_64 Linux of 64-bit Windows) stipet gjin dielde ûnthâld.
    C5soc hat gjin heterogene ûnthâld ymplementearre om ûnderskied te meitsjen tusken dielde en net-dielde ûnthâld om de folgjende redenen:
    1. Skiednis-Heterogene ûnthâld stipe wie net beskikber doe't dielde ûnthâld stipe waard oarspronklik makke.
    2. Uniform ynterface-Om't OpenCL is in iepen standert, Intel ûnderhâldt gearhing tusken heterogene Computing platfoarm vendors. Dêrom wurdt deselde ynterface as arsjitektueren fan oare boardferkeapers brûkt om dielde ûnthâld te allocearjen en te brûken.

1.4 FPGA Rekonfiguraasje
Foar SoC FPGA's kin de CPU de FPGA-kearnstof opnij konfigurearje sûnder de operaasje fan 'e CPU te ûnderbrekken. It FPGA Manager-hardwareblok dat de HPS straddles en de kearn FPGA fiert de rekonfiguraasje út. De Linux-kernel omfettet in stjoerprogramma dy't maklike tagong ta de FPGA Manager mooglik makket.

  • Nei view de status fan 'e FPGA-kearn, rop it kommando kat /sys/class/fpga/fpga0/ status op.
    It programmaprogramma Intel FPGA SDK foar OpenCL beskikber mei it Cyclone V SoC Development Kit Reference Platform brûkt dizze ynterface om de FPGA te programmearjen. By it werprogrammearjen fan in FPGA-kearn mei in rinnende CPU, fiert it programma-hulpprogramma alle folgjende taken út:
    1. Foardat jo opnij programmearje, útskeakelje alle kommunikaasjebrêgen tusken de FPGA en de HPS, sawol H2F- as LH2F-brêgen.
    Skeakelje dizze brêgen opnij yn neidat it werprogrammearjen is foltôge.
    Oandacht: It OpenCL-systeem brûkt de FPGA-nei-HPS (F2H) brêge net. Ferwize nei de seksje HPS-FPGA-ynterfaces yn it Cyclone V Device Handbook, Volume 3: Technical Reference Manual foar hurde prosessorsysteem foar mear ynformaasje.
    2. Soargje derfoar dat de keppeling tusken de FPGA en de HPS DDR-controller is útskeakele by it werprogrammearjen.
    3. Soargje derfoar dat de FPGA ûnderbrekkings op 'e FPGA binne útskeakele tidens reprogramming.
    Stel de bestjoerder ek op de hoogte om alle ûnderbrekkings fan 'e FPGA te fersmiten by it werprogrammearjen.

Rieplachtsje de boarnekoade fan it programma-hulpprogramma foar details oer de eigentlike ymplemintaasje.

Warskôging: Feroarje de konfiguraasje fan 'e HPS DDR-controller net as de CPU rint.
Dat dwaan kin in fatale systeemflater feroarsaakje, om't jo de DDR-kontrôlerkonfiguraasje kinne feroarje as d'r treflike ûnthâldtransaksjes binne fan 'e CPU. Dit betsjut dat as de CPU rint, jo meie de FPGA-kearn net opnij programmearje mei in ôfbylding dy't HPS DDR brûkt yn in oare konfiguraasje.
Unthâld dat it OpenCL-systeem, en it Gouden Hardware-referinsjeûntwerp beskikber mei de Intel SoC FPGA Embedded Design Suite (EDS), de HPS DDR yn ien 256-bit modus set.
CPU-systeemdielen lykas de tûkefoarsizzer of de sidetabelprefetcher kinne DDR-kommando's útjaan, sels as it liket dat neat op 'e CPU rint.
Dêrom is opstarttiid de ienige feilige tiid om de konfiguraasje fan de HPS DDR-controller yn te stellen.
Dit ymplisearret ek dat U-boot in rau binêr moat hawwe file (.rbf) ôfbylding te laden yn it ûnthâld. Oars kinne jo de HPS DDR ynskeakelje mei net brûkte havens op 'e FPGA en dan mooglik de poartekonfiguraasjes dêrnei feroarje. Om dizze reden befettet de OpenCL Linux kernel-bestjoerder net langer de logika dy't nedich is om de konfiguraasje fan de HPS DDR-controller yn te stellen.
De SW3 dual in-line pakket (DIP) skeakelt op 'e Cylone V SoC Development Kit kontrolearje de ferwachte foarm fan' e .rbf-ôfbylding (dat is oft de file is komprimearre en/of fersifere). C5soc, en it Gouden Hardware Reference Design beskikber mei de SoC EDS, befetsje komprimearre, mar net fersifere .rbf-ôfbyldings. De SW3 DIP switch ynstellings beskreaun yn de Intel FPGA SDK foar OpenCL Cyclone V SoC Getting Started Guide oerien mei dizze .rbf image konfiguraasje.

Related Links

  • HPS-FPGA Schnittstellen
  • It konfigurearjen fan de SW3 Switches

1.4.1 FPGA System Architecture Details
Stipe foar it Cyclone V SoC Development Kit Reference Platform is basearre op it Stratix® V Reference Platform (s5_ref), te krijen mei de Intel FPGA SDK foar OpenCL.
De algemiene organisaasje fan it c5soc Qsys-systeem en de kearnbestjoerder binne tige ferlykber mei dy yn s5_ref.
De folgjende FPGA-kearnkomponinten binne itselde yn sawol c5soc as s5_ref:

  • VERSION_ID blok
  • Rest meganisme
  • Unthâld bank divider
  • Cache snoop ynterface
  • Kernel klok
  • Control register tagong (CRA) blokken

1.5 Bouwe in SD Flash Card Image
Om't de Cyclone V SoC FPGA in folslein systeem op in chip is, binne jo ferantwurdlik foar it leverjen fan de folsleine definysje fan it systeem. Intel advisearret dat jo it leverje yn 'e foarm fan in SD-flashkaartôfbylding. De Intel FPGA SDK foar OpenCL-brûker kin de ôfbylding gewoan skriuwe nei de micro SD-flashkaart en it SoC FPGA-boerd is klear foar gebrûk.
In besteande SD Flash-kaartôfbylding wizigje op side 13
Intel advisearret dat jo de ôfbylding gewoan wizigje dy't beskikber is mei it Cyclone V SoC Development Kit Reference Platform. Jo hawwe ek de opsje om in nije SD-flashkaartôfbylding te meitsjen.
In SD Flash Card-ôfbylding oanmeitsje op side 14
Jo hawwe ek de opsje om in nije SD-flashkaartôfbylding te meitsjen.

1.5.1 It feroarjen fan in besteande SD Flash Card Image
Intel advisearret dat jo de ôfbylding gewoan wizigje dy't beskikber is mei de Cyclone V SoC
Development Kit Reference Platfoarm. Jo hawwe ek de opsje om in nije SD-flashkaartôfbylding te meitsjen.
De c5soc linux_sd_card_image.tgz-ôfbylding file is beskikber yn 'e ALTERAOCLSDKROOT/board/c5soc-map, wêrby't ALTERAOCLSDKROOT wiist op it paad fan 'e Intel FPGA SDK foar de ynstallaasjemap fan OpenCL.

Oandacht: Om de ôfbylding fan 'e SD-flashkaart te feroarjen, moatte jo root- of sudo-privileges hawwe.

  1. Om de $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz te dekomprimearjen file, fier it kommando tar xvfzlinux_sd_card_image.tgz út.
  2. Kompilearje de hello_world OpenCL example ûntwerp mei help fan jo Custom Platform stipe. Omneame de .rbf file dat de Intel FPGA SDK foar OpenCL Offline Compiler genereart as opencl.rbf, en pleatst it op 'e fat32-partysje binnen de SD-flashkaartôfbylding.
    Jo kinne download de hello_world eksample ûntwerp fan de OpenCL Design Examples side op de Altera website.
  3. Pleats de .rbf file yn 'e fat32-dieling fan' e flashkaartôfbylding.
    Oandacht: De fat32-partysje moat sawol de zImage befetsje file en de .rbf file. Sûnder in .rbf file, der sil in fatale flater foarkomme as jo it stjoerprogramma ynfoegje.
  4. Nei it meitsjen fan de SD-kaartôfbylding, skriuw it nei in mikro SD-kaart troch it folgjende kommando op te roppen: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. Om jo SD-flashkaartôfbylding te testen, fiere de folgjende taken:
    in. Fier de micro SD flash card yn de SoC FPGA board.
    b. Power up it bestjoer.
    c. Roepe it kommando aocl diagnose utility op.

1.5.2 It meitsjen fan in SD Flash Card Image
Jo hawwe ek de opsje om in nije SD-flashkaartôfbylding te meitsjen. Generyske ynstruksjes oer it bouwen fan in nije SD-flashkaartôfbylding en it werbouwen fan in besteande SD-flashkaartôfbylding binne beskikber op 'e GSRD v14.0.2 - SD Card-side fan' e RocketBoards.org website.
De stappen hjirûnder beskriuwe de proseduere foar it meitsjen fan de linux_sd_card_image.tgz-ôfbylding fan it Golden System Reference Design (GSRD) SD-flashkaartôfbylding:
Noat:
Om de ôfbylding fan 'e c5soc-ôfbylding te meitsjen, fiere alle jildende taken út yn dizze proseduere.

  1. Download en útpakke de GSRD SD flash card ôfbylding ferzje 14.0 fan Rocketboards.org.
  2. Mount de file tadieling tafel (fat32) en útwreide file systeem (ext3) partysjes yn dizze ôfbylding as loop-back apparaten. Om in partysje te montearjen, fiere de folgjende stappen:
    in. Bepaal de byte-begjin fan 'e partysje binnen de ôfbylding troch de /sbin/fdisk -lu image_ op te roppenfile befel.
    Bygelyksample, partition nûmer 1 fan type W95 FAT hat in blok offset fan 2121728. Mei 512 bytes per blok, de byte offset is 512 bytes x 2121728 = 1086324736 bytes.
    b. Identifisearje in frije loop-apparaat (bglample, /dev/loop0) troch it kommando lossetup -f te typen.
    c. Oannommen dat /dev/loop0 it frije loopapparaat is, jou jo flashkaartôfbylding ta oan it loopblokapparaat troch de lossetup /dev/loop0 image_ op te roppenfile -0 1086324736 kommando.
    d. Befestigje it loopapparaat troch it kommando mount /dev/loop0 /media/disk1 op te roppen.
    Binnen it byld file, /media/disk1 is no in monteare fat32-partysje.
    e. Werhelje stappen a oant d foar de ext3-partysje.
  3. Download de Cyclone V SoC FPGA-ferzje fan it pakket Intel FPGA Runtime Environment foar OpenCL fan it ynlaadsintrum op 'e Altera website.
    in. Klikje op de knop Download neist Quartus Prime software-edysje.
    b. Spesifisearje de releaseferzje, it bestjoeringssysteem en de downloadmetoade.
    c. Klikje op it ljepblêd Oanfoljende software en selektearje om Intel FPGA te downloaden
    Runtime-omjouwing foar OpenCL Linux Cyclone V SoC TGZ.
    d. Neidat jo de aocl-rte- .arm32.tgz file, útpakke it oan
    in map dy't jo eigner.
  4. Pleats de útpakte aocl-rte- .arm32-map yn de map /home/root/opencl_arm32_rte op de ext3-dieling fan de ôfbylding file.
  5. Wiskje de hardware-map(en) fan jo oanpaste platfoarm, en pleats it oanpaste platfoarm dan yn 'e boerdsubmap fan /home/root/ opencl_arm32_rte.
  6. Meitsje de init_opencl.sh file yn 'e /home/root-map mei de folgjende ynhâld: eksportearje ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte eksportearje AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ eksport PATH=$ALTERAOCLSDKROOT/bin:$PATH eksportearje LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    De SDK-brûker rint it kommando boarne ./init_opencl.sh om de omjouwingsfariabelen en de OpenCL Linux kernel-bestjoerder te laden.
  7. As jo ​​​​de preloader moatte bywurkje, is de DTS files, of de Linux kernel, jo moatte de arm-linux-gnueabihf-gcc-kompiler fan 'e SoC EDS. Folgje de ynstruksjes beskreaun yn 'e Intel SoC FPGA Embedded Design Suite User Guide om de software te krijen, se opnij te kompilearjen en de relevante files op de fêstmakke fat32 partition.
    Oandacht: It is wierskynlik dat jo de preloader moatte bywurkje as jo Custom Platform oare pin-gebrûk hat as dy yn c5soc.
    Unthâld: as jo de Linux kernel opnij kompilearje, kompilearje dan de Linux kernel driver mei deselde Linux kernel boarne files. As d'r in mismatch is tusken de Linux-kernel-bestjoerder en de Linux-kernel, sil de sjauffeur net lade. Jo moatte ek de CMA ynskeakelje.
    Ferwize nei de Linux Kernel opnij kompilearje foar mear ynformaasje.
  8. Kompilearje de hello_world OpenCL example ûntwerp mei help fan jo Custom Platform stipe. Omneame de .rbf file dat de Intel FPGA SDK foar OpenCL Offline Compiler genereart as opencl.rbf, en pleatst it op 'e fat32-partysje binnen de SD-flashkaartôfbylding.
    Jo kinne download de hello_world eksample ûntwerp fan de OpenCL Design Examples side op de Altera website.
    9. Na jo opslaan alle nedige files op 'e flashkaartôfbylding, rop de folgjende kommando's op:
    in. syngronisearje
    b. unmount /media/disk1
    c. unmount wêr is de mapnamme dy't jo brûke foar it montearjen fan de ext3-partysje yn 3 op side 3 (bgl.ample, /media/disk2).
    d. losetup -d /dev/loop0
    e. losetup -d /dev/loop1
  9. Komprimearje de ôfbylding fan 'e SD-flashkaart troch it folgjende kommando op te roppen: tar cvfz .tgz linux_sd_card_image
  10. Leverje de .tgz file binnen de rootmap fan jo Custom Platform.
  11. Om jo SD-flashkaartôfbylding te testen, fiere de folgjende taken:
    in. Skriuw de resultearjende net-komprimeare ôfbylding op in micro SD-flashkaart.
    b. Fier de micro SD flash card yn de SoC FPGA board.
    c. Power up it bestjoer.
    d. Roepe it kommando aocl diagnose utility op.

Related Links

  • Intel SoC FPGA Embedded Design Suite User Guide
  • OpenCL Design Examples side op de Altera website
  • De Linux Kernel opnij kompilearje op side 16
    Om de CMA yn te skeakeljen, moatte jo earst de Linux kernel opnij kompilearje.
  • De apparaatnamme fan jo FPGA-boerd freegje (diagnoaze)

1.6 De Linux Kernel kompilearje foar Cyclone V SoC FPGA
Foardat jo OpenCL-applikaasjes útfiere op it Cyclone V SoC FPGA-boerd, moatte jo de Linux-kernelboarne kompilearje, en de OpenCL Linux-kernel-bestjoerder kompilearje en ynstallearje.

  1. De Linux Kernel opnij kompilearje op side 16
    Om de CMA yn te skeakeljen, moatte jo earst de Linux kernel opnij kompilearje.
  2. It kompilearjen en ynstallearjen fan de OpenCL Linux Kernel Driver op side 17 Kompilearje de OpenCL Linux kernel driver tsjin de kompilearre kernel boarne.

1.6.1 De Linux Kernel opnij kompilearje
Om de CMA yn te skeakeljen, moatte jo earst de Linux kernel opnij kompilearje.

  1. Klikje op de GSRD v14.0 - Linux kompilearje-keppeling op 'e Resources side fan' e RocketBoards.org webside om tagong te krijen ta ynstruksjes oer it downloaden en werbouwen fan de Linux-kernelboarnekoade.
    Foar gebrûk mei de™ Intel FPGA SDK foar OpenCL, spesifisearje socfpga-3.13-rel14.0 as de .
  2. Opmerking: it bouproses makket de bôge/arm/configs/socfpga_defconfig file. Dit file spesifisearret de ynstellings foar de socfpga standert konfiguraasje.
    Foegje de folgjende rigels ta oan 'e boaiem fan' e bôge/arm/configs/socfpga_defconfig file.
    CONFIG_MEMORY_ISOLATION=y
    CONFIG_CMA=y
    CONFIG_DMA_CMA=y
    CONFIG_CMA_DEBUG=y
    CONFIG_CMA_SIZE_MBYTES=512
    CONFIG_CMA_SIZE_SEL_MBYTES=y
    CONFIG_CMA_ALIGNMENT=8
    CONFIG_CMA_AREAS=7
    De CONFIG_CMA_SIZE_MBYTES-konfiguraasjewearde stelt de boppegrins yn op it totale oantal fysyk oansletten ûnthâld beskikber. Jo kinne fergrutsje dizze wearde as jo nedich mear ûnthâld.
  3. Oandacht: It totale bedrach fan fysike ûnthâld beskikber foar de ARM-prosessor op it SoC FPGA-boerd is 1 GB. Intel riedt net oan dat jo de CMA-manager tichtby 1 GB ynstelle.
  4. Run it kommando make mrproper om de hjoeddeistige konfiguraasje skjin te meitsjen.
  5. Run it kommando make ARCH=arm socfpga_deconfig.
    ARCH=arm jout oan dat jo de ARM-arsjitektuer ynstelle wolle.
    socfpga_defconfig jout oan dat jo de standert socfpga-konfiguraasje brûke wolle.
  6. Laad it eksportearje CROSS_COMPILE=arm-linux-gnueabihf- kommando.
    Dit kommando stelt de CROSS_COMPILE omjouwingsfariabele yn om it foarheaksel fan 'e winske arkketen oan te jaan.
  7. Run it kommando make ARCH=arm zImage. De resultearjende ôfbylding is beskikber yn 'e arch/arm/boot/zImage file.
  8. Pleats de zImage file yn 'e fat32-dieling fan' e flashkaartôfbylding. Foar detaillearre ynstruksjes, ferwize nei de Cyclone V SoC FPGA-spesifike GSRD User Manual op Rocketboards.org.
  9. Opmerking: Om de OpenCL Linux kernel-bestjoerder korrekt yn te foegjen, lade earst in SDKgenerated.rbf file op de FPGA.
    Om de .rbf file, kompilearje in SDK-ûntwerp example mei it Cyclone V SoC Development Kit Reference Platform as it rjochte Custom Platform.
    9. Pleats de .rbf file yn 'e fat32-dieling fan' e flashkaartôfbylding.
    Oandacht: De fat32-partysje moat sawol de zImage befetsje file en de .rbf file. Sûnder in .rbf file, der sil in fatale flater foarkomme as jo it stjoerprogramma ynfoegje.
  10. Foegje de programmearre mikro SD-kaart, dy't de SD-kaartôfbylding befettet dy't jo earder wizige of makke hawwe, yn 'e Cyclone V SoC Development Kit en skeakelje dan it SoC FPGA-boerd oan.
  11. Ferifiearje de ferzje fan de ynstallearre Linux-kernel troch it kommando uname -r út te fieren.
  12. Om te ferifiearjen dat jo de CMA mei súkses ynskeakelje yn 'e kearn, mei it SoC FPGA-boerd oandreaun, útfiere it kommando grep init_cma /proc/kallsyms.
    CMA is ynskeakele as de útfier net leech is.
  13. Om de opnij kompilearre Linux kernel te brûken mei de SDK, kompilearje en ynstallearje de Linux kernel driver.

Related Links

  • Golden System Reference Design (GSRD) Brûkershandleidingen
  • Bouwe in SD Flash Card Image op side 13
    Om't de Cyclone V SoC FPGA in folslein systeem op in chip is, binne jo ferantwurdlik foar it leverjen fan de folsleine definysje fan it systeem.

1.6.2 De OpenCL Linux Kernel Driver kompilearje en ynstallearje
Kompilearje de OpenCL Linux kernel driver tsjin de kompilearre kernel boarne.

De stjoerprogrammaboarne is beskikber yn 'e Cyclone V SoC FPGA-ferzje fan' e Intel FPGA Runtime Environment foar OpenCL. Soargje derfoar dat jo in Intel FPGA SDK foar OpenCL-generearre .rbf hawwe laden file yn 'e FPGA om ferkearde ynstallaasje fan' e Linux kernelmodule te foarkommen.

  1. Download de Cyclone V SoC FPGA-ferzje fan it pakket Intel FPGA Runtime Environment foar OpenCL fan it ynlaadsintrum op 'e Altera website.
    in. Klikje op de knop Download neist Quartus Prime software-edysje.
    b. Spesifisearje de releaseferzje, it bestjoeringssysteem en de downloadmetoade.
    c. Klikje op it ljepblêd Oanfoljende software en selektearje om Intel FPGA te downloaden
    Runtime-omjouwing foar OpenCL Linux Cyclone V SoC TGZ.
    d. Neidat jo de aocl-rte- .arm32.tgz file, útpakke it oan
    in map dy't jo eigner.
    De stjoerprogrammaboarne is yn 'e aocl-rte- .arm32/board/c5soc/ stjoerprogramma triemtafel.
  2. Om de OpenCL Linux kernel-bestjoerder opnij te kompilearjen, set de KDIR-wearde yn 'e Makefile nei de map mei de Linux kernel boarne files.
  3. Laad it kommando eksport CROSS_COMPILE=arm-linux-gnueabihf- om it foarheaksel fan jo arkketen oan te jaan.
  4. Run it kommando meitsje skjin.
  5. Run it kommando make om de aclsoc_drv.ko file.
  6. Oermeitsje de map opencl_arm32_rte nei it Cyclone V SoC FPGA-boerd.
    It útfieren fan de scp -r root@jo-ipadres: kommando pleatst de runtime-omjouwing yn 'e / home / root-map.
  7. Laad it init_opencl.sh-skript út dat jo makke hawwe doe't jo it SD-kaartôfbylding bouden.
  8.  Roepe it kommando aocl diagnose utility op. It diagnoaze-hulpprogramma sil in trochrinnend resultaat weromjaan nei't jo init_opencl.sh mei súkses hawwe útfierd.

1.7 Bekende problemen
Op it stuit binne d'r bepaalde beheiningen op it gebrûk fan 'e Intel FPGA SDK foar OpenCL mei it Cyclone V SoC Development Kit Reference Platform.

  1. Jo kinne de ferkeaper- en boerdnammen net oerskriuwe troch de CL_DEVICE_VENDOR- en CL_DEVICE_NAME-strings fan de clGetDeviceInfo()-oprop.
  2. As de host konstant ûnthâld yn dielde DDR-systeem allocearret (dat is HPS DDR) en it konstante ûnthâld feroaret nei it útfieren fan de kernel, kinne de gegevens yn it ûnthâld ferâldere wurde. Dit probleem ûntstiet om't de FPGA-kearn net kin snoopje op CPU-nei-HPS DDR-transaksjes.
    Om foar te kommen dat folgjende kernel-útfieringen tagong krije ta ferâldere gegevens, ymplementearje ien fan 'e folgjende oplossingen:
    • Net wizigje konstante ûnthâld nei syn inisjalisaasje.
    • As jo ​​nedich meardere __konstante datasets, meitsje meardere konstante ûnthâld buffers.
    • As beskikber, allocate konstante ûnthâld yn de FPGA DDR op jo accelerator board.
  3. It SDK-hulpprogramma op ARM stipet allinich it programma en diagnose-kommando's.
    De kommando's foar flash, ynstallearje en ferwiderjen fan nut binne net fan tapassing op de Cyclone V SoC Development Kit om de folgjende redenen:
    in. It ynstallaasjeprogramma moat de aclsoc_drv Linux kernel-bestjoerder kompilearje en it ynskeakelje op 'e SoC FPGA. De ûntwikkelmasine moat de kompilaasje útfiere; lykwols, it befettet al Linux kernel boarnen foar de SoC FPGA. De Linux kernel boarnen foar de ûntwikkeling masine binne oars as dy foar de SoC FPGA. De lokaasje fan 'e Linux-kernelboarnen foar de SoC FPGA is wierskynlik ûnbekend foar de SDK-brûker. Op deselde manier is it uninstall-hulpprogramma ek net beskikber foar de Cyclone V SoC Development Kit.
    Ek it leverjen fan aclsoc_drv oan it SoC-boerd is útdaagjend, om't de standertferdieling fan 'e Cyclone V SoC Development Kit gjin Linux-kernel befettet files of de GNU Compiler Collection (GCC) kompilator.
    b. De flash utility fereasket it pleatsen fan in .rbf file fan in OpenCL-ûntwerp op 'e FAT32-dieling fan' e micro SD-flashkaart. Op it stuit is dizze partysje net monteard as de SDK-brûker it boerd oansette. Dêrom is de bêste manier om de partysje te aktualisearjen in gebrûk fan in flashkaartlêzer en de ûntwikkelingsmasine.
  4. By it wikseljen tusken de Intel FPGA SDK foar OpenCL Offline Compiler útfierber files (.aocx) dy't oerienkomme mei ferskate boerdfarianten (dat is, c5soc en c5soc_sharedonly), moatte jo it programma-hulpprogramma fan 'e SDK brûke om de .aocx te laden file foar de earste kear de nije bestjoersfariant. As jo ​​​​de hostapplikaasje gewoan útfiere mei in nije boerdfariant, mar de FPGA befettet de ôfbylding fan in oare boerdfariant, kin in fatale flater foarkomme.
  5. De .qxp file omfettet de opdrachten foar ynterface-partition net, om't de Quartus Prime-software konsekwint foldocht oan de timing-easken fan dizze partysje.
  6. As jo ​​it boerd oansette, is it adres foar media tagongskontrôle (MAC) ynsteld op in willekeurich getal. As jo ​​LAN-belied dit gedrach net tastiet, set dan it MAC-adres yn troch de folgjende taken út te fieren:
    in. Druk by it opstarten fan U-Boot op elke toets om de U-Boot-kommandoprompt yn te gean.
    b. Typ setenv ethaddr 00:07:ed:00:00:03 by de kommando-prompt.
    Jo kinne elk MAC-adres kieze.
    c. Typ it kommando saveenv.
    d. Reboot it bestjoer.

1.8 Document Revision Skiednis
Tabel 1.
Dokumintferzjeskiednis fan 'e Intel FPGA SDK foar OpenCL Cyclone V SoC
Development Kit Reference Platform Porting Guide

Datum Ferzje Feroarings
Mei-17 2017.05.08 • Underhâld release.
Oktober 2016 2016.10.31 • Rebranded Altera SDK foar OpenCL nei Intel FPGA SDK foar OpenCL.
• Rebranded Altera Offline Compiler nei Intel FPGA SDK foar OpenCL Offline Compiler.
Mei-16 2016.05.02 • Modified ynstruksjes op it bouwen en feroarjen fan in SD flash card ôfbylding.
• Feroare ynstruksjes oer it opnij kompilearjen fan de Linux kernel en de OpenCL Linux kernel driver.
novimber-15 2015.11.02 • Ûnderhâld release, en feroare ynstânsjes fan Quartus II nei Quartus Prime.
Mei-15 15.0.0 • Yn FPGA Reconfiguration, fuortsmiten ynstruksje om de FPGA-kearn opnij te programmearjen
mei a. rbf-ôfbylding troch de kat op te roppen filenamme >. rbf
> /dev/ fpga0 kommando omdat dizze metoade net oan te rieden is.
Desimber-14 14.1.0 • It dokumint omneamd as Altera Cyclone V SoC Development Kit Reference Platform Porting Guide.
• Bywurke it reprogrammearprogramma nei it aocl-programmafilenamme> .aocx nut kommando.
• Updated it diagnostyske nut foar de aocl diagnoaze en aocl diagnoaze nut kommando.
• De proseduere bywurke yn 'e seksje Porting fan it referinsjeplatfoarm nei jo SoC Board om ynstruksjes op te nimmen oer it portearjen en wizigjen fan' e c5soc-boardpartysje om in timing-skjinne partysje te meitsjen foar de garandearre timing-slutingstream.
• Ynfoege it ûnderwerp Update in Ported Reference Platform om de prosedueres foar de folgjende taken te sketsen:
1.Exclusive de hurde prosessor systeem (HPS) blok yn it bestjoer partition
2.Updating de SD flash card ôfbylding
• Updated de Bouwe in SD Flash Card Image seksje. Oanrikkemandearre mei it brûken fan ferzje 14.0 fan it Golden System Reference Design (GSRD)-ôfbylding as útgongspunt ynstee fan de ôfbylding beskikber mei SoC Embedded Design Suite (EDS).
• Updated de Recompiling de Linux Kernel en de OpenCL Linux Kernel Driver seksje:
1.Added ynstruksje om de CROSS COMPILE fariabele yn te stellen.
2.Feroare it kommando dat jo útfiere om te kontrolearjen dat de CMA mei súkses ynskeakele is.
july-14 14.0.0 •Initial Release.

Dokuminten / Resources

intel FPGA SDK foar OpenCL [pdf] Brûkersgids
FPGA SDK foar OpenCL, FPGA SDK, SDK foar OpenCL, SDK

Referinsjes

Lit in reaksje efter

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden binne markearre *