intel - logoFPGA SDK OpenCL:lle
Käyttöopas

UG-OCL009
2017.05.08
Viimeksi päivitetty Intel® Quartus® Prime Design Suitelle: 17.0

RENPHO RF FM059HS WiFi Smart Foot Massager - kuvake 5Tilaa
SAMSUNG SM A136UZKZAIO Galaxy A13 5G älypuhelin - kuvake 12Lähetä palautetta

Intel® FPGA SDK OpenCL™:lle Intel® Cyclone®V SoC -kehityssarjan viitealustan porttiopas

V SoC Development Kit Reference Platform Porting Guide -opas kuvaa Intel Cyclone V SoC Development Kit -viitealustan (c5soc) laitteisto- ja ohjelmistosuunnittelua käytettäväksi Intelin ohjelmistokehityspaketin (SDK) kanssa OpenCL:lle. Intel ® FPGA SDK for OpenCL ™ Intel Cyclone ® . Ennen kuin aloitat, Intel suosittelee, että tutustut seuraavien asiakirjojen sisältöön:

  1. Intel FPGA SDK OpenCLIntel Cyclone V SoC -aloitusopas
  2. Intel FPGA SDK for OpenCL Custom Platform Toolkit -käyttöopas
  3. Cyclone V Device Handbook, osa 3: Hard Processor System Technical Reference Manual Katso lisäksi Alteran Cyclone V SoC -kehityspaketti ja SoC Embedded Design Suite -sivu. websivustolta lisätietoja. 1 2

Huomio: Intel olettaa, että sinulla on syvällinen ymmärrys Intel FPGA SDK for OpenCL Custom Platform Toolkit -käyttöoppaasta. Cyclone V SoC -kehityspaketin viitealustan siirtämisoppaassa ei kuvata SDK:n mukautetun alustan työkalupakin käyttöä mukautetun alustan toteuttamiseen Cyclone V SoC -kehityssarjalle. Se kuvaa vain eroja Cyclone V SoC -kehityspaketin SDK-tuen ja OpenCL Custom Platformin yleisen Intel FPGA SDK:n välillä.

Aiheeseen liittyviä linkkejä

  • Intel FPGA SDK OpenCL Cyclone V SoC -aloitusopas
  • Intel FPGA SDK for OpenCL Custom Platform Toolkit -käyttöopas
  • Cyclone V Device Handbook, osa 3: Hard Processor System Technical Reference Manual
  • Cyclone V SoC Development Kit ja SoC Embedded Design Suite -sivu Alterassa websivusto
  1. OpenCL ja OpenCL-logo ovat Apple Inc:n tavaramerkkejä, joita käytetään Khronos Group™:n luvalla.
  2. Intel FPGA SDK for OpenCL perustuu julkaistuun Khronos-spesifikaatioon ja on läpäissyt Khronosin vaatimustenmukaisuustestausprosessin. Nykyinen vaatimustenmukaisuustila löytyy osoitteesta www.khronos.org/conformance.

Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus ja Stratix sanat ja logot ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä Yhdysvalloissa ja/tai muissa maissa. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, ellei Intel ole nimenomaisesti kirjallisesti suostunut siihen. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita.
*Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.

1.1.1 Cyclone V SoC -kehityssarjan viitealustan korttivaihtoehdot
Intel FPGA SDK for OpenCL Cyclone V SoC Development Kit Reference Platform sisältää kaksi korttiversiota.

  • c5soc-levy
    Tämä oletuskortti tarjoaa pääsyn kahteen DDR-muistipankkiin. HPS DDR on käytettävissä sekä FPGA:lla että prosessorilla. FPGA DDR on käytettävissä vain FPGA:lla.
  • c5soc_sharedonly board
    Tämä korttiversio sisältää vain HPS DDR -yhteyden. FPGA DDR ei ole käytettävissä. Tämä levyversio on aluetehokkaampi, koska yhden DDR-muistipankin tukemiseen tarvitaan vähemmän laitteistoa. c5soc_sharedonly-levy on myös hyvä prototyyppialusta lopulliselle tuotantolevylle, jossa on yksi DDR-muistipankki.
    Jos haluat kohdistaa tämän levyversion OpenCL-ytimen kääntämisen, sisällytä -board c5soc_sharedonly -vaihtoehto aoc-komentoon.
    Lisätietoja -taulusta aoc-komennon vaihtoehto, katso Intel FPGA SDK for OpenCL Programming Guide.

Aiheeseen liittyviä linkkejä
Ytimen kääntäminen tietylle FPGA-kortille (-board )
1.1.2 Cyclone V SoC Development Kit -viitealustan sisältö
Cyclone V SoC -kehityssarjan viitealusta koostuu seuraavista files ja hakemistot:

File tai Hakemisto Kuvaus
board_env.xml eXtensible Markup Language (XML) file joka kuvaa c5soc:n Intel FPGA SDK:lle OpenCL:lle.
linux_sd_card_image.tgz Pakattu SD-flash-kortin kuva file joka sisältää kaiken, mitä SDK-käyttäjä tarvitsee käyttääkseen Cyclone V SoC -kehityspakettia SDK:n kanssa.
käsivarsi32 Hakemisto, joka sisältää seuraavat tiedot:

1.1.3 Cyclone V SoC -kehityssarjan olennaiset ominaisuudet

Seuraava luettelo korostaa Cyclone V SoC Development Kitin komponentteja ja ominaisuuksia, jotka liittyvät Intel FPGA SDK for OpenCL:lle:

  • Kaksiytiminen ARM Cortex-A9 -suoritin, jossa on 32-bittinen Linux.
  • Advanced eXtensible Interface (AXI) -väylä HPS:n ja FPGA-ydinkudoksen välillä.
  • Kaksi karkaistua DDR-muistiohjainta, joista jokainen liitetään 1 gigatavun (Gt) DDR3 SDRAM -muistiin.
    — Yksi DDR-ohjain on vain FPGA-ytimen (eli FPGA DDR:n) käytettävissä.
    — Toinen DDR-ohjain on sekä HPS:n että FPGA:n (eli HPS DDR:n) käytettävissä. Tämä jaettu ohjain mahdollistaa ilmaisen muistin jakamisen suorittimen ja FPGA-ytimen välillä.
  • CPU voi konfiguroida FPGA-ydinkudoksen uudelleen.

1.1.3.1 Cyclone V SoC -kehityssarjan viitealustan suunnittelutavoitteet ja päätökset Intel perustaa Cyclone V SoC -kehityssarjan viitealustan toteutuksen useisiin suunnittelutavoitteisiin ja päätöksiin. Intel suosittelee, että otat huomioon nämä tavoitteet ja päätökset, kun siirrät tämän viitealustan SoC FPGA -korttiisi.
Alla on c5soc-suunnittelun tavoitteet:

  1. Tarjoa suurin mahdollinen kaistanleveys FPGA:n ja DDR-muistijärjestelmän ytimien välillä.
  2. Varmista, että FPGA:n (eli OpenCL-ytimien) laskenta ei häiritse muita suorittimen tehtäviä, joihin saattaa sisältyä oheislaitteiden huolto.
  3. Jätä mahdollisimman paljon FPGA-resursseja ytimen laskentaan liitäntäkomponenttien sijaan.

