intel - suaicheantasFPGA SDK airson OpenCL
Stiùireadh Cleachdaiche

UG-OCL009
2017.05.08
Ùrachadh mu dheireadh airson Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS WiFi Smart Foot Massager - ìomhaigh 5Subscribe
Fòn-smart SAMSUNG SM A136UZKZAIO Galaxy A13 5G - ìomhaigh 12Cuir fios air ais

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

Tha Stiùireadh Portaidh Àrd-ùrlar Iomraidh Kit Leasachaidh V SoC a’ toirt cunntas air dealbhadh bathar-cruaidh is bathar-bog Àrd-ùrlar Iomraidh Kit Leasachaidh Intel Cyclone V SoC (c5soc) airson a chleachdadh leis an Intel Kit Leasachaidh Bathar-bog (SDK) airson OpenCL Tha an Intel ® FPGA SDK airson OpenCL ™ Intel Cyclone ® . Mus tòisich thu, tha Intel a’ moladh gu làidir gum bi thu eòlach air susbaint nan sgrìobhainnean a leanas:

  1. Intel FPGA SDK airson OpenCLIntel Cyclone V SoC Stiùireadh tòiseachaidh
  2. Intel FPGA SDK airson OpenCL Custom Platform Toolkit Toolkit
  3. Leabhar-làimhe inneal Cyclone V, Leabhar 3: Leabhar-làimhe Teicnigeach Siostam Pròiseasaran Cruaidh A bharrachd air an sin, thoir sùil air an Kit Leasachaidh Cyclone V SoC agus duilleag SoC Embedded Design Suite den Altera weblàrach-lìn airson tuilleadh fiosrachaidh. 1 2

An aire: Tha Intel a’ gabhail ris gu bheil tuigse dhomhainn agad air an Intel FPGA SDK airson OpenCL Custom Platform Toolkit User Guide. Chan eil an Stiùireadh Gluasaid Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC a’ toirt cunntas air cleachdadh Inneal Àrd-ùrlar Custom SDK gus Àrd-ùrlar Custom a chuir an gnìomh airson Kit Leasachaidh Cyclone V SoC. Chan eil e a’ toirt cunntas ach air na h-eadar-dhealachaidhean eadar taic SDK air an Cyclone V SoC Development Kit agus Intel FPGA SDK coitcheann airson OpenCL Custom Platform.

Ceanglaichean ceangailte

  • Intel FPGA SDK airson OpenCL Cyclone V SoC Stiùireadh tòiseachaidh
  • Intel FPGA SDK airson OpenCL Custom Platform Toolkit Toolkit
  • Leabhar-làimhe inneal Cyclone V, Leabhar 3: Leabhar-làimhe Teicnigeach Siostam Pròiseas Cruaidh
  • Cyclone V SoC Development Kit agus duilleag SoC Embedded Design Suite air an Altera weblàrach
  1. Tha OpenCL agus suaicheantas OpenCL nan comharran-malairt Apple Inc. a chleachdar le cead bhon Khronos Group™.
  2. Tha an Intel FPGA SDK airson OpenCL stèidhichte air Sònrachadh Khronos foillsichte, agus tha e air a dhol seachad air Pròiseas Deuchainn Co-chòrdalachd Khronos. Gheibhear an inbhe gèillidh làithreach aig www.khronos.org/conformance.

Intel Corporation. Còraichean uile glèidhte. Tha faclan agus suaicheantasan Intel, suaicheantas Intel, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus agus Stratix nan comharran-malairt aig Intel Corporation no na fo-chompanaidhean aige anns na SA agus / no dùthchannan eile. Tha Intel airidh air coileanadh a thoraidhean FPGA agus semiconductor a rèir mion-chomharrachadh gnàthach a rèir barantas àbhaisteach Intel, ach tha e a’ gleidheadh ​​​​na còrach atharrachaidhean a dhèanamh air toraidhean is seirbheisean sam bith aig àm sam bith gun rabhadh. Chan eil Intel a’ gabhail uallach no uallach sam bith ag èirigh bho bhith a’ cleachdadh no a’ cleachdadh fiosrachadh, toradh no seirbheis sam bith a tha air a mhìneachadh an seo ach a-mhàin mar a chaidh aontachadh gu soilleir ann an sgrìobhadh le Intel. Thathas a’ moladh do luchd-ceannach Intel an dreach as ùire de shònrachaidhean inneal fhaighinn mus cuir iad earbsa ann am fiosrachadh foillsichte sam bith agus mus cuir iad òrdughan airson toraidhean no seirbheisean.
* Faodar ainmean is suaicheantasan eile a thagradh mar sheilbh chàich.

1.1.1 Caochlaidhean Bòrd Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC
Tha an Intel FPGA SDK airson Àrd-ùrlar Iomraidh Kit Leasachaidh OpenCL Cyclone V SoC a’ toirt a-steach dà dhreach bùird.

  • bòrd c5soc
    Bheir am bòrd bunaiteach seo cothrom air dà bhanca cuimhne DDR. Tha an HPS DDR ruigsinneach leis an dà chuid an FPGA agus an CPU. Chan fhaighear an FPGA DDR ach leis an FPGA.
  • bòrd c5soc_sharedonly
    Chan eil anns an tionndadh bùird seo ach ceangal HPS DDR. Chan eil an FPGA DDR ruigsinneach. Tha an caochladh bùird seo nas èifeachdaiche a thaobh sgìre oir tha nas lugha de bhathar-cruaidh riatanach gus taic a thoirt do aon bhanca cuimhne DDR. Tha am bòrd c5soc_sharedonly cuideachd na àrd-ùrlar prototyping math airson bòrd riochdachaidh deireannach le aon bhanca cuimhne DDR.
    Gus cuimseachadh air an tionndadh bùird seo nuair a bhios tu a’ cur ri chèile an kernel OpenCL agad, cuir a-steach an roghainn -board c5soc_sharedonly anns an àithne aoc agad.
    Airson tuilleadh fiosrachaidh air a’ Bhòrd roghainn den àithne aoc, thoir sùil air an Intel FPGA SDK airson Stiùireadh Prògramadh OpenCL.

Ceanglaichean ceangailte
A’ cur ri chèile Kernel airson Bòrd Sònraichte FPGA (–board )
1.1.2 Susbaint Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC
Tha Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC air a dhèanamh suas de na leanas files agus clàran:

File or Directory Tuairisgeul
bòrd_env.xml Cànan comharrachaidh leudachail (XML) file a tha a’ toirt cunntas air c5soc don Intel FPGA SDK airson OpenCL.
linux_sd_card_image.tgz Ìomhaigh cairt flash SD teann file anns a bheil a h-uile dad a dh’ fheumas neach-cleachdaidh SDK gus an Cyclone V SoC Development Kit a chleachdadh leis an SDK.
gàirdean 32 Leabhar-seòlaidh anns a bheil na leanas:

1.1.3 Feartan buntainneach an Kit Leasachaidh Cyclone V SoC

Tha an liosta a leanas a’ nochdadh na pàirtean agus na feartan Cyclone V SoC Development Kit a tha buntainneach don Intel FPGA SDK airson OpenCL:

  • CPU dà-cridhe ARM Cortex-A9 a’ ruith 32-bit Linux.
  • Bus eadar-aghaidh adhartach eXtensible (AXI) eadar an HPS agus prìomh aodach FPGA.
  • Dà rianadair cuimhne DDR cruaidh, gach fear a’ ceangal ri 1 gigabyte (GB) DDR3 SDRAM.
    - Tha aon rianadair DDR ruigsinneach don chridhe FPGA a-mhàin (is e sin, FPGA DDR).
    - Tha an rianadair DDR eile ruigsinneach don HPS agus don FPGA (is e sin, HPS DDR). Tha an rianadair co-roinnte seo a’ ceadachadh roinneadh cuimhne an-asgaidh eadar an CPU agus cridhe FPGA.
  • Faodaidh an CPU prìomh aodach FPGA ath-dhealbhadh.