Alla on korkean tason suunnittelupäätökset, jotka ovat suoria seurauksia Intelin suunnittelutavoitteista:

  1. Reference Platform käyttää vain kovia DDR-muistiohjaimia, joissa on laajin mahdollinen kokoonpano (256 bittiä).
  2. FPGA kommunikoi suoraan HPS DDR -muistiohjaimen kanssa ilman AXI-väylää ja HPS:n sisällä olevaa L3-kytkintä. Suora tiedonsiirto tarjoaa parhaan mahdollisen kaistanleveyden DDR:lle ja estää FPGA-laskennan häiritsemästä CPU:n ja sen oheislaitteiden välistä viestintää.
  3. Scatter-Gather Direct memory access (SG-DMA) ei ole osa FPGA-rajapintalogiikkaa. Sen sijaan, että siirrät suuria tietomääriä DDR-muistijärjestelmien välillä, tallenna tiedot jaettuun HPS DDR:ään. Suora pääsy CPU-muistiin FPGA:lla on tehokkaampaa kuin DMA. Se säästää laitteistoresursseja (eli FPGA-aluetta) ja yksinkertaistaa Linux-ytimen ohjainta.
    Varoitus: Muistin siirto jaetun HPS DDR -järjestelmän ja vain FPGA:n käytettävissä olevan DDR-järjestelmän välillä on erittäin hidasta. Jos päätät
    Siirrä muistia tällä tavalla, käytä sitä vain hyvin pienille tietomäärille.
  4. Isäntä ja laite suorittavat ei-DMA-tiedonsiirron toistensa välillä HPS-FPGA (H2F) -sillan kautta käyttämällä vain yhtä 32-bittistä porttia. Syynä on, että ilman DMA:ta Linux-ydin voi lähettää vain yhden 32-bittisen luku- tai kirjoituspyynnön, joten laajempi yhteys on tarpeeton.
  5. Isäntä lähettää ohjaussignaalit laitteelle kevyen H2F (LH2F) -sillan kautta.
    Koska ohjaussignaalit isännästä laitteeseen ovat matalan kaistanleveyden signaaleja, LH2F-silta on ihanteellinen tehtävään.

1.2 Viitealustan siirtäminen SoC FPGA -korttiin
Voit siirtää Cyclone V SoC -kehityssarjan viitealustan SoC FPGA -kortille suorittamalla seuraavat tehtävät:

  1. Valitse yksi DDR-muisti tai kaksi DDR-muistia c5soc Reference Platform -versiosta suunnittelusi aloituspisteeksi.
  2. Päivitä pintojen sijainnit tiedostossa ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, jossa ALTERAOCLSDKROOT on polku Intel FPGA SDK:n sijaintiin OpenCL-asennusta varten, ja on levyversion hakemistonimi. Hakemisto c5soc_sharedonly on levyversiolle, jossa on yksi DDR-muistijärjestelmä. C5soc-hakemisto on korttiversiolle, jossa on kaksi DDR-muistijärjestelmää.
  3.  Päivitä HPS- ja/tai FPGA-SDRAM-lohkojen DDR-asetukset kohdassa ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
    4. Kaikkien Intel FPGA SDK:n OpenCL-suosituille levymalleille on saavutettava taattu ajoitussulkeminen. Sellaisenaan mallin sijoittelun on oltava ajoituksen puhdas. Voit siirtää c5soc-levyosion (acl_iface_partition.qxp) SoC FPGA -kortille suorittamalla seuraavat tehtävät:
    Katso tarkemmat ohjeet levyosion muokkaamisesta ja säilyttämisestä Quartusista
    Prime Incremental Compilation hierarkkista ja tiimipohjaista suunnittelua varten Quartus Prime Standard Edition -käsikirjan luvussa.
    a. Poista acl_iface_partition.qxp ALTERAOCLSDKROOT/board/c5soc/c5soc-hakemistosta.
    b. Ota acl_iface_region LogicLock™-alue käyttöön muuttamalla Tcl-komento set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region arvoksi set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
    c. Käännä OpenCL-ydin levyllesi.
    d. Säädä tarvittaessa LogicLock-alueen kokoa ja sijaintia.
    e. Kun olet varma, että suunnittelusi sijoitus on ajoitettu puhdas, vie kyseinen osio acl_iface_partition.qxp Quartus Prime Exported -osiona File.
    Kuten AIntel FPGA SDK for OpenCL Custom Platform Toolkit -käyttöoppaan Taatun ajoituksen luominen -osiossa on kuvattu tuomalla tämä .qxp  file Huipputason suunnittelussa täytät vaatimuksen, jonka mukaan levysuunnittelu on taattu ajoitussulkuvirtauksella.
    Katso viedyn osion tulosten laatuun (QoR) vaikuttavista tekijöistä Intel FPGA SDK for OpenCL Custom Platform Toolkit -käyttöoppaan Exported Board Partition -osion tulosten yleiset laatunäkökohdat -osiossa.
    f. Poista acl_iface_region LogicLock-alue käytöstä palauttamalla vaiheessa 2 annettu komento takaisin arvoon set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region.
  4. Jos SoC FPGA -korttisi käyttää erilaisia ​​HPS-lohkon nastoja ja oheislaitteita, luo esilataaja ja laitepuulähde (DTS) uudelleen. file. Jos muutat HPS DDR -muistiohjaimen asetuksia, luo esilataaja uudelleen.
  5. Luo SD-flash-kortin kuva.
  6. Luo mukautettu alusta, joka sisältää SD-flash-kortin kuvan.
  7. Harkitse mukautetun alustan ajonaikaisen ympäristöversion luomista käytettäväksi Intel FPGA Runtime Environment (RTE) OpenCL:lle. Mukautetun alustasi RTE-versio ei sisällä laitteistohakemistoja ja SD-muistikortin kuvaa. Tämä mukautettu alusta latautuu SoC FPGA -järjestelmään, jotta isäntäsovellukset voivat toimia. Sen sijaan mukautetun alustan SDK-versio on välttämätön, jotta SDK voi kääntää OpenCL-ytimiä.
    Vinkki: Voit käyttää mukautetun alustasi SDK-versiota RTE:lle. säästääksesi
    tilaa, poista SD-flash-kortin kuva mukautetun alustasi RTE-versiosta.
  8. Testaa mukautettua alustaasi.
    Katso lisätietoja Intel FPGA SDK for OpenCL Custom Platform Toolkit -käyttöoppaan Hardware Design -osiosta.

Aiheeseen liittyviä linkkejä

  • Laitteiston suunnittelun testaus
  • Quartus Prime -inkrementaalinen kokoelma hierarkkista ja tiimipohjaista suunnittelua varten
  • Taatun ajoitusvirran luominen
  • Viedyn levyosion tulosten yleiset laatunäkökohdat

1.2.1 Siirretyn viitealustan päivittäminen
Cyclone V SoC Development Kit Reference Platformin nykyisessä versiossa HPS-lohko on osion sisällä, joka määrittää kaiken ei-kernellogiikan. Et kuitenkaan voi viedä HPS:ää osana .qxp-tiedostoa file. Jos haluat päivittää olemassa olevan mukautetun alustan, jota olet muokannut aiemmasta c5soc-versiosta, ota käyttöön QXP-säilytyskulku, päivitä SD-flash-kortin kuva saadaksesi uusimman suoritusympäristön ja päivitä board_spec.xml file automaation mahdollistamiseksi.
Altera® SDK OpenCL-versiolle 14.1 ja uudemmalle versiolle tutkii board_spec.xml file korttitietojen saamiseksi ja toteuttaa automaattiset päivitykset. Koska muokkaat
Suunnittele toteuttamalla QXP-säilytyskulku, sinun on päivitettävä board_spec.xml file sen nykyiseen muotoon. Päivitetään file sallii SDK:n erottaa säilyttämättömät mukautetut alustat ja nykyiset QXP-pohjaiset mukautetut alustat. Lisätietoja on Intel FPGA SDK for OpenCL Custom Platform Toolkit -käyttöoppaan kohdasta Custom Platform Automigration forward Compatibility.

  1. Voit ottaa QXP-säilöntävirran käyttöön Cyclone V SoC FPGA -laitteistossa, joka on siirretty aiemmasta c5soc-versiosta, luomalla aliosio, joka sulkee HPS:n pois .qxp:stä, suorittamalla seuraavat vaiheet. file:
    a. Ennen kuin luot osion ei-kernellogiikan ympärille, luo osio HPS:n ympärille .qsf Quartus Prime -asetuksissa. File.
    esimampseuraavat:
    # Osioita HPS-kohtaista I/O-sarjan_ilmentymän_määritystä mallintava ilmentymä manuaalisesti osiolle "system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_18261:hps_0|system_acl_ifacehpsio:"_0psio_psio| system_acl_iface_hps_0_hps_io_border:border" -section_id "system_acl_iface_hps_0_hps_io_border:border"
    # Aseta osio tyypiksi HPS_PARTITION, jotta muu Quartus käsittelee sen oikein
    set_global_assignment -nimi OSIOTYYPPI HPS_OSIO -osion_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_osio
    –incremental_compilation_export_post_synth=on
    –incremental_compilation_export_post_fit=on
    –incremental_compilation_export_routing=on
    –incremental_compilation_export_flatten=off
    Kun olet sulkenut HPS:n pois osiosta, voit tuoda .qxp:n file ja kokoa suunnitelmasi.
  2. Päivitä SD-flash-kortin kuva Intel FPGA RTE for OpenCL:n nykyisellä versiolla suorittamalla seuraavat tehtävät:
    a. Asenna file jakotaulukko (fat32) ja laajennettu file järjestelmä (ext3) -osiot olemassa olevassa kuvassa takaisinkytkentälaitteina. Katso yksityiskohtaiset ohjeet kohdasta 2 SD-muistikortin kuvan rakentaminen.
    b. Poista /home/root/opencl_arm32_rte-hakemistosta files RTE:n edellisestä versiosta.
    c. Lataa ja pura RTE:n nykyinen versio /home/root/opencl_arm32_rte-hakemistoon.
    d. Vuonna /driver/version.h file mukautetun alustasi, päivitä ACL_DRIVER_VERSION-määritys arvoon . (esimample, 16.1.x, jossa 16.1 on SDK-versio ja x on määrittämäsi ohjainversio).
    e. Rakenna ohjain uudelleen.
    f. Poista mukautetun alustasi laitteistokansio(t). Kopioi mukautettu alusta päivitetyn ohjaimen kanssa /home/root/opencl_arm_rte/board-hakemistoon.
    g. Kopioi Altera.icd file hakemistosta /home/root/opencl_arm32_rte ja lisää se /etc/OpenCL/vendors-hakemistoon.
    h. Irrota ja testaa uutta kuvaa. Tarkemmat ohjeet ovat kohdassa SD-flash-korttikuvan rakentaminen vaiheissa 8–11.

Aiheeseen liittyviä linkkejä

  • SD-muistikortin kuvan luominen sivulla 14
    Voit myös luoda uuden SD-flash-kortin kuvan.
  • Mukautettu alustan automatisointi eteenpäinyhteensopivuutta varten