1.1.3.1 Kit Leasachaidh Cyclone V SoC Amasan Dealbhaidh Àrd-ùrlar agus Co-dhùnaidhean Bidh Intel a’ stèidheachadh buileachadh Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC air grunn amasan dealbhaidh agus cho-dhùnaidhean. Tha Intel a’ moladh gun smaoinich thu air na h-amasan agus na co-dhùnaidhean sin nuair a chuireas tu an Àrd-ùrlar Iomraidh seo chun bhòrd SoC FPGA agad.
Gu h-ìosal tha na h-amasan dealbhaidh c5soc:

  1. Thoir seachad an leud-bann as àirde a tha comasach eadar kernels air an FPGA agus siostam (ean) cuimhne DDR.
  2. Dèan cinnteach nach cuir àireamhachadh air an FPGA (is e sin, kernels OpenCL) bacadh air gnìomhan CPU eile a dh’ fhaodadh a bhith a ’toirt a-steach seirbheiseachadh iomaill.
  3. Fàg nas urrainn dhut de ghoireasan FPGA airson àireamhachadh kernel an àite co-phàirtean eadar-aghaidh.

Gu h-ìosal tha na co-dhùnaidhean dealbhaidh àrd-ìre a tha mar thoradh dìreach air amasan dealbhaidh Intel:

  1. Chan eil an Àrd-ùrlar Iomraidh a’ cleachdadh ach riaghladairean cuimhne cruaidh DDR leis an rèiteachadh as fharsainge (256 bit).
  2. Bidh an FPGA a’ conaltradh gu dìreach ri rianadair cuimhne HPS DDR, gun a bhith a’ toirt a-steach am bus AXI agus an tionndadh L3 taobh a-staigh an HPS. Tha an conaltradh dìreach a’ toirt seachad an leud-bann as fheàrr do DDR, agus a’ cumail àireamhachadh FPGA bho bhith a’ cur bacadh air conaltradh eadar an CPU agus an iomall.
  3. Chan eil ruigsinneachd cuimhne dìreach scatter-cruinneachaidh (SG-DMA) mar phàirt de loidsig eadar-aghaidh FPGA. An àite a bhith a’ gluasad mòran dàta eadar siostaman cuimhne DDR, stòraich an dàta anns an HPS DDR co-roinnte. Tha cothrom dìreach air cuimhne CPU leis an FPGA nas èifeachdaiche na DMA. Bidh e a’ sàbhaladh goireasan bathar-cruaidh (is e sin, sgìre FPGA) agus a’ sìmpleachadh an draibhear kernel Linux.
    Rabhadh: Tha gluasad cuimhne eadar an siostam HPS DDR co-roinnte agus an siostam DDR a tha ruigsinneach don FPGA a-mhàin gu math slaodach. Ma roghnaicheas tu
    gluasad cuimhne san dòigh seo, cleachd e airson glè bheag de dhàta a-mhàin.
  4. Bidh an aoigh agus an inneal a’ dèanamh gluasad dàta neo-DMA eadar a chèile tro dhrochaid HPS-to-FPGA (H2F), a’ cleachdadh dìreach aon phort 32-bit. Is e an adhbhar, às aonais DMA, chan urrainn don kernel Linux ach aon iarrtas leughaidh no sgrìobhaidh 32-bit a chuir a-mach, agus mar sin chan eil feum air ceangal nas fharsainge.
  5. Bidh an aoigh a’ cur comharran smachd chun inneal tro dhrochaid aotrom H2F (LH2F).
    Leis gu bheil comharran smachd bhon òstair chun inneal nan comharran leud-bann ìosal, tha drochaid LH2F air leth freagarrach airson na h-obrach.

1.2 A’ giùlan an Àrd-ùrlar Iomraidh chun Bhòrd SoC FPGA agad
Gus an Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC a phortadh chun bhòrd SoC FPGA agad, dèan na gnìomhan a leanas:

  1. Tagh an aon chuimhne DDR no an dà dhreach cuimhne DDR den Àrd-ùrlar Iomraidh c5soc mar thoiseach tòiseachaidh do dhealbhadh.
  2. Ùraich na h-àiteachan prìne anns an ALTERAOCLSDKROOT/board/c5soc/ /mullach.qsf file, far a bheil ALTERAOCLSDKROOT mar an t-slighe gu suidheachadh an Intel FPGA SDK airson stàladh OpenCL, agus is e ainm eòlaire an caochladair bùird. Tha an eòlaire c5soc_sharedonly airson an tionndadh bùird le aon siostam cuimhne DDR. Tha an eòlaire c5soc airson an tionndadh bùird le dà shiostam cuimhne DDR.
  3.  Ùraich na roghainnean DDR airson na blocaichean HPS agus/no FPGA SDRAM anns an ALTERAOCLSDKROOT/board/c5soc/ /siostam.qsys file.
    4. Feumaidh a h-uile Intel FPGA SDK airson dealbhadh bùird as fheàrr le OpenCL dùnadh ùine cinnteach a choileanadh. Mar sin, feumaidh suidheachadh an dealbhaidh a bhith glan. Gus an sgaradh bòrd c5soc (acl_iface_partition.qxp) a phortadh chun bhòrd SoC FPGA agad, dèan na gnìomhan a leanas:
    Airson stiùireadh mionaideach mu bhith ag atharrachadh agus a’ gleidheadh ​​an sgaradh bùird, thoir sùil air a’ Quartus
    Prìomh chruinneachadh meudachaidh airson caibideil Dealbhadh rangachd is Sgioba de Leabhar-làimhe Quartus Prime Standard Edition.
    a. Thoir air falbh an acl_iface_partition.qxp bhon eòlaire ALTERAOCLSDKROOT/board/c5soc/c5soc.
    b. Dèan comas air roinn acl_iface_region LogicLock ™ le bhith ag atharrachadh an àithne Tcl set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region gu set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
    c. Cruinnich kernel OpenCL airson do bhòrd.
    d. Ma tha feum air, atharraich meud agus suidheachadh na sgìre LogicLock.
    e. Nuair a tha thu riaraichte gu bheil suidheachadh an dealbhaidh agad glan, cuir a-mach an sgaradh sin mar an acl_iface_partition.qxp Quartus Prime Exported Partition File.
    Mar a chaidh a mhìneachadh anns an earrann Stèidheachadh Sruth Ùine Barantaichte den AIntel FPGA SDK airson OpenCL Custom Platform Toolkit Toolkit, le bhith a’ toirt a-steach an .qxp seo  file a-steach don dealbhadh àrd-ìre, bidh thu a’ coileanadh an riatanas airson dealbhadh bùird a thoirt seachad le sruth dùnaidh ùine cinnteach.
    Airson factaran a dh’ fhaodadh buaidh a thoirt air càileachd thoraidhean (QoR) den sgaradh às-mhalairt agad, thoir sùil air Beachdachaidhean Càileachd Toraidhean Coitcheann airson an Earrann Bòrd Às-mhalairt anns an Intel FPGA SDK airson OpenCL Custom Platform Toolkit Toolkit.
    f. Cuir à comas sgìre acl_iface_region LogicLock le bhith a’ tilleadh an àithne ann an Ceum 2 air ais gu set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region.
  4. Ma chleachdas am bòrd SoC FPGA agad prìneachan eadar-dhealaichte agus iomaill den bhloc HPS, ath-ghin an ro-luchdachadh agus stòr craobh an inneal (DTS) file. Ma dh'atharraicheas tu roghainnean rianadair cuimhne HPS DDR, ath-nuadhaich an ro-luchdachadh.
  5. Cruthaich ìomhaigh cairt SD.
  6. Cruthaich an Àrd-ùrlar Custom agad, anns a bheil ìomhaigh cairt flash SD.
  7. Beachdaich air dreach àrainneachd runtime den Àrd-ùrlar Custom agad a chruthachadh airson a chleachdadh leis an Intel FPGA Runtime Environment (RTE) airson OpenCL. Chan eil an dreach RTE den Àrd-ùrlar Custom agad a’ toirt a-steach clàran bathar-cruaidh agus ìomhaigh cairt flash SD. Bidh an Àrd-ùrlar Custom seo a’ luchdachadh air siostam SoC FPGA gus leigeil le tagraidhean aoigheachd ruith. An coimeas ri sin, tha feum air an dreach SDK den Custom Platform airson an SDK kernels OpenCL a chuir ri chèile.
    Gliocas: Faodaidh tu an tionndadh SDK den Àrd-ùrlar Custom agad a chleachdadh airson an RTE. Gus a shàbhaladh
    àite, thoir air falbh ìomhaigh cairt flash SD bhon dreach RTE den Àrd-ùrlar Custom agad.
  8. Dèan deuchainn air an Àrd-ùrlar Custom agad.
    Thoir sùil air an roinn Deuchainn Dealbhadh Bathar-cruaidh de Intel FPGA SDK airson OpenCL Custom Platform Toolkit User Guide airson tuilleadh fiosrachaidh.