1.3 Ohjelmistotuki jaetulle muistille
Jaettu fyysinen muisti FPGA:n ja CPU:n välillä on suositeltu muisti OpenCL-ytimille, jotka toimivat SoC FPGA:illa. Koska FPGA käyttää jaettua fyysistä muistia, toisin kuin jaettu virtuaalimuisti, sillä ei ole pääsyä suorittimen sivutaulukoihin, jotka yhdistävät käyttäjien virtuaaliosoitteet fyysisten sivujen osoitteisiin.
Mitä tulee laitteistoon, OpenCL-ytimet pääsevät jaettuun fyysiseen muistiin suoran yhteyden kautta HPS DDR -kiintomuistiohjaimeen. Mitä tulee ohjelmistoon, jaetun fyysisen muistin tuki sisältää seuraavat näkökohdat:

  1. Tyypillisiä ohjelmistototeutuksia CPU:n muistin varaamiseen (esimample, malloc()-funktio) ei voi varata muistialuetta, jota FPGA voi käyttää.
    Muisti, jonka malloc()-funktio varaa, on vierekkäin virtuaalisen muistin osoiteavaruudessa, mutta taustalla olevat fyysiset sivut eivät todennäköisesti ole fyysisesti vierekkäisiä. Sellaisenaan isännän on kyettävä allokoimaan fyysisesti vierekkäisiä muistialueita. Tätä kykyä ei kuitenkaan ole Linuxin käyttäjäavaruussovelluksissa. Siksi Linux-ytimen ohjaimen on suoritettava allokointi.
  2. OpenCL SoC FPGA Linux -ytimen ajuri sisältää mmap()-funktion jaetun fyysisen muistin varaamiseksi ja sen yhdistämiseksi käyttäjätilaan. mmap()-funktio käyttää tavallista Linux-ytimen kutsua dma_alloc_coherent() pyytääkseen fyysisesti vierekkäisiä muistialueita laitteen jakamista varten.
  3. Linuxin oletusytimessä dma_alloc_coherent() ei varaa fyysisesti vierekkäistä muistia, jonka koko on yli 0.5 megatavua (MB). Jotta dma_alloc_coherent() voi varata suuria määriä fyysisesti vierekkäistä muistia, ota Linux-ytimen vierekkäisen muistin allokaattori (CMA) käyttöön ja käännä sitten Linux-ydin uudelleen.
    Cyclone V SoC Development Kit Reference Platform -alustan osalta CMA hallitsee 512 megatavua 1 Gt:n fyysisestä muistista. Voit suurentaa tai pienentää tätä arvoa sovelluksen tarvitseman jaetun muistin määrän mukaan. Kutsu dma_alloc_coherent() ei ehkä pysty varaamaan koko 512 megatavua fyysisesti vierekkäistä muistia; Se voi kuitenkin rutiininomaisesti hankkia noin 450 megatavua muistia.
  4. CPU voi tallentaa välimuistiin, jonka dma_alloc_coherent()-kutsu varaa. Erityisesti isäntäsovelluksen kirjoitustoiminnot eivät näy OpenCL-ytimille. OpenCL SoC FPGA Linux -ytimen ajurin mmap()-funktio sisältää myös kutsuja pgprot_noncached()- tai remap_pf_range()-funktiolle, joka poistaa välimuistin nimenomaisesti käytöstä tällä muistialueella.
  5. Kun funktio dma_alloc_coherent() on varannut fyysisesti vierekkäisen muistin, mmap()-funktio palauttaa virtuaalisen osoitteen alueen alkuun, joka on varaamasi muistin osoiteväli. Isäntäsovellus vaatii tämän virtuaalisen osoitteen käyttääkseen muistia. Toisaalta OpenCL-ytimet vaativat fyysisiä osoitteita. Linux-ytimen ajuri seuraa virtuaali-fyysisen osoitteen yhdistämistä. Voit kartoittaa fyysiset osoitteet, jotka mmap() palauttaa todellisiin fyysisiin osoitteisiin lisäämällä kyselyn ohjaimeen.
    Aocl_mmd_shared_mem_alloc() MMD Application Programming Interface (API) -kutsu sisältää seuraavat kyselyt:
    a. mmap()-funktio, joka varaa muistia ja palauttaa virtuaaliosoitteen.
    b. Ylimääräinen kysely, joka yhdistää palautetun virtuaaliosoitteen fyysiseen osoitteeseen.
    Aocl_mmd_shared_mem_alloc() MMD API -kutsu palauttaa sitten kaksi osoitetta
    -todellinen palautettu osoite on virtuaalinen osoite, ja fyysinen osoite menee osoitteeseen device_ptr_out.
    Huomautus: Ajuri voi kartoittaa vain virtuaaliosoitteet, jotka mmap()-funktio palauttaa fyysisiin osoitteisiin. Jos pyydät minkä tahansa muun virtuaalisen osoittimen fyysistä osoitetta, ohjain palauttaa NULL-arvon.

Varoitus: Intel FPGA SDK OpenCL-ajonaikaisille kirjastoille olettaa, että jaettu muisti on ensimmäinen board_spec.xml-tiedostossa lueteltu muisti. file. Toisin sanoen, fyysinen osoite, jonka Linux-ytimen ajuri saa, tulee Avalon®-osoitteeksi, jonka OpenCL-ydin välittää HPS SDRAM:iin.
Mitä tulee ajonaikaiseen kirjastoon, käytä clCreateBuffer()-kutsua varataksesi jaetun muistin laitepuskuriksi seuraavalla tavalla:

  • Kahden DDR-levyn muunnelmassa, jossa on sekä jaettua että ei-jaettua muistia, clCreateBuffer() varaa jaetun muistin, jos määrität lipun CL_MEM_USE_HOST_PTR. Muiden lippujen käyttäminen saa clCreateBuffer() -ohjelman varaamaan puskurin jaetussa muistissa.
  • Yhden DDR-levyn versiolle, jossa on vain jaettu muisti, clCreateBuffer() varaa jaetun muistin riippumatta määrittämästäsi lipusta.
    Tällä hetkellä 32-bittinen Linux-tuki ARM-suorittimessa säätelee jaetun muistin tuen laajuutta SDK-ajonaikaisissa kirjastoissa. Toisin sanoen ajonaikaiset kirjastot, jotka on käännetty muihin ympäristöihin (esimample, x86_64 Linux tai 64-bittinen Windows) eivät tue jaettua muistia.
    C5soc ei ottanut käyttöön heterogeenista muistia erottaakseen jaetun ja jaettoman muistin seuraavista syistä:
    1. Historia – Heterogeenisen muistin tuki ei ollut käytettävissä, kun jaetun muistin tuki luotiin alun perin.
    2. Yhtenäinen käyttöliittymä – Koska OpenCL on avoin standardi, Intel ylläpitää johdonmukaisuutta heterogeenisten laskenta-alustojen toimittajien välillä. Siksi jaetun muistin varaamiseen ja käyttöön käytetään samaa käyttöliittymää kuin muiden levyvalmistajien arkkitehtuureissa.

1.4 FPGA:n uudelleenmääritys
SoC FPGA:issa CPU voi konfiguroida FPGA-ydinkudoksen uudelleen keskeyttämättä CPU:n toimintaa. FPGA Manager -laitteistolohko, joka sijaitsee HPS:n ja ydin-FPGA:n välillä, suorittaa uudelleenkonfiguroinnin. Linux-ydin sisältää ohjaimen, joka mahdollistaa helpon pääsyn FPGA Manageriin.

  • Vastaanottaja view FPGA-ytimen tila, kutsu cat /sys/class/fpga/fpga0/ status-komento.
    Intel FPGA SDK for OpenCL -apuohjelma, joka on saatavana Cyclone V SoC Development Kit Reference Platform -alustan kanssa, käyttää tätä käyttöliittymää FPGA:n ohjelmoimiseen. Kun FPGA-ydin ohjelmoidaan uudelleen käynnissä olevan CPU:n kanssa, ohjelman apuohjelma suorittaa kaikki seuraavat tehtävät:
    1. Ennen uudelleenohjelmointia poista käytöstä kaikki tietoliikennesillat FPGA:n ja HPS:n välillä, sekä H2F- että LH2F-sillat.
    Ota nämä sillat uudelleen käyttöön, kun uudelleenohjelmointi on valmis.
    Huomio: OpenCL-järjestelmä ei käytä FPGA-HPS (F2H) -siltaa. Katso lisätietoja kohdasta HPS-FPGA-liitännät Cyclone V Device Handbook, osa 3: Hard Processor System Technical Reference Manual.
    2. Varmista, että FPGA:n ja HPS DDR -ohjaimen välinen yhteys on poistettu käytöstä uudelleenohjelmoinnin aikana.
    3. Varmista, että FPGA:n FPGA-keskeytykset on poistettu käytöstä uudelleenohjelmoinnin aikana.
    Pyydä myös kuljettajaa hylkäämään kaikki FPGA:n keskeytykset uudelleenohjelmoinnin aikana.

Katso ohjelman lähdekoodista lisätietoja varsinaisesta toteutuksesta.

Varoitus: Älä muuta HPS DDR -ohjaimen kokoonpanoa suorittimen ollessa käynnissä.
Tämä voi aiheuttaa kohtalokkaan järjestelmävirheen, koska saatat muuttaa DDR-ohjaimen kokoonpanoa, kun suorittimesta on jäljellä muistitapahtumia. Tämä tarkoittaa, että CPU:n ollessa käynnissä et voi ohjelmoida FPGA-ydintä uudelleen kuvalla, joka käyttää HPS DDR:tä eri kokoonpanossa.
Muista, että OpenCL-järjestelmä ja Intel SoC FPGA Embedded Design Suiten (EDS) kanssa saatavilla oleva Golden Hardware -viitesuunnittelu asettaa HPS DDR:n yhteen 256-bittiseen tilaan.
CPU-järjestelmän osat, kuten haaran ennustaja tai sivutaulukon esihaku, voivat antaa DDR-komentoja, vaikka näyttää siltä, ​​ettei suorittimessa ole käynnissä mitään.
Siksi käynnistysaika on ainoa turvallinen aika määrittää HPS DDR -ohjaimen kokoonpano.
Tämä tarkoittaa myös, että U-bootissa on oltava raaka binaari file (.rbf) -kuva ladataksesi muistiin. Muussa tapauksessa saatat ottaa HPS DDR:n käyttöön FPGA:n käyttämättömillä porteilla ja mahdollisesti muuttaa porttiasetuksia myöhemmin. Tästä syystä OpenCL Linux -ytimen ajuri ei enää sisällä HPS DDR -ohjaimen määrittämiseen tarvittavaa logiikkaa.
SW3 dual in-line -paketti (DIP) kytkee päälle Cylone V SoC -kehityssarjan ohjaamaan .rbf-kuvan odotettua muotoa (eli onko file on pakattu ja/tai salattu). C5soc ja SoC EDS:n kanssa saatavilla oleva Golden Hardware Reference Design sisältävät pakattuja mutta salaamattomia .rbf-kuvia. Intel FPGA SDK for OpenCL Cyclone V SoC -aloitusoppaassa kuvatut SW3 DIP-kytkimen asetukset vastaavat tätä .rbf-kuvakokoonpanoa.

Aiheeseen liittyviä linkkejä

  • HPS-FPGA-liitännät
  • SW3-kytkimien konfigurointi

1.4.1 FPGA-järjestelmäarkkitehtuurin tiedot
Tuki Cyclone V SoC -kehityspakkaukselle perustuu Stratix® V Reference Platform -alustaan ​​(s5_ref), joka on saatavana Intel FPGA SDK:n kanssa OpenCL:lle.
C5soc Qsys -järjestelmän ja ytimen ajurin yleinen organisaatio on hyvin samanlainen kuin s5_ref.
Seuraavat FPGA-ydinkomponentit ovat samat sekä c5socissa että s5_refissä:

  • VERSION_ID esto
  • Lepomekanismi
  • Muistipankin jakaja
  • Välimuistin snoop-käyttöliittymä
  • Ytimen kello
  • Ohjaa rekisterin pääsyn (CRA) lohkoja

1.5 SD-muistikortin kuvan luominen
Koska Cyclone V SoC FPGA on täysi järjestelmä sirulla, olet vastuussa järjestelmän täydellisen määritelmän toimittamisesta. Intel suosittelee, että toimitat sen SD-muistikortin kuvana. Intel FPGA SDK for OpenCL -käyttäjä voi yksinkertaisesti kirjoittaa kuvan micro SD -flash-kortille ja SoC FPGA -kortti on valmis käytettäväksi.
Olemassa olevan SD-muistikortin kuvan muokkaaminen sivulla 13
Intel suosittelee, että muokkaat vain Cyclone V SoC -kehityspaketin viitealustan avulla saatavilla olevaa kuvaa. Voit myös luoda uuden SD-flash-kortin kuvan.
SD-muistikortin kuvan luominen sivulla 14
Voit myös luoda uuden SD-flash-kortin kuvan.

1.5.1 Olemassa olevan SD-muistikortin kuvan muokkaaminen
Intel suosittelee, että muokkaat vain Cyclone V SoC:lla saatavilla olevaa kuvaa
Kehityspaketin viitealusta. Voit myös luoda uuden SD-flash-kortin kuvan.
c5soc linux_sd_card_image.tgz-kuva file on saatavilla ALTERAOCLSDKROOT/board/c5soc-hakemistossa, jossa ALTERAOCLSDKROOT osoittaa Intel FPGA SDK:n polkuun OpenCL:n asennushakemistoa varten.

Huomio: Jotta voit muokata SD-flash-kortin kuvaa, sinulla on oltava pääkäyttäjän tai sudo-oikeudet.

  1. Pakkauksen purkaminen $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, suorita tar xvfzlinux_sd_card_image.tgz-komento.
  2. Kääntää hello_world OpenCL exampsuunnittelua käyttämällä mukautetun alustan tukea. Nimeä .rbf uudelleen file jonka Intel FPGA SDK for OpenCL Offline Compiler luo muodossa opencl.rbf, ja sijoita se fat32-osioon SD-flash-kortin kuvan sisällä.
    Voit ladata hello_world example design OpenCL Design Exiltäamples -sivulla Alterassa websivusto.
  3. Aseta .rbf file flash-kortin kuvan fat32-osioon.
    Huomio: Fat32-osion on sisällettävä sekä zImage file ja .rbf file. Ilman .rbf:tä file, tapahtuu vakava virhe, kun asetat ohjaimen paikalleen.
  4. Kun olet luonut SD-kortin kuvan, kirjoita se mikro-SD-kortille käynnistämällä seuraava komento: sudo dd if=/polku/sdcard/image.bin of=/dev/sdcard
  5. Voit testata SD-muistikorttisi kuvaa suorittamalla seuraavat tehtävät:
    a. Aseta micro SD -muistikortti SoC FPGA -korttiin.
    b. Kytke laudalle virta.
    c. Kutsu aocl diagnose -apuohjelman komento.