Ceanglaichean ceangailte

  • A 'dèanamh deuchainn air Dealbhadh Bathar-cruaidh
  • Cruinneachadh Meudachaidh Quartus Prime airson Dealbhadh rangachd agus Stèidhichte air Sgioba
  • Stèidheachadh Sruth Ùine barantaichte
  • Beachdachaidhean Càileachd Coitcheann Toraidhean airson a’ Bhùird Às-mhalairt

1.2.1 Ag ùrachadh Àrd-ùrlar Iomraidh Ported
Anns an dreach gnàthach de Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC, tha am bloc HPS taobh a-staigh an sgaradh a tha a’ mìneachadh a h-uile loidsig neo-kernel. Ach, chan urrainn dhut an HPS às-mhalairt mar phàirt den .qxp file. Gus Àrd-ùrlar Custom gnàthaichte ùrachadh a dh’ atharraich thu bho dhreach roimhe de c5soc, cuir an gnìomh sruth gleidhidh QXP, ùraich ìomhaigh cairt flash SD gus an àrainneachd runtime as ùire fhaighinn, agus ùraich am board_spec.xml file gus fèin-imrich a chomasachadh.
Bidh an Altera® SDK airson dreach OpenCL 14.1 agus nas fhaide air falbh a’ sgrùdadh an bòrd_spec.xml file airson fiosrachadh bùird, agus a’ cur an gnìomh ùrachaidhean fèin-ghluasadach. Air sgàth gu bheil thu ag atharrachadh an fhaidhle
dealbhadh le bhith a 'buileachadh an t-sruth gleidhidh QXP, feumaidh tu ùrachadh a dhèanamh air an board_spec.xml file gu a chruth anns an dreach làithreach. Ag ùrachadh an file a’ leigeil leis an SDK eadar-dhealachadh a dhèanamh eadar Àrd-ùrlaran Custom neo-ghlèidhte agus na Àrd-ùrlaran gnàthaichte stèidhichte air QXP. Thoir sùil air Custom Platform Automigration airson Co-fhreagarrachd air adhart anns an Intel FPGA SDK airson OpenCL Custom Platform Toolkit Toolkit airson tuilleadh fiosrachaidh.

  1. Gus an sruth gleidhidh QXP a chuir an gnìomh ann an dealbhadh bathar-cruaidh Cyclone V SoC FPGA a tha air a phortadh bho dhreach roimhe de c5soc, dèan na ceumannan a leanas gus fo-roinn a chruthachadh gus an HPS a thoirmeasg bhon .qxp file:
    a. Mus cruthaich thu sgaradh timcheall an loidsig neo-kernel, cruthaich sgaradh timcheall an HPS anns na .qsf Quartus Prime Settings File.
    Airson example:
    # Dèan sgaradh le làimh an t-eisimpleir a tha a’ modaladh an seata I/O coisrigte do HPS -name PARTITION_HIERARCHY borde_18261 -to “siostam: the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_hps_0_hps_0| system_acl_iface_hps_0_hps_io_border: chrìoch" -section_id "system_acl_iface_hps_XNUMX_hps_io_border: chrìoch"
    # Suidhich an sgaradh gu bhith na sheòrsa HPS_PARTITION airson a phròiseasadh gu ceart leis a’ chòrr de Quartus
    set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id “system_acl_iface_hps_0_hps_io_border: border”
    quartus_cdb mullach -c mullach
    -incremental_compilation_export=acl_iface_partition.qxp
    -incremental_compilation_export_partition_name=acl_iface_partition
    -incremental_compilation_export_post_synth=air adhart
    -incremental_compilation_export_post_fit=air adhart
    -incremental_compilation_export_routing=air adhart
    -incremental_compilation_export_flatten=dheth
    Às deidh dhut an HPS a thoirmeasg bhon sgaradh, faodaidh tu am faidhle .qxp file agus cuir ri chèile do dhealbhadh.
  2. Ùraich ìomhaigh cairt flash SD leis an dreach làithreach den Intel FPGA RTE airson OpenCL le bhith a’ coileanadh nan gnìomhan a leanas:
    a. Stàlaich an file clàr riarachadh (saill32) agus air a leudachadh file siostam (ext3) san ìomhaigh a th’ ann mar innealan lùb-ais. Airson stiùireadh mionaideach, thoir sùil air Ceum 2 ann an Togail Ìomhaigh Cairt Flash SD.
    b. Anns an eòlaire / home / root / opencl_arm32_rte, thoir air falbh am faidhle files bhon dreach roimhe den RTE.
    c. Luchdaich sìos agus dì-phacaich an dreach làithreach den RTE a-steach don eòlaire / home / root / opencl_arm32_rte.
    d. Anns a /driver/version.h file den Àrd-ùrlar Custom agad, ùraich am sònrachadh ACL_DRIVER_VERSION gu . (airson example, 16.1.x, far a bheil 16.1 an dreach SDK, agus x an dreach dràibhear a shuidhich thu).
    e. Ath-thog an driver.
    f. Sguab às am pasgan(an) bathar-cruaidh den Àrd-ùrlar Custom agad. Dèan lethbhreac den Àrd-ùrlar Custom, còmhla ris an draibhear ùraichte, chun an eòlaire / home / root / opencl_arm_rte / board.
    g. Dèan lethbhreac dhen Altera.icd file bhon eòlaire / home / root / opencl_arm32_rte agus cuir ris an eòlaire / etc / OpenCL / reiceadairean.
    h. Unmount agus deuchainn air an ìomhaigh ùr. Airson stiùireadh mionaideach, thoir sùil air Ceumannan 8 gu 11 ann an Togail Ìomhaigh Cairt Flash SD.

Ceanglaichean ceangailte

  • A’ cruthachadh Ìomhaigh Cairt SD Flash air duilleag 14
    Tha roghainn agad cuideachd ìomhaigh cairt flash SD ùr a chruthachadh.
  • Autoimrich àrd-ùrlar gnàthaichte airson co-fhreagarrachd air adhart

1.3 Taic Bathar-bog airson Cuimhne Co-roinnte
Is e cuimhne corporra co-roinnte eadar FPGA agus CPU an cuimhne as fheàrr leotha airson kernels OpenCL a tha a’ ruith air SoC FPGAn. Leis gu bheil an FPGA a’ faighinn cothrom air cuimhne corporra co-roinnte, an taca ri cuimhne brìgheil co-roinnte, chan eil cothrom aige air clàran duilleag an CPU a bhios a’ mapadh seòlaidhean brìgheil luchd-cleachdaidh gu seòlaidhean duilleag fiosaigeach.
A thaobh a’ bhathar-cruaidh, bidh kernels OpenCL a’ faighinn cothrom air cuimhne corporra co-roinnte tro cheangal dìreach ri rianadair cuimhne cruaidh HPS DDR. A thaobh am bathar-bog, tha taic airson cuimhne corporra co-roinnte a’ toirt a-steach na nithean a leanas:

  1. Gnìomhan bathar-bog àbhaisteach airson cuimhne a riarachadh air an CPU (airson example, chan urrainn don ghnìomh malloc()) roinn cuimhne a riarachadh a dh’ fhaodadh an FPGA a chleachdadh.
    Tha cuimhne a tha an gnìomh malloc () a’ riarachadh ri taobh an àite seòladh cuimhne brìgheil, ach chan eil e coltach gum bi duilleagan corporra sam bith co-shìnte ri chèile gu corporra. Mar sin, feumaidh an aoigh a bhith comasach air roinnean cuimhne a tha faisg air làimh a riarachadh. Ach, chan eil an comas seo ann an tagraidhean àite-cleachdaidh air Linux. Mar sin, feumaidh an draibhear kernel Linux an riarachadh a choileanadh.
  2. Tha an draibhear kernel OpenCL SoC FPGA Linux a’ toirt a-steach gnìomh mmap () gus cuimhne corporra co-roinnte a riarachadh agus a mhapadh a-steach don àite neach-cleachdaidh. Bidh an gnìomh mmap () a’ cleachdadh a’ ghairm àbhaisteach Linux kernel dma_alloc_coherent() gus roinnean cuimhne a tha faisg air làimh iarraidh airson a bhith air an roinneadh le inneal.
  3. Anns an kernel Linux bunaiteach, chan eil dma_alloc_coherent() a’ riarachadh cuimhne a tha faisg air làimh gu corporra nas motha na 0.5 megabytes (MB) ann am meud. Gus leigeil le dma_alloc_coherent () meudan mòra de chuimhne a tha faisg air làimh a riarachadh, comas a thoirt don fheart comharrachaidh cuimhne faisg air làimh (CMA) den kernel Linux agus an uairsin ath-chruinneachadh an kernel Linux.
    Airson Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC, bidh CMA a’ riaghladh 512 MB a-mach à 1 GB de chuimhne corporra. Faodaidh tu an luach seo àrdachadh no ìsleachadh, a rèir na tha de chuimhne roinnte a dh ’fheumas an tagradh. Is dòcha nach bi an gairm dma_alloc_coherent() comasach air an 512 MB slàn de chuimhne a tha faisg air làimh a riarachadh; ge-tà, gheibh e timcheall air 450 MB de chuimhne gu cunbhalach.
  4. Faodaidh an CPU cuimhne a thasgadh a tha an gairm dma_alloc_coherent() a’ riarachadh. Gu sònraichte, chan eil gnìomhachd sgrìobhaidh bhon tagradh aoigheachd rim faicinn leis na kernels OpenCL. Tha an gnìomh mmap () ann an draibhear kernel OpenCL SoC FPGA Linux cuideachd a’ toirt a-steach fiosan chun ghnìomh pgprot_noncached () no remap_pf_range () gus tasgadan a chuir à comas airson na roinne cuimhne seo gu soilleir.
  5. Às deidh don ghnìomh dma_alloc_coherent () a bhith a’ riarachadh a’ chuimhne a tha faisg air làimh, tillidh an gnìomh mmap () an seòladh brìgheil gu toiseach an raoin, is e sin raon seòlaidh na cuimhne a tha thu a’ riarachadh. Feumaidh an aplacaid aoigheachd an seòladh brìgheil seo gus faighinn chun chuimhne. Air an làimh eile, feumaidh na kernels OpenCL seòlaidhean corporra. Bidh an draibhear kernel Linux a’ cumail sùil air mapadh seòlaidhean brìgheil-gu-corporra. Faodaidh tu na seòlaidhean fiosaigeach a mhapadh a thilleas mmap() gu fìor sheòlaidhean corporra le bhith a’ cur ceist ris an draibhear.
    Tha an gairm aocl_mmd_shared_mem_alloc() eadar-aghaidh prògramadh aplacaid MMD (API) a’ toirt a-steach na ceistean a leanas:
    a. An gnìomh mmap () a bhios a’ riarachadh cuimhne agus a’ tilleadh an seòladh brìgheil.
    b. A’ cheist a bharrachd a tha a’ mapadh an t-seòladh brìgheil air ais gu seòladh corporra.
    Bidh an gairm aocl_mmd_shared_mem_alloc() MMD API an uairsin a’ tilleadh dà sheòladh
    - is e an fhìor sheòladh a thill an seòladh brìgheil, agus thèid an seòladh fiosaigeach gu device_ptr_out.
    Thoir an aire: Chan urrainn don draibhear ach na seòlaidhean brìgheil a mhapadh a thilleas an gnìomh mmap() gu seòlaidhean fiosaigeach. Ma dh’ iarras tu seòladh corporra puing brìgheil sam bith eile, tillidh an draibhear luach NULL.

Rabhadh: Tha an Intel FPGA SDK airson leabharlannan runtime OpenCL a’ gabhail ris gur e a’ chuimhne cho-roinnte a’ chiad chuimhne a tha air a liostadh sa board_spec.xml file. Ann am faclan eile, bidh an seòladh corporra a gheibh an draibhear kernel Linux gu bhith na sheòladh Avalon® a bhios an kernel OpenCL a ’dol chun HPS SDRAM.
A thaobh an leabharlann runtime, cleachd an gairm clCreateBuffer () gus a’ chuimhne roinnte a riarachadh mar bufair inneal anns an dòigh a leanas:

  • Airson an tionndadh bùird dà-DDR leis an dà chuid cuimhne co-roinnte agus neo-roinnte, bidh clCreateBuffer () a’ riarachadh cuimhne co-roinnte ma shònraicheas tu am bratach CL_MEM_USE_HOST_PTR. Le bhith a’ cleachdadh brataichean eile bidh clCreateBuffer () a’ riarachadh bufair anns a’ chuimhne neo-roinnte.
  • Airson an tionndadh bùird aon-DDR le dìreach cuimhne co-roinnte, bidh clCreateBuffer () a’ riarachadh cuimhne co-roinnte ge bith dè am bratach a shònraicheas tu.
    An-dràsta, tha taic 32-bit Linux air ARM CPU a’ riaghladh na h-ìre de thaic cuimhne co-roinnte anns na leabharlannan runtime SDK. Ann am faclan eile, tha leabharlannan runtime air an cur ri chèile gu àrainneachdan eile (airson example, x86_64 Linux no 64-bit Windows) a’ toirt taic do chuimhne co-roinnte.
    Cha do chuir C5soc cuimhne ioma-ghnèitheach an gnìomh gus eadar-dhealachadh a dhèanamh eadar cuimhne roinnte agus cuimhne neo-roinnte airson na h-adhbharan a leanas:
    1. Eachdraidh - Cha robh taic cuimhne ioma-ghnèitheach ri fhaighinn nuair a chaidh taic cuimhne co-roinnte a chruthachadh bho thùs.
    2. Eadar-aghaidh èideadh - Leis gur e inbhe fosgailte a th' ann an OpenCL, tha Intel a 'cumail cunbhalachd eadar luchd-reic àrd-ùrlair coimpiutaireachd ioma-ghnèitheach. Mar sin, tha an aon eadar-aghaidh ri ailtireachd luchd-reic bùird eile air a chleachdadh gus cuimhne co-roinnte a riarachadh agus a chleachdadh.

1.4 Ath-dhealbhadh FPGA
Airson SoC FPGAn, faodaidh an CPU prìomh aodach FPGA ath-dhealbhadh gun a bhith a’ cur bacadh air gnìomhachd an CPU. Bidh bloc bathar-cruaidh Manaidsear FPGA a tha a ’dol thairis air an HPS agus am prìomh FPGA a’ coileanadh an ath-dhealbhadh. Tha an kernel Linux a’ toirt a-steach draibhear a bheir cothrom furasta air Manaidsear FPGA.

  • Gu view inbhe cridhe FPGA, thoir a-steach an àithne cat / sys/class/fpga/fpga0/ status.
    Bidh goireas prògram Intel FPGA SDK airson OpenCL a tha ri fhaighinn leis an Àrd-ùrlar Iomraidh Cyclone V SoC Development Kit a’ cleachdadh an eadar-aghaidh seo gus am FPGA a phrògramadh. Nuair a bhios tu ag ath-chlàradh cridhe FPGA le CPU ruith, bidh goireas a’ phrògraim a ’coileanadh a h-uile gnìomh a leanas:
    1. Mus tèid ath-chlàradh, cuir dheth a h-uile drochaid conaltraidh eadar an FPGA agus an HPS, an dà chuid drochaidean H2F agus LH2F.
    Ath-chomasachadh na drochaidean sin às deidh an ath-chlàradh a chrìochnachadh.
    An aire: Chan eil an siostam OpenCL a’ cleachdadh drochaid FPGA-to-HPS (F2H). Thoir sùil air an roinn eadar-aghaidh HPS-FPGA ann an Leabhar-làimhe inneal Cyclone V, Leabhar 3: Leabhar-làimhe Teicnigeach Siostam Pròiseas Cruaidh airson tuilleadh fiosrachaidh.
    2. Dèan cinnteach gu bheil an ceangal eadar an FPGA agus an rianadair HPS DDR à comas rè ath-chlàradh.
    3. Dèanamh cinnteach gu bheil an FPGA eadar-aghaidh air an FPGA ciorramach rè ath-chlàradh.
    Cuideachd, cuir fios chun draibhear gus casg sam bith bhon FPGA a dhiùltadh rè ath-chlàradh.