1.5.2 SD-muistikortin kuvan luominen
Voit myös luoda uuden SD-flash-kortin kuvan. Yleiset ohjeet uuden SD-flash-korttikuvan rakentamiseen ja olemassa olevan SD-muistikortin kuvan rakentamiseen ovat saatavilla RocketBoards.orgin GSRD v14.0.2 – SD Card -sivulla. websivusto.
Alla olevat vaiheet kuvaavat prosessia linux_sd_card_image.tgz-kuvan luomiseksi Golden System Reference Design (GSRD) -SD-flash-kortin kuvasta:
Huomautus:
Jos haluat luoda kuvan c5soc-kuvasta, suorita kaikki tässä menettelyssä kuvatut tehtävät.

  1. Lataa ja pura GSRD SD -muistikortin kuvaversio 14.0 Rocketboards.org:sta.
  2. Asenna file jakotaulukko (fat32) ja laajennettu file järjestelmä (ext3) -osiot tässä kuvassa takaisinkytkentälaitteina. Voit asentaa osion suorittamalla seuraavat vaiheet:
    a. Määritä kuvan sisällä olevan osion tavualku kutsumalla /sbin/fdisk -lu image_file komento.
    esimample, tyypin W1 FAT osion numero 95 lohkosiirtymä on 2121728. Kun lohko on 512 tavua, tavupoikkeama on 512 tavua x 2121728 = 1086324736 tavua.
    b. Tunnista vapaan silmukan laite (esimample, /dev/loop0) kirjoittamalla komennon losstup -f.
    c. Olettaen, että /dev/loop0 on vapaan silmukan laite, määritä flash-korttisi kuva silmukkalohkolaitteelle kutsumalla Lostup /dev/loop0 image_file -0 1086324736 komento.
    d. Asenna silmukkalaite käynnistämällä mount /dev/loop0 /media/disk1-komento.
    Kuvan sisällä file, /media/disk1 on nyt asennettu fat32-osio.
    e. Toista vaiheet a–d ext3-osiolle.
  3. Lataa Cyclone V SoC FPGA -versio Intel FPGA Runtime Environment for OpenCL -paketista Alteran latauskeskuksesta websivusto.
    a. Napsauta Quartus Prime -ohjelmistoversion vieressä olevaa Lataa-painiketta.
    b. Määritä julkaisuversio, käyttöjärjestelmä ja lataustapa.
    c. Napsauta Lisäohjelmistot-välilehteä ja valitse ladataksesi Intel FPGA
    Ajonaikainen ympäristö OpenCL Linux Cyclone V SoC TGZ:lle.
    d. Kun olet ladannut aocl-rte- .arm32.tgz file, pura se pakkauksestasi
    omistamasi hakemisto.
  4. Aseta pakkaamaton aocl-rte- .arm32-hakemisto kuvan ext32-osion /home/root/opencl_arm3_rte-hakemistoon file.
  5. Poista mukautetun alustasi laitteistokansio(t) ja aseta sitten mukautettu alusta /home/root/opencl_arm32_rte levyalihakemistoon.
  6. Luo tiedosto init_opencl.sh file /home/root-hakemistossa, jossa on seuraava sisältö: export ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ vienti PATH=$ALTERAOCLSDKROOT/bin:$PATH vienti LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    SDK-käyttäjä suorittaa lähdekoodin ./init_opencl.sh-komennon ympäristömuuttujien ja OpenCL Linux -ytimen ohjaimen lataamiseksi.
  7. Jos sinun on päivitettävä esilataaja, DTS files tai Linux-ydin, tarvitset arm-linux-gnueabihf-gcc-kääntäjän SoC EDS:stä. Noudata Intel SoC FPGA Embedded Design Suite -käyttöoppaan ohjeita hankkiaksesi ohjelmiston, kääntääksesi ne uudelleen ja päivittääksesi asianmukainen files asennetussa fat32-osiossa.
    Huomio: Todennäköisimmin sinun on päivitettävä esilataaja, jos mukautetussa alustassasi on eri PIN-käytöt kuin c5socissa.
    Muista: Jos käännät Linux-ytimen uudelleen, käännä Linux-ytimen ohjain uudelleen samalla Linux-ytimen lähteellä files. Jos Linux-ytimen ohjaimen ja Linux-ytimen välillä on ristiriita, ohjain ei lataudu. Sinun on myös otettava CMA käyttöön.
    Katso lisätietoja kohdasta Linux-ytimen uudelleenkääntäminen.
  8. Kääntää hello_world OpenCL exampsuunnittelua käyttämällä mukautetun alustan tukea. Nimeä .rbf uudelleen file jonka Intel FPGA SDK for OpenCL Offline Compiler luo muodossa opencl.rbf, ja sijoita se fat32-osioon SD-flash-kortin kuvan sisällä.
    Voit ladata hello_world example design OpenCL Design Exiltäamples -sivulla Alterassa websivusto.
    9. Kun olet tallentanut kaikki tarvittavat files flash-kortin kuvaan, kutsu seuraavat komennot:
    a. synkronoida
    b. irrota /media/disk1
    c. irrota jossa on hakemiston nimi, jota käytät ext3-osion liittämiseen sivulla 3 kohdassa 3 (esim.ample, /media/levy2).
    d. losstup -d /dev/loop0
    e. losstup -d /dev/loop1
  9. Pakkaa SD-muistikortin kuva käynnistämällä seuraava komento: tar cvfz .tgz linux_sd_card_image
  10. Toimita .tgz file mukautetun alustasi juurihakemistossa.
  11. Voit testata SD-muistikorttisi kuvaa suorittamalla seuraavat tehtävät:
    a. Kirjoita tuloksena oleva pakkaamaton kuva micro SD -muistikortille.
    b. Aseta micro SD -muistikortti SoC FPGA -korttiin.
    c. Kytke laudalle virta.
    d. Kutsu aocl diagnose -apuohjelman komento.

Aiheeseen liittyviä linkkejä

  • Intel SoC FPGA Embedded Design Suite -käyttöopas
  • OpenCL Design Examples -sivulla Alterassa websivusto
  • Linux-ytimen kääntäminen uudelleen sivulla 16
    Jotta voit ottaa CMA:n käyttöön, sinun on ensin käännettävä uudelleen Linux-ydin.
  • FPGA-korttisi laitteen nimen kysyminen (diagnoosi)

1.6 Linux-ytimen kääntäminen Cyclone V SoC FPGA:lle
Ennen kuin käytät OpenCL-sovelluksia Cyclone V SoC FPGA -kortilla, sinun on käännettävä Linux-ytimen lähde ja käännettävä ja asennettava OpenCL Linux -ytimen ohjain.

  1. Linux-ytimen kääntäminen uudelleen sivulla 16
    Jotta voit ottaa CMA:n käyttöön, sinun on ensin käännettävä uudelleen Linux-ydin.
  2. OpenCL Linux -ytimen ohjaimen kääntäminen ja asentaminen sivulla 17 Käännä OpenCL Linux -ytimen ohjain käännettyä ydinlähdettä vastaan.