Thoir sùil air còd stòr goireas a’ phrògraim airson mion-fhiosrachadh mun fhìor bhuileachadh.

Rabhadh: Na atharraich rèiteachadh rianadair HPS DDR nuair a bhios an CPU a’ ruith.
Le bhith a’ dèanamh sin dh’ fhaodadh sin mearachd siostam marbhtach adhbhrachadh oir is dòcha gun atharraich thu rèiteachadh rianadair DDR nuair a tha gnothaichean cuimhne gun phàigheadh ​​​​bhon CPU. Tha seo a’ ciallachadh nuair a bhios an CPU a’ ruith, is dòcha nach dèan thu ath-chlàradh air cridhe FPGA le ìomhaigh a chleachdas HPS DDR ann an rèiteachadh eile.
Cuimhnich gu bheil an siostam OpenCL, agus an dealbhadh iomraidh Golden Hardware a tha ri fhaighinn leis an Intel SoC FPGA Embedded Design Suite (EDS), a’ suidheachadh an HPS DDR ann an aon mhodh 256-bit.
Dh’ fhaodadh pàirtean siostam CPU leithid an ro-aithris meòir no ro-leasaiche clàr na duilleige òrdughan DDR a thoirt seachad eadhon nuair a nochdas e nach eil dad a’ ruith air an CPU.
Mar sin, is e àm bròg an aon àm sàbhailte airson rèiteachadh rianadair HPS DDR a shuidheachadh.
Tha seo cuideachd a’ ciallachadh gum feum binary amh a bhith aig U-boot file (.rbf) ìomhaigh ri luchdachadh a-steach don chuimhne. Rud eile, is dòcha gu bheil thu a ’comasachadh an HPS DDR le puirt nach deach a chleachdadh air an FPGA agus an uairsin dh’ fhaodadh iad atharrachadh a dhèanamh air rèiteachadh a ’phuirt às deidh sin. Air an adhbhar seo, chan eil an draibhear kernel OpenCL Linux a-nis a ’toirt a-steach an loidsig a tha riatanach gus rèiteachadh rianadair HPS DDR a shuidheachadh.
Bidh am pasgan in-loidhne dùbailte SW3 (DIP) a’ tionndadh air Kit Leasachaidh Cylone V SoC a’ cumail smachd air an fhoirm ris a bheil dùil den ìomhaigh .rbf (is e sin, co dhiubh a tha an file air a dhlùthadh agus/no air a chrioptachadh). Tha C5soc, agus an Dealbhadh Iomraidh Bathar-cruaidh Òir a tha ri fhaighinn leis an SoC EDS, a’ toirt a-steach ìomhaighean .rbf teann ach gun chrioptachadh. Tha na roghainnean suidse SW3 DIP a tha air am mìneachadh anns an Intel FPGA SDK airson OpenCL Cyclone V SoC Getting Started Guide a’ maidseadh an rèiteachadh ìomhaigh .rbf seo.

Ceanglaichean ceangailte

  • Eadar-aghaidh HPS-FPGA
  • A’ rèiteachadh na suidsichean SW3

1.4.1 Fiosrachadh mu ailtireachd siostam FPGA
Tha taic airson Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC stèidhichte air Àrd-ùrlar Iomraidh Stratix® V (s5_ref), a tha ri fhaighinn leis an Intel FPGA SDK airson OpenCL.
Tha eagrachadh iomlan an t-siostam c5soc Qsys agus an draibhear kernel glè choltach ris an fheadhainn ann an s5_ref.
Tha na prìomh phàirtean FPGA a leanas mar an ceudna ann an c5soc agus s5_ref:

  • VERSION_ID bacadh
  • Uidheam fois
  • Roinneadh banca cuimhne
  • Eadar-aghaidh snoop cache
  • Cloc kernel
  • Smachd air blocaichean ruigsinneachd clàr (CRA).

1.5 A’ togail Ìomhaigh Cairt Flash SD
Leis gu bheil an Cyclone V SoC FPGA na shiostam iomlan air chip, tha e an urra riut làn mhìneachadh air an t-siostam a lìbhrigeadh. Tha Intel a’ moladh gun lìbhrig thu e ann an cruth ìomhaigh cairt flash SD. Faodaidh an Intel FPGA SDK airson neach-cleachdaidh OpenCL dìreach an ìomhaigh a sgrìobhadh chun chairt flash micro SD agus tha bòrd SoC FPGA deiseil airson a chleachdadh.
Ag atharrachadh Ìomhaigh Cairt Flash SD a th’ ann mu thràth air duilleag 13
Tha Intel a’ moladh gun atharraich thu dìreach an ìomhaigh a tha ri fhaighinn leis an Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC. Tha roghainn agad cuideachd ìomhaigh cairt flash SD ùr a chruthachadh.
A’ cruthachadh Ìomhaigh Cairt SD Flash air duilleag 14
Tha roghainn agad cuideachd ìomhaigh cairt flash SD ùr a chruthachadh.

1.5.1 Ag atharrachadh Ìomhaigh Cairt Flash SD a th’ ann mar-thà
Tha Intel a’ moladh gun atharraich thu dìreach an ìomhaigh a tha ri fhaighinn leis an Cyclone V SoC
Àrd-ùrlar Iomraidh Kit Leasachaidh. Tha roghainn agad cuideachd ìomhaigh cairt flash SD ùr a chruthachadh.
An dealbh c5soc linux_sd_card_image.tgz file ri fhaighinn anns an eòlaire ALTERAOCLSDKROOT/board/c5soc, far a bheil ALTERAOCLSDKROOT a’ comharrachadh slighe an Intel FPGA SDK airson eòlaire stàlaidh OpenCL.

An aire: Gus an ìomhaigh cairt SD atharrachadh, feumaidh sochairean root no sudo a bhith agad.

  1. Gus an $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz a dhì-dhùmhlachadh file, ruith an àithne tarra xvfzlinux_sd_card_image.tgz.
  2. Cuir ri chèile an hello_world OpenCL example dealbhadh a’ cleachdadh an taic Custom Platform agad. Ath-ainmich am .rbf file gu bheil an Intel FPGA SDK airson OpenCL Offline Compiler a’ gineadh mar opencl.rbf, agus ga chuir air an sgaradh fat32 taobh a-staigh ìomhaigh cairt flash SD.
    Faodaidh tu an Hello_world example dealbhadh bhon OpenCL Design Examples duilleag air an Altera weblàrach.
  3. Cuir an .rbf file a-steach don sgaradh fat32 de ìomhaigh cairt flash.
    An aire: Feumaidh an dà chuid zImage a bhith anns an sgaradh fat32 file agus an .rbf file. Sin a .rbf file, bidh mearachd marbhtach a’ tachairt nuair a chuireas tu a-steach an draibhear.
  4. Às deidh dhut ìomhaigh cairt SD a chruthachadh, sgrìobh e gu cairt micro SD le bhith a’ toirt a-steach an àithne a leanas: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. Gus an ìomhaigh cairt SD agad a dhearbhadh, dèan na gnìomhan a leanas:
    a. Cuir a-steach a’ chairt flash micro SD a-steach do bhòrd SoC FPGA.
    b. Cumhachd suas am bòrd.
    c. Thoir a-steach an àithne aocl diagnosis utility.

1.5.2 A’ cruthachadh Ìomhaigh Cairt Flash SD
Tha roghainn agad cuideachd ìomhaigh cairt flash SD ùr a chruthachadh. Tha stiùireadh coitcheann mu bhith a’ togail ìomhaigh cairt flash SD ùr agus ag ath-thogail ìomhaigh cairt flash SD a th’ ann mar-thà rim faighinn air an GSRD v14.0.2 - duilleag Cairt SD den RocketBoards.org weblàrach.
Tha na ceumannan gu h-ìosal a’ toirt cunntas air a’ mhodh-obrach airson an dealbh linux_sd_card_image.tgz a chruthachadh bho ìomhaigh cairt flash SD Dealbhadh Iomraidh an t-Siostam Òir (GSRD):
Thoir an aire:
Gus an ìomhaigh a chruthachadh bhon ìomhaigh c5soc, dèan a h-uile gnìomh iomchaidh a tha air a mhìneachadh sa mhodh-obrach seo.

  1. Luchdaich sìos agus dì-phacaich dreach ìomhaigh cairt flash GSRD SD 14.0 bho Rocketboards.org.
  2. Stàlaich an file clàr riarachadh (saill32) agus air a leudachadh file siostam (ext3) san ìomhaigh seo mar innealan lùb-ais. Gus sgaradh a chuir suas, dèan na ceumannan a leanas:
    a. Obraich a-mach toiseach byte a’ phàirteachaidh san ìomhaigh le bhith a’ toirt a-steach an / sbin / fdisk -lu image_file àithne.
    Airson example, tha àireamh roinneadh 1 den t-seòrsa W95 FAT air a chothromachadh bloc de 2121728. Le 512 bytes gach bloc, is e an co-chothromachadh byte 512 bytes x 2121728 = 1086324736 bytes.
    b. Comharraich inneal lùb an-asgaidh (airson example, /dev/loop0) le bhith a’ taipeadh an àithne losetup -f.
    c. A’ gabhail ris gur e / dev/loop0 an inneal lùb an-asgaidh, sònraich an ìomhaigh cairt flash agad don inneal bloc lùb le bhith a’ toirt a-steach an ìomhaigh losetup / dev/loop0_file -0 1086324736 àithne.
    d. Suidhich an inneal lùb le bhith a’ toirt a-steach an àithne mount / dev/loop0 / media/disk1.
    Taobh a-staigh an dealbh fileTha , / media/disk1 a-nis na sgaradh fat32 air a chuir suas.
    e. Dèan a-rithist ceumannan a gu d airson an sgaradh ext3.
  3. Luchdaich sìos dreach Cyclone V SoC FPGA de phasgan Intel FPGA Runtime Environment airson OpenCL bhon Ionad Luchdaich sìos air an Altera weblàrach.
    a. Cliog air a’ phutan Luchdaich sìos ri taobh deasachadh bathar-bog Quartus Prime.
    b. Sònraich an dreach fuasglaidh, an siostam obrachaidh, agus an dòigh luchdaich sìos.
    c. Cliog air an taba Bathar-bog a bharrachd, agus tagh gus Intel FPGA a luchdachadh sìos
    Àrainneachd ùine ruith airson OpenCL Linux Cyclone V SoC TGZ.
    d. Às deidh dhut am faidhle aocl-rte- a luchdachadh sìos .arm32.tgz file, dì-phapadh gu
    leabhar-seòlaidh a tha agad.
  4. Cuir an aocl-rte- gun phacaid .arm32 a-steach don eòlaire / home/root/opencl_arm32_rte air an sgaradh ext3 den ìomhaigh file.
  5. Sguab às am pasgan (ean) bathar-cruaidh den Àrd-ùrlar Custom agad, agus an uairsin cuir an Àrd-ùrlar Custom ann am fo-eòlaire bùird / home/root/ opencl_arm32_rte.
  6. Cruthaich am faidhle init_opencl.sh file anns an eòlaire / dachaigh / freumh leis an t-susbaint a leanas: às-mhalairt ALTERAOCLSDKROOT = / dachaigh / freumh / opencl_arm32_rte às-mhalairt AOCL_BOARD_PACKAGE_ROOT = $ ALTERAOCLSDKROOT / bòrd / às-mhalairt PATH=$ALTERAOCLSDKROOT/bin: $PATH às-mhalairt LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib: $LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    Bidh an neach-cleachdaidh SDK a’ ruith an àithne source ./init_opencl.sh gus na caochladairean àrainneachd agus an draibhear kernel OpenCL Linux a luchdachadh.
  7. Ma dh'fheumas tu an ro-luchdachadh ùrachadh, an DTS files, no an kernel Linux, feumaidh tu an inneal-cruinneachaidh arm-linux-gnueabihf-gcc bhon SoC EDS. Lean an stiùireadh a tha air a mhìneachadh ann an Iùl Cleachdaiche Intel SoC FPGA Embedded Design Suite gus am bathar-bog fhaighinn, an ath-chruinneachadh, agus an ùrachadh iomchaidh. files air an sgaradh fat32 air a chuir suas.
    An aire: Tha e nas coltaiche gum feum thu an ro-luchdachadh ùrachadh ma tha cleachdaidhean prìne eadar-dhealaichte aig an Àrd-ùrlar Custom agad seach an fheadhainn ann an c5soc.
    Cuimhnich: Ma nì thu ath-chruinneachadh air an kernel Linux, ath-chruinnich an draibhear kernel Linux leis an aon stòr kernel Linux files. Ma tha mì-chothromachadh eadar an draibhear kernel Linux agus an kernel Linux, cha luchdaich an draibhear. Cuideachd, feumaidh tu an CMA a chomasachadh.
    Thoir sùil air Ag ath-chruinneachadh an Linux Kernel airson tuilleadh fiosrachaidh.
  8. Cuir ri chèile an hello_world OpenCL example dealbhadh a’ cleachdadh an taic Custom Platform agad. Ath-ainmich am .rbf file gu bheil an Intel FPGA SDK airson OpenCL Offline Compiler a’ gineadh mar opencl.rbf, agus ga chuir air an sgaradh fat32 taobh a-staigh ìomhaigh cairt flash SD.
    Faodaidh tu an Hello_world example dealbhadh bhon OpenCL Design Examples duilleag air an Altera weblàrach.
    9. Às dèidh dhuibh a stòradh a h-uile riatanach files air ìomhaigh na cairt flash, cuir a-steach na h-òrdughan a leanas:
    a. sioncranachadh
    b. dì-mhunnt / media/disk1
    c. unmount càite an e an t-ainm eòlaire a chleachdas tu airson an sgaradh ext3 ann an 3 air duilleag 3 a chuir suas (airson example, /media/disk2).
    d. losetup -d /dev/loop0
    e. losetup -d /dev/loop1
  9. Dèan teannachadh air ìomhaigh cairt flash SD le bhith a ’toirt a-steach an àithne a leanas: tar cvfz .tgz linux_sd_card_image
  10. Thoir seachad an .tgz file taobh a-staigh eòlaire freumh an Àrd-ùrlar Custom agad.
  11. Gus an ìomhaigh cairt SD agad a dhearbhadh, dèan na gnìomhan a leanas:
    a. Sgrìobh an dealbh neo-dhùmhlaichte a thig às air cairt flash micro SD.
    b. Cuir a-steach a’ chairt flash micro SD a-steach do bhòrd SoC FPGA.
    c. Cumhachd suas am bòrd.
    d. Thoir a-steach an àithne aocl diagnosis utility.

Ceanglaichean ceangailte

  • Stiùireadh Cleachdaiche Suite Dealbhaidh Leabaichte Intel SoC FPGA
  • Dealbhadh OpenCL Examples duilleag air an Altera weblàrach
  • Ag ath-chruinneachadh an Linux Kernel air duilleag 16
    Gus an CMA a chomasachadh, feumaidh tu an kernel Linux ath-chruinneachadh an-toiseach.
  • A’ ceasnachadh Ainm an inneal aig a’ Bhòrd FPGA agad (breithneachadh)

1.6 A’ cur ri chèile an Linux Kernel airson Cyclone V SoC FPGA
Mus ruith thu tagraidhean OpenCL air bòrd Cyclone V SoC FPGA, feumaidh tu an stòr kernel Linux a chuir ri chèile, agus an draibhear kernel OpenCL Linux a chuir ri chèile agus a stàladh.

  1. Ag ath-chruinneachadh an Linux Kernel air duilleag 16
    Gus an CMA a chomasachadh, feumaidh tu an kernel Linux ath-chruinneachadh an-toiseach.
  2. A’ cur ri chèile is a’ stàladh an OpenCL Linux Kernel Driver air duilleag 17 Cuir ri chèile an draibhear kernel OpenCL Linux mu choinneamh an stòr kernel a chaidh a chur ri chèile.