1.6.1 Linux-ytimen kääntäminen uudelleen
Jotta voit ottaa CMA:n käyttöön, sinun on ensin käännettävä uudelleen Linux-ydin.

  1. Napsauta RocketBoards.orgin Resurssit-sivulla olevaa linkkiä GSRD v14.0 – Compiling Linux web-sivustolta saat ohjeita Linux-ytimen lähdekoodin lataamiseen ja uudelleen rakentamiseen.
    Määritä socfpga-3.13-rel14.0 käytettäväksi™ Intel FPGA SDK for OpenCL:n kanssa. .
  2. Huomautus: Rakennusprosessi luo arch/arm/configs/socfpga_defconfig file. Tämä file määrittää socfpga-oletuskokoonpanon asetukset.
    Lisää seuraavat rivit arch/arm/configs/socfpga_defconfig alaosaan 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
    Kokoonpanoarvo CONFIG_CMA_SIZE_MBYTES asettaa ylärajan käytettävissä olevan fyysisesti vierekkäisen muistin kokonaismäärälle. Voit suurentaa tätä arvoa, jos tarvitset lisää muistia.
  3. Huomio: ARM-prosessorin käytettävissä oleva fyysinen muisti SoC FPGA -kortilla on yhteensä 1 Gt. Intel ei suosittele, että asetat CMA-hallinnan lähelle 1 Gt.
  4. Suorita make mrproper -komento puhdistaaksesi nykyinen kokoonpano.
  5. Suorita make ARCH=arm socfpga_deconfig -komento.
    ARCH=arm ilmaisee, että haluat määrittää ARM-arkkitehtuurin.
    socfpga_defconfig osoittaa, että haluat käyttää socfpga-oletuskokoonpanoa.
  6. Suorita vienti CROSS_COMPILE=arm-linux-gnueabihf-komento.
    Tämä komento asettaa CROSS_COMPILE-ympäristömuuttujan määrittämään halutun työkaluketjun etuliitettä.
  7. Suorita make ARCH=arm zImage -komento. Tuloksena oleva kuva on saatavilla kansiossa arch/arm/boot/zImage file.
  8. Aseta zImage file flash-kortin kuvan fat32-osioon. Katso yksityiskohtaiset ohjeet Cyclone V SoC FPGA -spesifisessä GSRD User Manual -oppaassa osoitteessa Rocketboards.org.
  9. Huomautus: Aseta OpenCL Linux -ytimen ajuri oikein lataamalla ensin SDKgenerated.rbf file FPGA:lle.
    Luodaksesi .rbf file, käännä SDK-suunnittelu esimample Cyclone V SoC -kehityssarjan viitealustan kanssa kohdistetuksi mukautetuksi alustaksi.
    9. Aseta .rbf file flash-kortin kuvan fat32-osioon.
    Huomio: fat32-osion on sisällettävä sekä zImage file ja .rbf file. Ilman .rbf:tä file, tapahtuu vakava virhe, kun asetat ohjaimen paikalleen.
  10. Aseta ohjelmoitu micro SD -kortti, joka sisältää muokkaamasi tai aiemmin luomasi SD-kortin kuvan, Cyclone V SoC -kehityssarjaan ja käynnistä sitten SoC FPGA -kortti.
  11. Tarkista asennetun Linux-ytimen versio suorittamalla uname -r -komento.
  12. Varmistaaksesi, että CMA on otettu käyttöön onnistuneesti ytimessä, kun SoC FPGA -kortti on päällä, suorita komento grep init_cma /proc/kallsyms.
    CMA on käytössä, jos lähtö ei ole tyhjä.
  13. Jos haluat käyttää uudelleen käännettyä Linux-ydintä SDK:n kanssa, käännä ja asenna Linux-ytimen ohjain.

Aiheeseen liittyviä linkkejä

  • Golden System Reference Design (GSRD) -käyttöoppaat
  • SD-muistikortin kuvan rakentaminen sivulla 13
    Koska Cyclone V SoC FPGA on täysi järjestelmä sirulla, olet vastuussa järjestelmän täydellisen määritelmän toimittamisesta.

1.6.2 OpenCL Linux -ytimen ohjaimen kääntäminen ja asentaminen
Käännä OpenCL Linux -ytimen ohjain käännettyä ydinlähdettä vastaan.

Ohjainlähde on saatavilla Cyclone V SoC FPGA -versiossa Intel FPGA Runtime Environment for OpenCL:lle. Varmista lisäksi, että olet ladannut Intelin FPGA SDK:n OpenCL:n luomaa .rbf:tä varten file FPGA:han estääksesi Linux-ydinmoduulin virheellisen asennuksen.

  1. Lataa Cyclone V SoC FPGA -versio Intel FPGA Runtime Environment for OpenCL -paketista Alteran latauskeskuksesta websivusto.
    a. Napsauta Quartus Prime -ohjelmistoversion vieressä olevaa Lataa-painiketta.
    b. Määritä julkaisuversio, käyttöjärjestelmä ja lataustapa.
    c. Napsauta Lisäohjelmistot-välilehteä ja valitse ladataksesi Intel FPGA
    Ajonaikainen ympäristö OpenCL Linux Cyclone V SoC TGZ:lle.
    d. Kun olet ladannut aocl-rte- .arm32.tgz file, pura se pakkauksestasi
    omistamasi hakemisto.
    Ajurin lähde on aocl-rte- .arm32/board/c5soc/ ohjainhakemisto.
  2. Kääntääksesi OpenCL Linux -ytimen ohjaimen uudelleen, aseta KDIR-arvo ohjaimen Make-kohtaanfile hakemistoon, joka sisältää Linux-ytimen lähteen files.
  3. Suorita vienti CROSS_COMPILE=arm-linux-gnueabihf- komento osoittaaksesi työkaluketjusi etuliite.
  4. Suorita make clean -komento.
  5. Luo aclsoc_drv.ko suorittamalla make-komento file.
  6. Siirrä opencl_arm32_rte-hakemisto Cyclone V SoC FPGA -kortille.
    Scp -r:n suorittaminen root@IP-osoitteesi: komento sijoittaa ajonaikaisen ympäristön/home/root-hakemistoon.
  7. Suorita init_opencl.sh-skripti, jonka loit SD-korttikuvan luomisen yhteydessä.
  8.  Kutsu aocl diagnose -apuohjelman komento. Diagnoosiapuohjelma palauttaa läpäisevän tuloksen, kun init_opencl.sh on suoritettu onnistuneesti.