1.6.1 Ag ath-chruinneachadh an Linux Kernel
Gus an CMA a chomasachadh, feumaidh tu an kernel Linux ath-chruinneachadh an-toiseach.

  1. Cliog air an GSRD v14.0 - A’ cur ri chèile ceangal Linux air duilleag Goireasan an RocketBoards.org weblàrach-lìn gus faighinn gu stiùireadh mu bhith a’ luchdachadh sìos agus ag ath-thogail còd stòr kernel Linux.
    Airson a chleachdadh leis an ™ Intel FPGA SDK airson OpenCL, sònraich socfpga-3.13-rel14.0 mar an .
  2. Nota: Bidh am pròiseas togail a’ cruthachadh am bogha / gàirdean / configs / socfpga_defconfig file. Seo file a’ sònrachadh nan roghainnean airson an rèiteachadh bunaiteach socfpga.
    Cuir na loidhnichean a leanas gu bonn a’ bhogha/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
    Tha luach rèiteachaidh CONFIG_CMA_SIZE_MBYTES a’ suidheachadh a’ chrìoch as àirde air an àireamh iomlan de chuimhne a tha faisg air làimh a tha ri fhaighinn. Faodaidh tu an luach seo àrdachadh ma tha barrachd cuimhne a dhìth ort.
  3. An aire: Is e an àireamh iomlan de chuimhne corporra a tha ri fhaighinn don phròiseasar ARM air bòrd SoC FPGA 1 GB. Chan eil Intel a’ moladh gun cuir thu am manaidsear CMA faisg air 1 GB.
  4. Ruith an àithne make mrproper gus an rèiteachadh gnàthach a ghlanadh.
  5. Ruith an àithne dèan ARCH=arm socfpga_deconfig.
    Tha ARCH=arm a’ nochdadh gu bheil thu airson an ailtireachd ARM a rèiteachadh.
    socfpga_defconfig a’ nochdadh gu bheil thu airson an rèiteachadh socfpga bunaiteach a chleachdadh.
  6. Ruith an àithne às-mhalairt CROSS_COMPILE=arm-linux-gnueabihf-.
    Bidh an àithne seo a’ suidheachadh caochladair àrainneachd CROSS_COMPILE gus ro-leasachan an t-sreath inneal a tha thu ag iarraidh a shònrachadh.
  7. Ruith an àithne dèan ARCH = arm zImage. Tha an ìomhaigh mar thoradh air sin ri fhaighinn anns a 'bhogha / gàirdean / boot / zImage file.
  8. Cuir an zImage file a-steach don sgaradh fat32 de ìomhaigh cairt flash. Airson stiùireadh mionaideach, thoir sùil air Leabhar-làimhe Cleachdaiche GSRD sònraichte Cyclone V SoC FPGA air Rocketboards.org.
  9. Nota: Gus an draibhear kernel OpenCL Linux a chuir a-steach gu ceart, luchdaich SDKgenerated.rbf an toiseach file air an FPGA.
    Gus am .rbf a chruthachadh file, cuir ri chèile dealbhadh SDK example Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC mar an Àrd-ùrlar Custom cuimsichte.
    9. Cuir an .rbf file a-steach don sgaradh fat32 de ìomhaigh cairt flash.
    An aire: Feumaidh an dà chuid zImage a bhith anns an sgaradh fat32 file agus an .rbf file. Sin a .rbf file, bidh mearachd marbhtach a’ tachairt nuair a chuireas tu a-steach an draibhear.
  10. Cuir a-steach a’ chairt micro SD prògramaichte, anns a bheil an ìomhaigh cairt SD a dh’ atharraich thu no a chruthaich thu na bu thràithe, a-steach don Cyclone V SoC Development Kit agus an uairsin cumhachd suas bòrd SoC FPGA.
  11. Dearbhaich an dreach den kernel Linux a chaidh a chuir a-steach le bhith a’ ruith an àithne uname -r.
  12. Gus dearbhadh gu bheil thu comasach air an CMA gu soirbheachail anns an kernel, le bòrd SoC FPGA air a chumhachdachadh, ruith an àithne grep init_cma / proc/kallsyms.
    Tha CMA air a chomasachadh mura bheil an toradh falamh.
  13. Gus an kernel Linux ath-chruinnichte leis an SDK a chleachdadh, cuir ri chèile agus stàlaich an draibhear kernel Linux.

Ceanglaichean ceangailte

  • Leabhar-làimhe Cleachdaiche Dealbhadh Iomraidh an t-Siostam Òir (GSRD).
  • A’ togail Ìomhaigh Cairt Flash SD air duilleag 13
    Leis gu bheil an Cyclone V SoC FPGA na shiostam iomlan air chip, tha e an urra riut làn mhìneachadh air an t-siostam a lìbhrigeadh.

1.6.2 A’ cur ri chèile is a’ stàladh an draibhear Kernel Linux OpenCL
Cuir ri chèile an draibhear kernel OpenCL Linux an aghaidh an stòr kernel cruinnichte.

Tha stòr an draibhear ri fhaighinn ann an dreach Cyclone V SoC FPGA den Intel FPGA Runtime Environment airson OpenCL. A bharrachd air an sin, dèan cinnteach gu bheil thu air Intel FPGA SDK a luchdachadh airson .rbf air a ghineadh le OpenCL file a-steach don FPGA gus casg a chuir air stàladh ceàrr air modal kernel Linux.

  1. Luchdaich sìos dreach Cyclone V SoC FPGA de phasgan Intel FPGA Runtime Environment airson OpenCL bhon Ionad Luchdaich sìos air an Altera weblàrach.
    a. Cliog air a’ phutan Luchdaich sìos ri taobh deasachadh bathar-bog Quartus Prime.
    b. Sònraich an dreach fuasglaidh, an siostam obrachaidh, agus an dòigh luchdaich sìos.
    c. Cliog air an taba Bathar-bog a bharrachd, agus tagh gus Intel FPGA a luchdachadh sìos
    Àrainneachd ùine ruith airson OpenCL Linux Cyclone V SoC TGZ.
    d. Às deidh dhut am faidhle aocl-rte- a luchdachadh sìos .arm32.tgz file, dì-phapadh gu
    leabhar-seòlaidh a tha agad.
    Tha tùs an draibhear san aocl-rte- .arm32/board/c5soc/ eòlaire dràibhear.
  2. Gus an draibhear kernel OpenCL Linux ath-chruinneachadh, suidhich an luach KDIR ann an Dèan an draibhearfile dhan eòlaire anns a bheil an tùs kernel Linux files.
  3. Ruith an t-às-mhalairt CROSS_COMPILE=arm-linux-gnueabihf- command gus ro-leasachan an t-sreath innealan agad a chomharrachadh.
  4. Ruith an òrdugh dèan glan.
  5. Ruith an àithne dèanamh gus an aclsoc_drv.ko a chruthachadh file.
  6. Cuir thairis an eòlaire opencl_arm32_rte gu bòrd Cyclone V SoC FPGA.
    A' ruith an scp -r root@your-ipaddress: Bidh an àithne a’ cur na h-àrainneachd runtime anns an eòlaire / dachaigh / freumh.
  7. Ruith an sgriobt init_opencl.sh a chruthaich thu nuair a thog thu an SD cardimage.
  8.  Thoir a-steach an àithne aocl diagnosis utility. Tillidh an goireas breithneachaidh toradh seachad às deidh dhut ruith init_opencl.sh gu soirbheachail.

1.7 Cùisean aithnichte
An-dràsta, tha cuid de chuingealachaidhean air cleachdadh an Intel FPGA SDK airson OpenCL leis an Àrd-ùrlar Iomraidh Kit Leasachaidh Cyclone V SoC.

  1. Chan urrainn dhut na h-ainmean reiceadair is bùird a chaidh aithris leis na teudan CL_DEVICE_VENDOR agus CL_DEVICE_NAME den ghairm clGetDeviceInfo() a thoirt thairis.
  2. Ma bhios an aoigh a’ riarachadh cuimhne seasmhach ann an siostam DDR co-roinnte (is e sin, HPS DDR) agus ma dh’ atharraicheas e a’ chuimhne seasmhach às deidh cur gu bàs kernel, dh’ fhaodadh an dàta mar chuimhneachan a bhith seann-fhasanta. Tha a’ chùis seo ag èirigh leis nach urrainn do chridhe FPGA snoop air gnothaichean CPU-gu-HPS DDR.
    Gus casg a chuir air cuir gu bàs kernel às deidh sin bho bhith a’ faighinn cothrom air dàta seann-fhasanta, cuir an gnìomh aon de na dòighean-obrach a leanas:
    • Na atharraich cuimhne seasmhach an dèidh a tòiseachadh.
    • Ma tha feum agad air ioma sheata dàta __constant, cruthaich iomadh bufair cuimhne seasmhach.
    • Ma tha e ri fhaighinn, cuir cuimhne seasmhach san FPGA DDR air a’ bhòrd luathachaidh agad.
  3. Chan eil an goireas SDK air ARM a’ toirt taic ach don phrògram agus a’ lorg òrdughan goireis.
    Chan eil na h-òrdughan goireas flash, stàlaich is dì-stàlaidh a’ buntainn ris an Cyclone V SoC Development Kit airson na h-adhbharan a leanas:
    a. Feumaidh an goireas stàlaidh an draibhear kernel aclsoc_drv Linux a chuir ri chèile agus a chomasachadh air an SoC FPGA. Feumaidh an inneal leasachaidh an cruinneachadh a dhèanamh; ge-tà, tha stòran kernel Linux ann mu thràth airson an SoC FPGA. Tha na stòran kernel Linux airson an inneal leasachaidh eadar-dhealaichte bhon fheadhainn airson an SoC FPGA. Tha e coltach nach eil fios aig neach-cleachdaidh SDK càite a bheil stòran kernel Linux airson an SoC FPGA. San aon dòigh, chan eil an goireas dì-stàlaidh cuideachd ri fhaighinn don Cyclone V SoC Development Kit.
    Cuideachd, tha e dùbhlanach a bhith a’ lìbhrigeadh aclsoc_drv chun bhòrd SoC leis nach eil kernel Linux a’ toirt a-steach cuairteachadh bunaiteach an Cyclone V SoC Development Kit a’ toirt a-steach files neo an cruinneachadh GNU Compiler Collection (GCC).
    b. Feumaidh an goireas flash .rbf a chuir file de dhealbhadh OpenCL air an sgaradh FAT32 den chairt flash micro SD. An-dràsta, chan eil an sgaradh seo air a chuir suas nuair a bheir an neach-cleachdaidh SDK cumhachd don bhòrd. Mar sin, is e an dòigh as fheàrr air an sgaradh ùrachadh a bhith a’ cleachdadh leughadair cairt flash agus an inneal leasachaidh.
  4. Nuair a thionndaidheas tu eadar an Intel FPGA SDK airson OpenCL Offline Compiler a ghabhas coileanadh files (.aocx) a fhreagras ri caochlaidhean bùird eadar-dhealaichte (is e sin, c5soc agus c5soc_sharedonly), feumaidh tu goireas prògram SDK a chleachdadh gus an .aocx a luchdachadh file airson an tionndadh bùird ùr airson a’ chiad uair. Ma tha thu dìreach a’ ruith an aplacaid aoigheachd le bhith a’ cleachdadh tionndadh bùird ùr ach tha an ìomhaigh bho chaochladh bùird eile anns an FPGA, dh’ fhaodadh mearachd marbhtach tachairt.
  5. Tha an .qxp file chan eil e a’ toirt a-steach sònrachaidhean sgaradh eadar-aghaidh leis gu bheil am bathar-bog Quartus Prime gu cunbhalach a’ coinneachadh ri riatanasan ùine a’ phàirteachaidh seo.
  6. Nuair a bheir thu cumhachd don bhòrd, tha an seòladh smachd ruigsinneachd mheadhanan (MAC) aige air a shuidheachadh gu àireamh air thuaiream. Mura h-eil am poileasaidh LAN agad a’ ceadachadh an giùlan seo, suidhich an seòladh MAC le bhith a’ coileanadh nan gnìomhan a leanas:
    a. Rè cumhachd U-Boot, brùth air iuchair sam bith gus a dhol a-steach don àithne U-Boot gu sgiobalta.
    b. Type setenv ethaddr 00:07:ed:00:00:03 aig an àithne gu sgiobalta.
    Faodaidh tu seòladh MAC sam bith a thaghadh.
    c. Taidhp a-steach an òrdugh saveenv.
    d. Ath-thòisich am bòrd.

1.8 Eachdraidh Ath-sgrùdadh Sgrìobhainnean
Clàr 1 .
Eachdraidh ath-sgrùdadh sgrìobhainnean air an Intel FPGA SDK airson OpenCL Cyclone V SoC
Àrd-ùrlar Iomraidh Kit Leasachaidh Stiùireadh Gluasaid

Ceann-latha Tionndadh Atharrachaidhean
Cèitean-17 2017.05.08 • Sgaoileadh cumail suas.
Dàmhair 2016 2016.10.31 • Altera SDK ath-bhranndadh airson OpenCL gu Intel FPGA SDK airson OpenCL.
• Ath-bhranndadh Altera Offline Compiler gu Intel FPGA SDK airson OpenCL Offline Compiler.
Cèitean-16 2016.05.02 • Stiùireadh atharraichte mu bhith a' togail agus ag atharrachadh ìomhaigh cairt-flash SD.
• Stiùireadh atharraichte mu bhith ag ath-chruinneachadh an kernel Linux agus an draibhear kernel OpenCL Linux.
Samhain-15 2015.11.02 • Sgaoileadh cumail suas, agus atharraich cùisean de Quartus II gu Quartus Prime.
Cèitean-15 15.0.0 • Ann an Ath-dhealbhadh FPGA, thug sinn air falbh an stiùireadh gus cridhe FPGA ath-chlàradh
le a. ìomhaigh rbf le bhith a’ toirt cuireadh don chat fileainm>. rbf
> / dev/ fpga0 command oir chan eil an dòigh seo air a mholadh.
Dùbhlachd-14 14.1.0 • Chaidh an sgrìobhainn ath-ainmeachadh mar Altera Cyclone V SoC Development Kit Guide Porting Platform.
•Dh'ùraich sinn goireas ath-phrògram dhan phrògram aoclfileainm> .aocx utility àithne.
•Chaidh ùrachadh a dhèanamh air a' ghoireas breithneachaidh airson breithneachadh aocl agus breithneachadh aocl àithne goireas.
• Dh’ ùraich sinn am modh-obrach anns an roinn Porting an Àrd-ùrlar Iomraidh chun Bhòrd SoC agad gus stiùireadh a thoirt a-steach mu bhith a’ giùlain agus ag atharrachadh an sgaradh bòrd c5soc gus sgaradh glan ùine a chruthachadh airson an t-sruth dùnaidh ùine cinnteach.
•Chuir sinn a-steach an cuspair Ag ùrachadh Àrd-ùrlar Iomraidh Ported gus cunntas a thoirt air na modhan airson na gnìomhan a leanas:
1.Excluding bloc siostam pròiseasar cruaidh (HPS) ann am pàirt a 'bhùird
2.Updating an ìomhaigh cairt SD flash
• Ùraich an earrann Togail Ìomhaigh Cairt Flash SD. Air a mholadh le bhith a’ cleachdadh dreach 14.0 de ìomhaigh Dealbhadh Iomraidh an t-Siostam Òir (GSRD) mar thoiseach tòiseachaidh an àite an ìomhaigh a tha ri fhaighinn le SoC Embedded Design Suite (EDS).
•Dh'ùraich sinn an earrann Ag ath-chruinneachadh an Linux Kernel agus an earrann OpenCL Linux Kernel Driver:
Stiùireadh 1.Added gus an caochladair CROSS COMPILE a shuidheachadh.
2.Changed an àithne a tha thu a 'ruith gus dearbhadh gu bheil an CMA air a chomasachadh gu soirbheachail.
Iuchar-14 14.0.0 • Foillseachadh Tòiseachaidh.

Sgrìobhainnean/Goireasan

Intel FPGA SDK airson OpenCL [pdfStiùireadh Cleachdaiche
FPGA SDK airson OpenCL, FPGA SDK, SDK airson OpenCL, SDK

Iomraidhean

Fàg beachd

Cha tèid do sheòladh puist-d fhoillseachadh. Tha raointean riatanach air an comharrachadh *