1.7 Tunnetut ongelmat
Tällä hetkellä Intel FPGA SDK:n käytölle OpenCL:ssä on tiettyjä rajoituksia Cyclone V SoC Development Kit -viitealustan kanssa.

  1. Et voi ohittaa clGetDeviceInfo()-kutsun merkkijonojen CL_DEVICE_VENDOR ja CL_DEVICE_NAME ilmoittamia toimittajan ja levyn nimiä.
  2. Jos isäntä varaa jatkuvaa muistia jaetussa DDR-järjestelmässä (eli HPS DDR:ssä) ja se muuttaa vakiomuistia ytimen suorittamisen jälkeen, muistissa olevat tiedot saattavat vanhentua. Tämä ongelma ilmenee, koska FPGA-ydin ei pysty nuuskimaan suorittimen ja HPS:n välisiä DDR-tapahtumia.
    Estä myöhempiä ytimen suorituksia pääsemästä vanhentuneisiin tietoihin toteuttamalla jokin seuraavista kiertotavoista:
    • Älä muuta vakiomuistia sen alustamisen jälkeen.
    • Jos tarvitset useita __vakiotietojoukkoja, luo useita vakiomuistipuskureita.
    • Varaa vakiomuistia kiihdytinkortin FPGA DDR:ään, jos se on käytettävissä.
  3. ARM:n SDK-apuohjelma tukee vain ohjelman ja diagnosointiapuohjelman komentoja.
    Flash-, install- ja uninstall-apuohjelman komennot eivät sovellu Cyclone V SoC -kehityssarjaan seuraavista syistä:
    a. Asennusapuohjelman on käännettävä aclsoc_drv Linux-ytimen ohjain ja otettava se käyttöön SoC FPGA:ssa. Kehityskoneen on suoritettava käännös; Se sisältää kuitenkin jo Linux-ytimen lähteitä SoC FPGA:lle. Kehityskoneen Linux-ydinlähteet eroavat SoC FPGA:n ydinlähteistä. SoC FPGA:n Linux-ytimen lähteiden sijainti ei todennäköisesti ole SDK-käyttäjälle tiedossa. Samoin asennuksen poisto-apuohjelma ei ole myöskään Cyclone V SoC -kehityspaketin käytettävissä.
    Lisäksi aclsoc_drv:n toimittaminen SoC-kortille on haastavaa, koska Cyclone V SoC Development Kitin oletusjakelu ei sisällä Linux-ydintä. files tai GNU Compiler Collection (GCC) -kääntäjä.
    b. Flash-apuohjelma vaatii .rbf-tiedoston asettamisen file OpenCL-mallin microSD-muistikortin FAT32-osioon. Tällä hetkellä tätä osiota ei ole asennettu, kun SDK-käyttäjä käynnistää levyn. Siksi paras tapa päivittää osio on käyttää flash-kortinlukijaa ja kehityskonetta.
  4. Kun vaihdetaan Intel FPGA SDK for OpenCL Offline Compiler -suoritustiedoston välillä files (.aocx), jotka vastaavat eri levyversioita (eli c5soc ja c5soc_sharedonly), sinun on ladattava .aocx SDK:n ohjelma-apuohjelmalla. file uudelle lautaversiolle ensimmäistä kertaa. Jos yksinkertaisesti suoritat isäntäsovelluksen käyttämällä uutta levyversiota, mutta FPGA sisältää kuvan toisesta levyversiosta, voi tapahtua kohtalokas virhe.
  5. .qxp file ei sisällä liitäntäosion määrityksiä, koska Quartus Prime -ohjelmisto täyttää jatkuvasti tämän osion ajoitusvaatimukset.
  6. Kun käynnistät kortin, sen MAC-osoite asetetaan satunnaiseen numeroon. Jos lähiverkkokäytäntösi ei salli tätä toimintaa, aseta MAC-osoite suorittamalla seuraavat tehtävät:
    a. Paina mitä tahansa näppäintä U-Bootin käynnistyksen aikana avataksesi U-Boot-komentokehotteen.
    b. Kirjoita komentokehotteeseen setenv ethaddr 00:07:ed:00:00:03.
    Voit valita minkä tahansa MAC-osoitteen.
    c. Kirjoita saveenv-komento.
    d. Käynnistä lauta uudelleen.

1.8 Asiakirjan versiohistoria
Taulukko 1.
Dokumentoi OpenCL Cyclone V SoC:n Intel FPGA SDK:n versiohistoria
Development Kit Reference Platform Porting Guide

Päivämäärä Versio Muutokset
toukokuu-17 2017.05.08 •Huoltovapautus.
Lokakuu 2016 2016.10.31 •Uudelleenbrändätty Altera SDK OpenCL:lle Intel FPGA SDK:ksi OpenCL:lle.
• Altera Offline Compiler -brändi uudelleen Intel FPGA SDK:ksi OpenCL Offline -kääntäjälle.
toukokuu-16 2016.05.02 • Muokatut ohjeet SD-flash-kortin kuvan rakentamiseen ja muokkaamiseen.
• Muokatut ohjeet Linux-ytimen ja OpenCL Linux -ytimen ohjaimen uudelleenkääntämiseen.
marraskuuta-15 2015.11.02 •Huoltojulkaisu ja Quartus II:n esiintymät vaihdettiin Quartus Primeksi.
toukokuu-15 15.0.0 • FPGA-uudelleenmäärittelyssä poistettiin ohje ohjelmoida FPGA-ydin uudelleen
kanssa . rbf-kuva kutsumalla kissa filenimi>. rbf
> /dev/ fpga0-komento, koska tätä menetelmää ei suositella.
Joulukuu-14 14.1.0 •Asiakirja nimettiin uudelleen Altera Cyclone V SoC -kehityssarjan viitealustan siirtämisoppaaksi.
• Päivitetty uudelleenohjelmointiapuohjelma aocl-ohjelmaanfilename>.aocx-apuohjelman komento.
•Päivitetty diagnostiikka-apuohjelma aocl-diagnoosille ja aocl-diagnoosille apuohjelman komento.
•Päivitetty Viitealustan siirtäminen SoC-korttiisi -osiossa sisältämään ohjeet c5soc-levyosion siirtämisestä ja muokkaamisesta ajoituksen puhdistamisen osion luomiseksi taattua ajoituksen sulkemisvirtaa varten.
•Lisättiin aihe Siirretyn viitealustan päivittäminen hahmottelemaan seuraavia tehtäviä:
1.Lukuun ottamatta kovaprosessorijärjestelmän (HPS) lohkoa kortin osiossa
2. SD-flash-kortin kuvan päivittäminen
•Päivitetty SD-muistikortin kuvan rakentaminen -osio. Suositellaan käyttämään Golden System Reference Design (GSRD) -kuvan versiota 14.0 lähtökohtana SoC Embedded Design Suiten (EDS) saatavan kuvan sijaan.
• Päivitetty Linux-ytimen uudelleenkääntäminen ja OpenCL Linux Kernel Driver -osio:
1.Lisätty ohje CROSS COMPILE -muuttujan asettamiseen.
2.Muutit suorittamaasi komentoa varmistaaksesi, että CMA on otettu käyttöön onnistuneesti.
heinäkuuta - 14 14.0.0 • Ensimmäinen julkaisu.

Asiakirjat / Resurssit

intel FPGA SDK OpenCL:lle [pdfKäyttöopas
FPGA SDK OpenCL:lle, FPGA SDK, SDK OpenCL:lle, SDK

Viitteet

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *