intel - logoد OpenCL لپاره FPGA SDK
د کارن لارښود

UG-OCL009
2017.05.08
د Intel® Quartus® Prime Design Suite لپاره وروستی تازه شوی: 17.0

RENPHO RF FM059HS وائی فای سمارټ فوټ مساج - آئیکون 5ګډون وکړئ
د سامسنګ SM A136UZKZAIO ګیلیکسي A13 5G سمارټ فون - عکس 12فیډبیک واستوئ

Intel® FPGA SDK for OpenCL™ Intel® Cyclone®V SoC پراختیایی کټ ریفرنس پلیټ فارم پورټینګ لارښود

د V SoC پرمختیا کټ ریفرنس پلیټ فارم پورټینګ لارښود د Intel Cyclone V SoC Development Kit Reference Platform (c5soc) هارډویر او سافټویر ډیزاین تشریح کوي د OpenCL لپاره د Intel سافټویر پرمختیا کټ (SDK) سره د کارونې لپاره Intel ® FPGA SDK د OpenCL ™ Intel Cyclone لپاره . مخکې لدې چې تاسو پیل کړئ ، Intel په کلکه وړاندیز کوي چې تاسو د لاندې سندونو مینځپانګې سره ځان وپیژنئ:

  1. د OpenCLIntel Cyclone V SoC لپاره Intel FPGA SDK د پیل کولو لارښود
  2. Intel FPGA SDK د OpenCL ګمرک پلیټ فارم تولک کټ کارونکي لارښود لپاره
  3. د سایکلون V وسیلې لاسي کتاب ، حجم 3: د هارډ پروسیسر سیسټم تخنیکي حوالې لارښود سربیره پردې ، د الټرا د سایکلون V SoC پرمختیا کټ او SoC سرایت شوي ډیزاین سویټ پا pageې ته مراجعه وکړئ webد نورو معلوماتو لپاره سایټ. 1 2

پاملرنه: انټیل فرض کوي چې تاسو د OpenCL ګمرک پلیټ فارم تولک کټ کارونکي لارښود لپاره د Intel FPGA SDK ژوره پوهه لرئ. د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم پورټینګ لارښود د سایکلون V SoC پرمختیا کټ لپاره د ګمرک پلیټ فارم پلي کولو لپاره د SDK د ګمرک پلیټ فارم تولک کټ کارول نه تشریح کوي. دا یوازې د سایکلون V SoC پراختیایی کټ کې د SDK ملاتړ او د OpenCL ګمرک پلیټ فارم لپاره عمومي Intel FPGA SDK ترمنځ توپیرونه تشریح کوي.

اړونده لینکونه

  • د OpenCL سایکلون V SoC لپاره Intel FPGA SDK د پیل کولو لارښود
  • Intel FPGA SDK د OpenCL ګمرک پلیټ فارم تولک کټ کارونکي لارښود لپاره
  • د سایکلون V وسیلې لاسي کتاب، حجم 3: د هارډ پروسیسر سیسټم تخنیکي حوالې لارښود
  • د سایکلون V SoC پرمختیا کټ او SoC ایمبیډډ ډیزاین سویټ پاڼه په الټرا کې webسایټ
  1. OpenCL او OpenCL لوگو د Apple Inc. سوداګریزې نښې دي چې د Khronos Group™ په اجازې کارول کیږي.
  2. د OpenCL لپاره Intel FPGA SDK د خپاره شوي Khronos مشخصاتو پر بنسټ والړ دی، او د Khronos Conformance ازموینې پروسې څخه تېر شوی. د اوسني موافقت حالت په کې موندل کیدی شي www.khronos.org/conformance.

Intel Corporation. ټول حقونه خوندي دي. Intel، د Intel لوگو، Altera، Arria، Cyclone، Enpirion، MAX، Nios، Quartus او Stratix ټکي او لوګو په متحده ایالاتو او/یا نورو هیوادونو کې د Intel Corporation یا د هغې د فرعي شرکتونو سوداګریزې نښې دي. انټیل د خپل FPGA او سیمیکمډکټر محصولاتو فعالیت د Intel معیاري تضمین سره سم اوسني مشخصاتو ته تضمینوي ، مګر پرته له خبرتیا پرته هر وخت په هر محصول او خدماتو کې د بدلون کولو حق خوندي کوي. Intel هیڅ مسؤلیت یا مسؤلیت په غاړه نه اخلي چې د غوښتنلیک یا د کوم معلوماتو، محصول، یا خدماتو کارولو څخه رامینځته کیږي چې دلته تشریح شوي پرته له دې چې د Intel لخوا په لیکلي ډول موافقه شوې وي. د انټیل پیرودونکو ته مشوره ورکول کیږي چې د وسیلې ځانګړتیاو وروستۍ نسخه ترلاسه کړي مخکې لدې چې په کوم خپاره شوي معلوماتو تکیه وکړي او د محصولاتو یا خدماتو لپاره امر کولو دمخه.
* نور نومونه او نښې ممکن د نورو ملکیت په توګه ادعا شي.

1.1.1 سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم بورډ ډولونه
د OpenCL سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم لپاره د Intel FPGA SDK دوه بورډ ډولونه شامل دي.

  • c5soc بورډ
    دا ډیفالټ بورډ دوه DDR حافظې بانکونو ته لاسرسی چمتو کوي. د HPS DDR د FPGA او CPU دواړو لخوا د لاسرسي وړ دی. د FPGA DDR یوازې د FPGA لخوا د لاسرسي وړ دی.
  • c5soc_sharedonly بورډ
    د دې بورډ ډول یوازې د HPS DDR ارتباط لري. د FPGA DDR د لاسرسي وړ ندي. د بورډ دا ډول ډیر اغیزمن دی ځکه چې د DDR حافظې بانک مالتړ لپاره لږ هارډویر اړین دی. د c5soc_sharedonly بورډ د یو واحد DDR حافظې بانک سره د وروستي تولید بورډ لپاره یو ښه پروټوټایپ پلیټ فارم هم دی.
    د دې بورډ ډول په نښه کولو لپاره کله چې ستاسو د OpenCL کرنل تالیف کول، په خپل aoc کمانډ کې -board c5soc_sharedonly اختیار شامل کړئ.
    د بورډ په اړه د نورو معلوماتو لپاره د aoc کمانډ اختیار، د OpenCL پروګرام کولو لارښود لپاره Intel FPGA SDK ته مراجعه وکړئ.

اړونده لینکونه
د ځانګړي FPGA بورډ لپاره د کرنل تالیف کول (-بورډ )
1.1.2 د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم مینځپانګه
د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم په لاندې ډول دی files او لارښودونه:

File یا لارښود تفصیل
board_env.xml د توزیع وړ مارک اپ ژبه (XML) file چې د OpenCL لپاره Intel FPGA SDK ته c5soc تشریح کوي.
linux_sd_card_image.tgz د کمپریس شوي SD فلش کارت عکس file چې هر هغه څه لري چې د SDK کاروونکي اړتیا لري د SDK سره د سایکلون V SoC پرمختیا کټ کارولو ته اړتیا ولري.
arm32 لارښود چې لاندې لري:

1.1.3 د سایکلون V SoC پرمختیا کټ اړونده ځانګړتیاوې

لاندې لیست د سایکلون V SoC پرمختیا کټ اجزا او ځانګړتیاوې په ګوته کوي چې د OpenCL لپاره د Intel FPGA SDK سره تړاو لري:

  • ډبل کور ARM Cortex-A9 CPU د 32-bit لینکس چلوي.
  • د HPS او FPGA کور پارچه تر مینځ پرمختللی ایکسټینیبل انٹرفیس (AXI) بس.
  • دوه سخت شوي DDR حافظې کنټرولرونه، هر یو د 1 ګیګابایټ (GB) DDR3 SDRAM سره نښلوي.
    - یو DDR کنټرولر یوازې د FPGA کور ته د لاسرسي وړ دی (یعنی FPGA DDR).
    - بل DDR کنټرولر د HPS او FPGA دواړو ته د لاسرسي وړ دی (یعنی HPS DDR). دا شریک شوی کنټرولر د CPU او FPGA کور ترمینځ وړیا حافظې شریکولو ته اجازه ورکوي.
  • CPU کولی شي د FPGA اصلي پوښاک بیا تنظیم کړي.

1.1.3.1 د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم ډیزاین اهداف او پریکړې Intel د څو ډیزاین اهدافو او پریکړو په اړه د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم پلي کولو اساس لري. Intel وړاندیز کوي چې تاسو دا اهداف او پریکړې په پام کې ونیسئ کله چې تاسو د دې حوالې پلیټ فارم خپل SoC FPGA بورډ ته پورټ کړئ.
لاندې د c5soc ډیزاین اهداف دي:

  1. د FPGA او DDR حافظې سیسټمونو کې د کرنلونو تر مینځ ترټولو ممکنه بینډ ویت چمتو کړئ.
  2. ډاډ ترلاسه کړئ چې په FPGA کې کمپیوټري (یعنې د OpenCL کرنلز) د CPU نورو دندو کې مداخله نه کوي چې ممکن د خدماتو پیری فیرلز پکې شامل وي.
  3. د انٹرفیس اجزاو پر ځای د کرنل کمپیوټرونو لپاره د امکان تر حده د FPGA سرچینې پریږدئ.

لاندې د لوړې کچې ډیزاین پریکړې دي چې د Intel ډیزاین اهدافو مستقیم پایلې دي:

  1. د حوالې پلیټ فارم یوازې د خورا پراخه احتمالي ترتیب (256 بټونو) سره د هارډ DDR حافظې کنټرولرونه کاروي.
  2. FPGA د HPS DDR حافظې کنټرولر سره مستقیم اړیکه نیسي، پرته له دې چې د AXI بس او L3 سویچ د HPS دننه شامل کړي. مستقیم ارتباط DDR ته ترټولو غوره ممکنه بینډ ویت چمتو کوي، او د FPGA کمپیوټري د CPU او د هغې د پردې تر مینځ د اړیکو سره د مداخلې څخه ساتي.
  3. سکرټر راټولول مستقیم حافظې ته لاسرسی (SG-DMA) د FPGA انٹرفیس منطق برخه نده. د DDR حافظې سیسټمونو ترمینځ د ډیټا لوی مقدار لیږدولو پرځای ، ډاټا په شریک HPS DDR کې ذخیره کړئ. د FPGA لخوا CPU حافظې ته مستقیم لاسرسی د DMA په پرتله خورا مؤثر دی. دا د هارډویر سرچینې خوندي کوي (دا د FPGA ساحه ده) او د لینکس کرنل ډرایور ساده کوي.
    خبرداری: د شریک شوي HPS DDR سیسټم او DDR سیسټم ترمنځ د حافظې لیږد چې یوازې FPGA ته د لاسرسي وړ دی خورا ورو دی. که تاسو غوره کړئ
    په دې ډول د حافظې لیږد، دا یوازې د ډیرو لږو معلوماتو لپاره وکاروئ.
  4. کوربه او وسیله د یو بل تر مینځ د HPS-to-FPGA (H2F) پل له لارې د غیر DMA ډیټا لیږد ترسره کوي ، یوازې یو واحد 32-bit بندر کاروي. دلیل یې دا دی چې د DMA پرته، د لینکس کرنل کولی شي یوازې د 32-bit لوستلو یا لیکلو غوښتنه صادره کړي، نو دا اړینه نده چې پراخه اړیکه ولري.
  5. کوربه د سپک وزن H2F (LH2F) پل له لارې وسیلې ته د کنټرول سیګنالونه لیږي.
    ځکه چې د کوربه څخه وسیلې ته د کنټرول سیګنالونه د ټیټ بینډ ویت سیګنالونه دي ، د LH2F پل د دندې لپاره غوره دی.

1.2 ستاسو د SoC FPGA بورډ ته د حوالې پلیټ فارم پورټ کول
ستاسو د SoC FPGA بورډ ته د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم پورټ کولو لپاره ، لاندې دندې ترسره کړئ:

  1. د خپل ډیزاین د پیل ټکي په توګه د C5soc حوالې پلیټ فارم یوه DDR حافظه یا دوه DDR حافظې نسخه غوره کړئ.
  2. په ALTERAOCLSDKROOT/board/c5soc/ کې د پن ځایونه تازه کړئ /top.qsf file، چیرته چې ALTERAOCLSDKROOT د OpenCL نصبولو لپاره د Intel FPGA SDK موقعیت ته لاره ده، او د بورډ ډول د لارښود نوم دی. د c5soc_sharedonly لارښود د بورډ ډول لپاره دی چې د DDR حافظې سیسټم سره دی. د c5soc لارښود د دوه DDR حافظې سیسټمونو سره د بورډ ډول لپاره دی.
  3.  په ALTERAOCLSDKROOT/board/c5soc/ کې د HPS او/یا FPGA SDRAM بلاکونو لپاره د DDR ترتیبات تازه کړئ /system.qsys file.
    4. د OpenCL غوره شوي بورډ ډیزاینونو لپاره ټول Intel FPGA SDK باید د تضمین شوي وخت بندولو ترلاسه کړي. د دې په څیر، د ډیزاین ځای پرځای کول باید د وخت پاک وي. ستاسو د SoC FPGA بورډ ته د c5soc بورډ برخې (acl_iface_partition.qxp) پورټ کولو لپاره، لاندې دندې ترسره کړئ:
    د تختې د برخې د تعدیل او ساتلو په اړه د تفصيلي لارښوونو لپاره، Quartus ته مراجعه وکړئ
    د کوارټس پریم معیاري نسخه لاسي کتاب د هییرارکیکل او ټیم پراساس ډیزاین څپرکي لپاره پریم انکریمینټ تالیف.
    a. د ALTERAOCLSDKROOT/board/c5soc/c5soc لارښود څخه acl_iface_partition.qxp لرې کړئ.
    ب. د acl_iface_region LogicLock™ سیمه د Tcl کمانډ بدلولو سره فعال کړئ set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region په set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
    ج. د خپل بورډ لپاره د OpenCL کرنل تالیف کړئ.
    d. که اړتیا وي، د LogicLock سیمې اندازه او موقعیت تنظیم کړئ.
    e. کله چې تاسو مطمین یاست چې ستاسو د ډیزاین ځای په ځای کولو وخت پاک دی ، دا برخه د acl_iface_partition.qxp Quartus Prime Exported Partition په توګه صادر کړئ. File.
    لکه څنګه چې د دې .qxp واردولو له لارې د OpenCL ګمرک پلیټ فارم تولک کټ کارونکي لارښود لپاره د AIntel FPGA SDK د تضمین شوي وخت جریان رامینځته کولو برخه کې تشریح شوي.  file د لوړې کچې ډیزاین کې، تاسو د تضمین شوي وخت بندولو جریان سره د بورډ ډیزاین چمتو کولو اړتیا پوره کوئ.
    د هغو فکتورونو لپاره چې ممکن ستاسو د صادر شوي برخې د پایلو کیفیت (QoR) باندې اغیزه وکړي، د OpenCL ګمرک پلیټ فارم Toolkit کارن لارښود لپاره Intel FPGA SDK کې د صادر شوي بورډ برخې برخې لپاره د پایلو عمومي کیفیت ته مراجعه وکړئ.
    f. د acl_iface_region LogicLock سیمه غیر فعال کړئ په 2 مرحله کې کمانډ بیرته set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region ته بیرته راګرځولو سره.
  4. که ستاسو د SoC FPGA بورډ د HPS بلاک مختلف پنونه او پریریو کاروي، د پریلوډر او د وسیلې ونې سرچینه (DTS) بیا تولید کړئ. file. که تاسو د HPS DDR حافظې کنټرولر تنظیمات بدل کړئ، پری لوډر بیا تولید کړئ.
  5. د SD فلش کارت عکس جوړ کړئ.
  6. خپل دودیز پلیټ فارم جوړ کړئ، کوم چې د SD فلش کارت عکس شامل دي.
  7. د OpenCL لپاره د Intel FPGA Runtime Environment (RTE) سره کارولو لپاره ستاسو د ګمرک پلیټ فارم د چلولو چاپیریال نسخه رامینځته کولو په اړه غور وکړئ. ستاسو د ګمرک پلیټ فارم RTE نسخه کې د هارډویر لارښودونه او د SD فلش کارت عکس شامل ندي. دا دودیز پلیټ فارم د SoC FPGA سیسټم کې بار کوي ترڅو کوربه غوښتنلیکونو ته اجازه ورکړي چې چلیږي. په مقابل کې، د ګمرک پلیټ فارم SDK نسخه د SDK لپاره اړینه ده چې د OpenCL کرنلونو تالیف کړي.
    لارښوونه: تاسو کولی شئ د RTE لپاره د خپل دودیز پلیټ فارم SDK نسخه وکاروئ. د ژغورلو لپاره
    ځای، د خپل دودیز پلیټ فارم RTE نسخه څخه د SD فلش کارت عکس لرې کړئ.
  8. خپل دودیز پلیټ فارم ازموینه وکړئ.
    د نورو معلوماتو لپاره د OpenCL ګمرکي پلیټ فارم تولک کټ کارونکي لارښود لپاره د Intel FPGA SDK د هارډویر ډیزاین برخې ازموینې ته مراجعه وکړئ.

اړونده لینکونه

  • د هارډویر ډیزاین ازموینه
  • د درجه بندي او ټیم پراساس ډیزاین لپاره د Quartus Prime Incremental Compilation
  • د تضمین شوي وخت جریان رامینځته کول
  • د صادر شوي بورډ ویش لپاره د پایلو عمومي کیفیت

1.2.1 د پورټ شوي حوالې پلیټ فارم تازه کول
د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم اوسني نسخه کې ، د HPS بلاک د برخې دننه دی چې ټول غیر کارنیل منطق تعریفوي. په هرصورت، تاسو نشئ کولی HPS د .qxp برخې په توګه صادر کړئ file. د موجوده ګمرک پلیټ فارم تازه کولو لپاره چې تاسو د c5soc پخوانۍ نسخې څخه ترمیم کړی ، د QXP محافظت جریان پلي کړئ ، د وروستي چلولو چاپیریال ترلاسه کولو لپاره د SD فلش کارت عکس تازه کړئ ، او board_spec.xml تازه کړئ. file د اتوماتیک کولو فعالولو لپاره.
Altera® SDK د OpenCL نسخه 14.1 او هاخوا د تحقیقاتو لپاره board_spec.xml file د بورډ معلوماتو لپاره، او اتوماتیک تازه معلومات پلي کوي. ځکه چې تاسو تعدیل کړئ
د QXP د ساتنې جریان پلي کولو سره ډیزاین، تاسو باید board_spec.xml تازه کړئ file په اوسني نسخه کې خپل شکل ته. تازه کول file SDK ته اجازه ورکوي چې د غیر ساتل شوي ګمرک پلیټ فارمونو او اوسني QXP-based ګمرک پلیټ فارمونو ترمینځ توپیر وکړي. د نورو معلوماتو لپاره د OpenCL Custom Platform Toolkit کارن لارښود لپاره Intel FPGA SDK کې د فارورډ مطابقت لپاره د ګمرک پلیټ فارم اتوماتیک ته مراجعه وکړئ.

  1. د سایکلون V SoC FPGA هارډویر ډیزاین کې د QXP ساتنې جریان پلي کولو لپاره چې د c5soc پخوانۍ نسخې څخه پورټ شوی ، لاندې مرحلې ترسره کړئ ترڅو د .qxp څخه HPS خارج کولو لپاره فرعي برخې رامینځته کړئ. file:
    a. مخکې له دې چې د غیر کارنیل منطق په شاوخوا کې برخه جوړه کړئ، د .qsf Quartus Prime Settings کې د HPS شاوخوا یوه برخه جوړه کړئ. File.
    د مثال لپارهampLe:
    # په لاسي ډول هغه مثال تقسیم کړئ کوم چې د HPS- وقف شوي I/O set_instance_assignment -نوم PARTITION_HIERARCHY borde_18261 - "system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_face_hps_ps_hps_hps_hps_hps_0| system_acl_iface_hps_0_hps_io_border:border" -section_id "system_acl_iface_hps_0_hps_io_border:سرحد"
    # تقسیم د HPS_PARTITION ډول لپاره تنظیم کړئ ترڅو د پاتې کوارټس لخوا په سمه توګه پروسس شي
    set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id "system_acl_iface_hps_0_hps_io_border: سرحد"
    quartus_cdb ټاپ -c ټاپ
    – incremental_compilation_export=acl_iface_partition.qxp
    - زیاتیدونکي_کمپیلیشن_ایکسپورٹ_پارټیشن_نوم = acl_iface_partition
    - زیاتیدونکي_تړون_صادرات_پوسټ_سنت = آن
    - زیاتیدونکي_تالیف_د صادراتو_پوسټ_فټ = آن
    - زیاتیدونکي_کمپیلیشن_د صادراتو_روټینګ = آن
    - زیاتیدونکي_تړون_صادرات_فلاټین = بند
    وروسته له دې چې تاسو د برخې څخه HPS لرې کړئ، تاسو کولی شئ .qxp وارد کړئ file او خپل ډیزاین تالیف کړئ.
  2. د لاندې دندو په ترسره کولو سره د OpenCL لپاره د Intel FPGA RTE اوسني نسخه سره د SD فلش کارت عکس تازه کړئ:
    a. پورته کول file د تخصیص جدول (fat32) او پراخ شوی file سیسټم (ext3) برخې په موجوده عکس کې د لوپ بیک وسیلو په توګه. د تفصيلي لارښوونو لپاره، د SD فلش کارت انځور جوړولو کې 2 ګام ته مراجعه وکړئ.
    ب. په /home/root/opencl_arm32_rte لارښود کې، لرې کړئ fileد RTE د پخوانۍ نسخې څخه.
    ج. د RTE اوسنی نسخه ډاونلوډ او خلاص کړئ په /home/root/opencl_arm32_rte لارښود کې.
    d. په /driver/version.h file ستاسو د دودیز پلیټ فارم څخه، د ACL_DRIVER_VERSION دنده تازه کړئ . (د مثال لپارهample، 16.1.x، چیرته چې 16.1 د SDK نسخه ده، او x د ډرایور نسخه ده چې تاسو یې تنظیم کړئ).
    e. ډرایور بیا جوړ کړئ.
    f. د خپل ګمرکي پلیټ فارم هارډویر فولډر ړنګ کړئ. د ګمرک پلیټ فارم، د تازه شوي ډرایور سره، /home/root/opencl_arm_rte/board لارښود ته کاپي کړئ.
    g. د Altera.icd کاپي کړئ file د /home/root/opencl_arm32_rte ډایرکټر څخه او دا په /etc/OpenCL/vendors لارښود کې اضافه کړئ.
    h. نوی عکس غیر نصب او ازموینه وکړئ. د تفصيلي لارښوونو لپاره، د SD فلش کارت انځور جوړولو کې له 8 څخه تر 11 پورې مرحلې ته مراجعه وکړئ.

اړونده لینکونه

  • په 14 پاڼه کې د SD فلش کارت انځور جوړول
    تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ.
  • د فارورډ مطابقت لپاره د ګمرک پلیټ فارم اتوماتیک

1.3 د شریکې حافظې لپاره د سافټویر ملاتړ
د FPGA او CPU تر مینځ شریکه فزیکي حافظه د OpenCL کرنلونو لپاره غوره حافظه ده چې په SoC FPGAs کې چلیږي. ځکه چې FPGA شریک فزیکي حافظې ته لاسرسی لري، لکه څنګه چې د شریک مجازی حافظې سره مخالف دی، دا د CPU پاڼې میزونو ته لاسرسی نلري چې د کاروونکي مجازی پتې د فزیکي پاڼې پتې ته نقشه کوي.
د هارډویر په اړه، د OpenCL کرنل د HPS DDR هارډ حافظې کنټرولر سره د مستقیم ارتباط له لارې شریک فزیکي حافظې ته لاسرسی لري. د سافټویر په اړه، د شریک فزیکي حافظې لپاره مالتړ لاندې نظرونه لري:

  1. په CPU کې د حافظې تخصیص لپاره ځانګړي سافټویر پلي کول (د مثال لپارهample، malloc() فنکشن نشي کولی د حافظې سیمه تخصیص کړي چې FPGA یې کارولی شي.
    هغه حافظه چې د malloc() فنکشن تخصیص کوي د مجازی حافظې پته ځای کې متضاد دی، مګر هر ډول فزیکي مخونه احتمال نلري چې په فزیکي توګه سره نږدې وي. د دې په څیر، کوربه باید د دې وړتیا ولري چې د فزیکي پلوه د حافظې سیمې تخصیص کړي. په هرصورت، دا وړتیا په لینکس کې د کاروونکي ځای غوښتنلیکونو کې شتون نلري. نو ځکه، د لینکس کرنل ډرایور باید تخصیص ترسره کړي.
  2. د OpenCL SoC FPGA لینکس کرنل ډرایور د mmap() فنکشن شاملوي ترڅو شریک فزیکي حافظه تخصیص کړي او د کارونکي ځای ته یې نقشه کړي. mmap() فنکشن د معیاري لینکس کرنل کال dma_alloc_coherent() کاروي ترڅو د وسیلې سره د شریکولو لپاره د فزیکي پلوه متضاد حافظې سیمو غوښتنه وکړي.
  3. په ډیفالټ لینکس کرنل کې، dma_alloc_coherent() له 0.5 میګابایټ (MB) څخه ډیر فزیکي پلوه حافظه نه تخصیص کوي. د دې لپاره چې dma_alloc_coherent() ته اجازه ورکړئ چې په پراخه کچه فزیکي پلوه حافظه تخصیص کړي ، د لینکس کرنل د متضاد حافظې تخصیص (CMA) خصوصیت فعال کړئ او بیا د لینکس کرنل بیا تنظیم کړئ.
    د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم لپاره ، CMA د 512 GB فزیکي حافظې څخه 1 MB اداره کوي. تاسو ممکن دا ارزښت زیات یا کم کړئ، د شریک شوي حافظې مقدار پورې اړه لري چې غوښتنلیک ورته اړتیا لري. د dma_alloc_coherent() زنګ ممکن د دې توان ونلري چې بشپړ 512 MB د فزیکي پلوه یادداشت تخصیص کړي؛ په هرصورت، دا کولی شي په منظمه توګه نږدې 450 MB حافظه ترلاسه کړي.
  4. CPU کولی شي حافظه ذخیره کړي چې dma_alloc_coherent() کال تخصیص کوي. په ځانګړې توګه، د کوربه غوښتنلیک څخه د لیکلو عملیات د OpenCL کرنلونو ته نه لیدل کیږي. په OpenCL SoC FPGA لینکس کرنل ډرایور کې د mmap() فنکشن pgprot_noncached() یا remap_pf_range() فنکشن ته زنګونه هم لري ترڅو د حافظې د دې سیمې لپاره کیچنګ غیر فعال کړي.
  5. وروسته له دې چې dma_alloc_coherent() فنکشن د فزیکي پلوه متضاد حافظه تخصیص کوي، د mmap() فنکشن د رینج پیل ته مجازی پته بیرته راګرځوي، کوم چې د هغه حافظې پته ده چې تاسو یې اختصاص کړئ. کوربه غوښتنلیک حافظې ته د لاسرسي لپاره دې مجازی پتې ته اړتیا لري. له بلې خوا، د OpenCL کرنل فزیکي پتې ته اړتیا لري. د لینکس کرنل ډرایور د مجازی څخه فزیکي پته نقشه تعقیبوي. تاسو کولی شئ هغه فزیکي پتې نقشه کړئ چې mmap() ډرایور ته د پوښتنې په اضافه کولو سره اصلي فزیکي پتې ته راستنیږي.
    aocl_mmd_shared_mem_alloc() د MMD غوښتنلیک پروګرام کولو انٹرفیس (API) کال لاندې پوښتنې شاملوي:
    a. mmap() فنکشن چې حافظه تخصیص کوي او مجازی پته بیرته راګرځوي.
    ب. اضافي پوښتنه چې بیرته راستانه شوي مجازی پته فزیکي پته ته نقشه کوي.
    aocl_mmd_shared_mem_alloc() MMD API کال بیا دوه پتې بیرته راګرځوي
    - اصلي بیرته راستنیدونکي پته مجازی پته ده، او فزیکي پته د device_ptr_out ته ځي.
    یادونه: ډرایور کولی شي یوازې مجازی پتې نقشه کړي چې د mmap() فعالیت فزیکي پتې ته راستنیږي. که تاسو د کوم بل مجازی پوائنټر فزیکي پته غوښتنه وکړئ، چلوونکی یو NULL ارزښت بیرته راولي.

خبرداری: د OpenCL د چلولو وخت کتابتونونو لپاره Intel FPGA SDK داسې انګیرل کیږي چې شریکه حافظه لومړنۍ حافظه ده چې په board_spec.xml کې لیست شوي. file. په بل عبارت، هغه فزیکي پته چې د لینکس کرنل ډرایور ترلاسه کوي د Avalon® پته کیږي چې د OpenCL کرنل HPS SDRAM ته تیریږي.
د چلولو وخت کتابتون ته په پام سره، د clCreateBuffer() زنګ وکاروئ ترڅو شریکه حافظه په لاندې ډول د وسیلې بفر په توګه تخصیص کړئ:

  • د دوه-DDR بورډ ډولونو لپاره چې دواړه شریک شوي او غیر شریک شوي حافظې سره، clCreateBuffer() شریکه حافظه تخصیص کوي که تاسو د CL_MEM_USE_HOST_PTR بیرغ مشخص کړئ. د نورو بیرغونو کارول د دې لامل کیږي چې clCreateBuffer() په غیر شریک شوي حافظه کې بفر تخصیص کړي.
  • یوازې د شریکې حافظې سره د یو-DDR بورډ ډول لپاره ، clCreateBuffer() شریک حافظه تخصیص کوي پرته لدې چې تاسو کوم بیرغ مشخص کړئ.
    اوس مهال، په ARM CPU کې د 32-bit لینکس ملاتړ د SDK د چلولو وخت کتابتونونو کې د شریک حافظې ملاتړ حد اداره کوي. په بل عبارت، د چلولو وخت کتابتونونه نورو چاپیریالونو ته راټول شوي (د مثال لپارهample، x86_64 لینکس یا 64-bit وینډوز) د شریکې حافظې ملاتړ نه کوي.
    C5soc د لاندې دلایلو لپاره د شریک او غیر شریک شوي حافظې ترمینځ توپیر کولو لپاره متضاد حافظه پلي نه کړه:
    1. تاریخ — د متفاوت حافظې ملاتړ شتون نه درلود کله چې د شریک حافظې ملاتړ په اصل کې رامینځته شوی و.
    2. یونیفورم انٹرفیس — ځکه چې OpenCL یو خلاص معیار دی، انټیل د متفاوت کمپیوټري پلیټ فارم پلورونکو تر مینځ ثبات ساتي. نو ځکه، د نورو بورډ پلورونکو جوړښتونو په څیر ورته انٹرفیس د شریک حافظې تخصیص او کارولو لپاره کارول کیږي.

1.4 د FPGA بیا تنظیم کول
د SoC FPGAs لپاره، CPU کولی شي د FPGA اصلي فیبریک بیا تنظیم کړي پرته له دې چې د CPU عملیات مداخله وکړي. د FPGA مدیر هارډویر بلاک چې د HPS پټوي او اصلي FPGA بیا تنظیم کول ترسره کوي. د لینکس کرنل کې یو ډرایور شامل دی چې د FPGA مدیر ته اسانه لاسرسي وړوي.

  • ته view د FPGA کور حالت، د بلی /sys/class/fpga/fpga0/ حالت کمانډ غوښتنه وکړئ.
    د Intel FPGA SDK د OpenCL برنامه افادیت لپاره د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم سره شتون لري دا انٹرفیس د FPGA برنامه کولو لپاره کاروي. کله چې د چلونکي CPU سره د FPGA کور بیا برنامه کول ، د برنامه افادیت لاندې ټولې دندې ترسره کوي:
    1. د بیا پروګرام کولو دمخه، د FPGA او HPS ترمنځ د اړیکو ټول پلونه غیر فعال کړئ، دواړه H2F او LH2F پلونه.
    د بیا پروګرام کولو بشپړیدو وروسته دا پلونه بیا فعال کړئ.
    پاملرنه: د OpenCL سیسټم د FPGA-to-HPS (F2H) پل نه کاروي. د نورو معلوماتو لپاره د سایکلون V وسیلې لاسي کتاب کې د HPS-FPGA انٹرفیس برخې ته مراجعه وکړئ، 3 جلد: د هارډ پروسیسر سیسټم تخنیکي حوالې لارښود.
    2. ډاډ ترلاسه کړئ چې د FPGA او HPS DDR کنټرولر ترمنځ اړیکه د بیا پروګرام کولو پرمهال غیر فعاله ده.
    3. ډاډ ترلاسه کړئ چې په FPGA کې د FPGA مداخلې د بیا پروګرام کولو پرمهال غیر فعال شوي.
    همچنان ، ډرایور ته خبر ورکړئ چې د بیا برنامه کولو پرمهال د FPGA څخه کوم مداخله رد کړي.

د ریښتیني تطبیق په اړه د توضیحاتو لپاره د برنامه کارونې سرچینې کوډ سره مشوره وکړئ.

خبرداری: کله چې CPU روان وي د HPS DDR کنټرولر ترتیب مه بدلوئ.
داسې کول ممکن د وژونکي سیسټم خطا لامل شي ځکه چې تاسو ممکن د DDR کنټرولر ترتیب بدل کړئ کله چې د CPU څخه د حافظې پاتې لیږدونه شتون ولري. دا پدې مانا ده چې کله چې CPU روان وي، تاسو ممکن د FPGA کور د یو عکس سره بیا پروګرام ونکړئ چې په مختلف ترتیب کې د HPS DDR کاروي.
په یاد ولرئ چې د OpenCL سیسټم، او د گولډن هارډویر حوالې ډیزاین د Intel SoC FPGA ایمبیډډ ډیزاین سویټ (EDS) سره شتون لري، د HPS DDR په یو واحد 256-bit حالت کې تنظیموي.
د CPU سیسټم برخې لکه د شاخ وړاندوینه کونکی یا د پاڼې میز پریفیچر ممکن د DDR کمانډونه صادر کړي حتی کله چې داسې ښکاري چې هیڅ شی په CPU کې نه چلیږي.
نو ځکه، د بوټ وخت یوازینی خوندي وخت دی چې د HPS DDR کنټرولر ترتیب تنظیم کړي.
دا دا هم په ګوته کوي چې U-boot باید خام بائنری ولري file (.rbf) انځور په حافظه کې د پورته کولو لپاره. که نه نو ، تاسو ممکن په FPGA کې د نه کارول شوي بندرونو سره HPS DDR فعال کړئ او بیا وروسته په احتمالي توګه د پورټ تشکیلات بدل کړئ. د دې دلیل لپاره، د OpenCL لینکس کرنل ډرایور نور د HPS DDR کنټرولر ترتیب کولو لپاره اړین منطق نه لري.
د SW3 دوه اړخیزه انلاین کڅوړه (DIP) د Cylon V SoC پراختیایی کټ کې د .rbf عکس متوقع شکل کنټرولوي (دا چې ایا file کمپریس شوی او/یا کوډ شوی). C5soc، او د طلایی هارډویر حوالې ډیزاین چې د SoC EDS سره شتون لري، کمپریس شوي مګر نه کوډ شوي .rbf انځورونه شامل دي. د OpenCL سایکلون V SoC پیل کولو لارښود لپاره د Intel FPGA SDK کې د SW3 DIP سویچ تنظیمات د دې .rbf عکس ترتیب سره سمون لري.

اړونده لینکونه

  • HPS-FPGA انٹرفیسونه
  • د SW3 سویچونو تنظیم کول

1.4.1 د FPGA سیسټم جوړښت توضیحات
د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم لپاره ملاتړ د Stratix® V حوالې پلیټ فارم (s5_ref) پراساس دی ، چې د OpenCL لپاره د Intel FPGA SDK سره شتون لري.
د c5soc Qsys سیسټم عمومي تنظیم او د کرنل ډرایور په s5_ref کې ورته ورته دي.
لاندې د FPGA اصلي برخې په دواړو c5soc او s5_ref کې یو شان دي:

  • VERSION_ID بلاک
  • د آرام میکانیزم
  • د حافظې بانک ویشونکی
  • د کیچ سنوپ انٹرفیس
  • د کرنل ساعت
  • د راجستر لاسرسي کنټرول (CRA) بلاکونه

1.5 د SD فلش کارت انځور جوړول
ځکه چې سایکلون V SoC FPGA په چپ کې یو بشپړ سیسټم دی ، تاسو د سیسټم بشپړ تعریف وړاندې کولو مسؤل یاست. Intel وړاندیز کوي چې تاسو دا د SD فلش کارت عکس په بڼه وړاندې کړئ. د OpenCL کارونکي لپاره Intel FPGA SDK کولی شي په ساده ډول عکس د مایکرو SD فلش کارت ته ولیکي او د SoC FPGA بورډ د کارونې لپاره چمتو دی.
په 13 مخ کې د موجوده SD فلش کارت عکس بدلول
انټیل وړاندیز کوي چې تاسو په ساده ډول د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم سره موجود عکس بدل کړئ. تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ.
په 14 پاڼه کې د SD فلش کارت انځور جوړول
تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ.

1.5.1 د موجوده SD فلش کارت عکس بدلول
انټیل وړاندیز کوي چې تاسو په ساده ډول د سایکلون V SoC سره موجود عکس بدل کړئ
د پراختیا کټ حواله پلیټ فارم. تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ.
د c5soc linux_sd_card_image.tgz انځور file په ALTERAOCLSDKROOT/board/c5soc ډایرکټر کې شتون لري، چیرته چې ALTERAOCLSDKROOT د OpenCL نصبولو لارښود لپاره د Intel FPGA SDK لارې ته اشاره کوي.

پاملرنه: د SD فلش کارت عکس بدلولو لپاره ، تاسو باید د روټ یا سوډو امتیازات ولرئ.

  1. د $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz د کمپریس کولو لپاره fileد tar xvfzlinux_sd_card_image.tgz کمانډ چل کړئ.
  2. د هیلو_ورلډ اوپن سی ایل پخوانی تالیف کړئampستاسو د ګمرک پلیټ فارم ملاتړ په کارولو سره ډیزاین. د .rbf نوم بدل کړئ file چې د OpenCL آفلاین کمپیلر لپاره Intel FPGA SDK د opencl.rbf په توګه رامینځته کوي ، او د SD فلش کارت عکس کې د fat32 برخې کې ځای په ځای کړئ.
    تاسو کولی شئ ډاونلوډ کړئ hello_world exampد OpenCL ډیزاین Exampپه Altera کې les پاڼه webسایټ
  3. د .rbf ځای ونیسئ file د فلش کارت عکس د fat32 برخې کې.
    پاملرنه: د fat32 برخه باید دواړه zImage ولري file او .rbf file. د .rbf پرته file، یوه وژونکې تېروتنه به واقع شي کله چې تاسو ډرایور داخل کړئ.
  4. وروسته له دې چې تاسو د SD کارت عکس رامینځته کړئ ، دا لاندې کمانډ په کارولو سره مایکرو SD کارت ته ولیکئ: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. د خپل SD فلش کارت عکس ازموینې لپاره ، لاندې دندې ترسره کړئ:
    a. د مایکرو SD فلش کارت د SoC FPGA بورډ کې دننه کړئ.
    ب. تخته ځواکمن کړئ.
    ج. د aocl تشخیص یوټیلیټ کمانډ غوښتنه وکړئ.

1.5.2 د SD فلش کارت انځور جوړول
تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ. د نوي SD فلش کارت عکس جوړولو او د موجوده SD فلش کارت عکس بیا جوړولو په اړه عمومي لارښوونې په GSRD v14.0.2 – د RocketBoards.org د SD کارت پا pageه کې شتون لري. webسایټ
لاندې مرحلې د گولډن سیسټم حوالې ډیزاین (GSRD) SD فلش کارت عکس څخه د linux_sd_card_image.tgz عکس رامینځته کولو طرزالعمل تشریح کوي:
یادونه:
د c5soc عکس څخه د عکس رامینځته کولو لپاره ، په دې کړنلاره کې ذکر شوي ټول پلي شوي دندې ترسره کړئ.

  1. د Rocketboards.org څخه د GSRD SD فلش کارت عکس نسخه 14.0 ډاونلوډ او خلاص کړئ.
  2. پورته کول file د تخصیص جدول (fat32) او پراخ شوی file سیسټم (ext3) برخې په دې عکس کې د لوپ بیک وسیلو په توګه. د ویش نصبولو لپاره، لاندې مرحلې ترسره کړئ:
    a. د /sbin/fdisk -lu image_ په کارولو سره په عکس کې دننه د برخې د بایټ پیل مشخص کړئ.file قومانده
    د مثال لپارهample، د W1 FAT ډول 95 پارشن نمبر 2121728 بلاک آفسیټ لري. په هر بلاک کې 512 بایټس سره، د بایټ آفسیټ 512 بایټ x 2121728 = 1086324736 بایټس دی.
    ب. د وړیا لوپ وسیله وپیژنئ (د مثال لپارهample، /dev/loop0) د Lostup -f کمانډ په ټایپ کولو سره.
    ج. فرض کړئ /dev/loop0 وړیا لوپ وسیله ده، خپل د فلش کارت عکس د لوپ بلاک وسیلې ته د لوټ اپ /dev/loop0 امیج په کارولو سره ورکړئ.file -0 1086324736 کمانډ.
    d. د mount /dev/loop0 /media/disk1 کمانډ په کارولو سره لوپ وسیله نصب کړئ.
    د انځور دننه file, /media/disk1 اوس یو نصب شوی fat32 برخه ده.
    e. د ext3 برخې لپاره a څخه تر d پورې مرحلې تکرار کړئ.
  3. په الټرا کې د ډاونلوډ مرکز څخه د OpenCL کڅوړې لپاره د Intel FPGA Runtime Environment Cyclone V SoC FPGA نسخه ډاونلوډ کړئ webسایټ
    a. د Quartus Prime سافټویر نسخه ترڅنګ د ډاونلوډ تڼۍ کلیک وکړئ.
    ب. د خوشې کولو نسخه، عملیاتي سیسټم، او د ډاونلوډ طریقه مشخص کړئ.
    ج. د اضافي سافټویر ټب کلیک وکړئ، او د Intel FPGA ډاونلوډ کولو لپاره غوره کړئ
    د اوپن سی ایل لینکس سایکلون V SoC TGZ لپاره د چلولو چاپیریال.
    d. وروسته له دې چې تاسو aocl-rte- ډاونلوډ کړئ .arm32.tgz file, دا خلاص کړئ
    یو لارښود چې تاسو یې لرئ.
  4. نه پیکه aocl-rte- ځای په ځای کړئ .arm32 ډایرکټر د عکس په ext32 برخه کې /home/root/opencl_arm3_rte ډایرکټر کې file.
  5. د خپل ګمرک پلیټ فارم هارډویر فولډر ړنګ کړئ، او بیا د ګمرک پلیټ فارم د /home/root/ opencl_arm32_rte بورډ فرعي لارښود کې ځای په ځای کړئ.
  6. init_opencl.sh جوړ کړئ file په /home/root لارښود کې د لاندې منځپانګې سره: صادر کړئ ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte صادر کړئ AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ صادرات PATH=$ALTERAOCLSDKROOT/bin:$PATH صادرول LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    د SDK کارونکي د چاپیریال متغیرونو او د OpenCL لینکس کرنل ډرایور بارولو لپاره سرچینه ./init_opencl.sh کمانډ چلوي.
  7. که تاسو پریلوډر تازه کولو ته اړتیا لرئ، DTS files، یا د لینکس کرنل، تاسو د SoC EDS څخه arm-linux-gnueabihf-gcc کمپیلر ته اړتیا لرئ. د سافټویر ترلاسه کولو لپاره د Intel SoC FPGA ایمبیډډ ډیزاین سویټ کارونکي لارښود کې ذکر شوي لارښوونې تعقیب کړئ ، دوی یې بیا تنظیم کړئ ، او اړونده تازه کړئ files په نصب شوي fat32 برخې کې.
    پاملرنه: دا خورا احتمال شتون لري چې تاسو اړتیا لرئ پری لوډر تازه کړئ که ستاسو ګمرک پلیټ فارم د c5soc په پرتله مختلف پن کارونې ولري.
    په یاد ولرئ: که تاسو د لینکس کرنل بیا تنظیم کړئ ، د ورته لینکس کرنل سرچینې سره د لینکس کرنل ډرایور بیا تنظیم کړئ files. که چیرې د لینکس کرنل ډرایور او د لینکس کرنل ترمینځ توپیر شتون ولري ، نو ډرایور به بار نشي. همدارنګه، تاسو باید CMA فعال کړئ.
    د لا زیاتو معلوماتو لپاره د لینکس کرنل بیا تنظیمولو ته مراجعه وکړئ.
  8. د هیلو_ورلډ اوپن سی ایل پخوانی تالیف کړئampستاسو د ګمرک پلیټ فارم ملاتړ په کارولو سره ډیزاین. د .rbf نوم بدل کړئ file چې د OpenCL آفلاین کمپیلر لپاره Intel FPGA SDK د opencl.rbf په توګه رامینځته کوي ، او د SD فلش کارت عکس کې د fat32 برخې کې ځای په ځای کړئ.
    تاسو کولی شئ ډاونلوډ کړئ hello_world exampد OpenCL ډیزاین Exampپه Altera کې les پاڼه webسایټ
    9. وروسته له دې چې تاسو ټول اړین ذخیره کړئ fileد فلش کارت عکس کې، لاندې کمانډونه وغواړئ:
    a. همغږي کول
    ب. unmount /media/disk1
    ج. بې ځایه کول چیرته د ډایرکټر نوم دی چې تاسو یې په 3 مخ کې په 3 کې د ext3 برخې نصبولو لپاره کاروئ (د مثال لپارهample، /media/disk2).
    d. لوسټ اپ -d /dev/loop0
    e. لوسټ اپ -d /dev/loop1
  9. د لاندې کمانډ په کارولو سره د SD فلش کارت عکس کمپریس کړئ: tar cvfz .tgz linux_sd_card_image
  10. تحویل کړي .tgz file ستاسو د ګمرک پلیټ فارم روټ لارښود دننه.
  11. د خپل SD فلش کارت عکس ازموینې لپاره ، لاندې دندې ترسره کړئ:
    a. په مایکرو SD فلش کارت کې پایله شوي غیر کمپریس شوي عکس ولیکئ.
    ب. د مایکرو SD فلش کارت د SoC FPGA بورډ کې دننه کړئ.
    ج. تخته ځواکمن کړئ.
    d. د aocl تشخیص یوټیلیټ کمانډ غوښتنه وکړئ.

اړونده لینکونه

  • د Intel SoC FPGA ایمبیډډ ډیزاین سویټ کارونکي لارښود
  • د OpenCL ډیزاین Exampپه Altera کې les پاڼه webسایټ
  • په 16 پاڼه کې د لینکس کرنل بیا تالیف کول
    د CMA فعالولو لپاره، تاسو باید لومړی د لینکس کرنل بیا جوړ کړئ.
  • ستاسو د FPGA بورډ د وسیلې نوم پوښتنه کول (تشخیص)

1.6 د سایکلون V SoC FPGA لپاره د لینکس کرنل تالیف کول
د سایکلون V SoC FPGA بورډ کې د OpenCL غوښتنلیکونو چلولو دمخه، تاسو باید د لینکس کرنل سرچینه تالیف کړئ، او د OpenCL لینکس کرنل ډرایور تالیف او نصب کړئ.

  1. په 16 پاڼه کې د لینکس کرنل بیا تالیف کول
    د CMA فعالولو لپاره، تاسو باید لومړی د لینکس کرنل بیا جوړ کړئ.
  2. د OpenCL لینکس کرنل ډرایور تالیف او نصب کول په 17 مخ کې د OpenCL لینکس کرنل ډرایور د تالیف شوي کرنل سرچینې په مقابل کې تالیف کړئ.

1.6.1 د لینکس کرنل بیا تالیف کول
د CMA فعالولو لپاره، تاسو باید لومړی د لینکس کرنل بیا جوړ کړئ.

  1. د GSRD v14.0 کلیک وکړئ - د RocketBoards.org د سرچینو پاڼې کې د لینکس لینک تالیف کول webسایټ د لینکس کرنل سرچینې کوډ ډاونلوډ او بیا جوړولو لارښوونو ته لاسرسی لپاره.
    د OpenCL لپاره د ™ Intel FPGA SDK سره کارولو لپاره، socfpga-3.13-rel14.0 په توګه مشخص کړئ .
  2. یادونه: د ودانولو پروسه آرچ/arm/configs/socfpga_defconfig جوړوي file. دا file د socfpga ډیفالټ ترتیب لپاره تنظیمات مشخص کوي.
    لاندې کرښې د arch/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
    د CONFIG_CMA_SIZE_MBYTES ترتیب ارزښت د فزیکي پلوه د موجود حافظې په مجموعي شمیر کې پورتنۍ حد ټاکي. تاسو ممکن دا ارزښت ډیر کړئ که تاسو ډیر حافظې ته اړتیا لرئ.
  3. پاملرنه: په SoC FPGA بورډ کې د ARM پروسیسر ته د موجود فزیکي حافظې ټول مقدار 1 GB دی. Intel سپارښتنه نه کوي چې تاسو د CMA مدیر 1 GB ته نږدې تنظیم کړئ.
  4. د اوسني تشکیلاتو پاکولو لپاره د make mrproper کمانډ چل کړئ.
  5. د make ARCH=arm socfpga_deconfig کمانډ چل کړئ.
    ARCH=arm په ګوته کوي چې تاسو غواړئ د ARM جوړښت تنظیم کړئ.
    socfpga_defconfig په ګوته کوي چې تاسو غواړئ د ډیفالټ socfpga ترتیب وکاروئ.
  6. صادرات CROSS_COMPILE=arm-linux-gnueabihf- کمانډ پرمخ وړئ.
    دا کمانډ د CROSS_COMPILE چاپیریال متغیر ټاکي ترڅو د مطلوب وسیلې سلسلې مخکینۍ مشخص کړي.
  7. د make ARCH=arm zImage کمانډ چل کړئ. پایله لرونکی عکس په آرچ / بازو / بوټ / zImage کې شتون لري file.
  8. د زیمیج ځای ونیسئ file د فلش کارت عکس د fat32 برخې کې. د تفصيلي لارښوونو لپاره، په Rocketboards.org کې د سایکلون V SoC FPGA ځانګړي GSRD کارونکي لارښود ته مراجعه وکړئ.
  9. یادونه: د OpenCL لینکس کرنل ډرایور په سمه توګه دننه کولو لپاره، لومړی د SDKgenerated.rbf پورته کړئ file په FPGA کې.
    د .rbf د جوړولو لپاره file، د SDK ډیزاین تالیف کړئ exampد سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم سره د هدف شوي ګمرک پلیټ فارم په توګه.
    9. د .rbf ځای ونیسئ file د فلش کارت عکس د fat32 برخې کې.
    پاملرنه: د fat32 برخه باید دواړه zImage ولري file او .rbf file. د .rbf پرته file، یوه وژونکې تېروتنه به واقع شي کله چې تاسو ډرایور داخل کړئ.
  10. برنامه شوي مایکرو SD کارت دننه کړئ ، کوم چې د SD کارت عکس لري چې تاسو یې ترمیم کړی یا دمخه رامینځته شوی ، د سایکلون V SoC پرمختیا کټ کې دننه کړئ او بیا د SoC FPGA بورډ ځواکمن کړئ.
  11. د uname -r کمانډ په چلولو سره د نصب شوي لینکس کرنل نسخه تایید کړئ.
  12. د دې تصدیق کولو لپاره چې تاسو په کرنل کې CMA په بریالیتوب سره فعال کړئ، د SoC FPGA بورډ سره ځواکمن شوي، د grep init_cma /proc/kallsyms کمانډ چل کړئ.
    CMA فعال شوی که چیرې محصول خالي نه وي.
  13. د SDK سره د بیا جوړ شوي لینکس کرنل کارولو لپاره، د لینکس کرنل ډرایور تالیف او نصب کړئ.

اړونده لینکونه

  • د سرو زرو سیسټم حوالې ډیزاین (GSRD) کارن لارښود
  • په 13 پاڼه کې د SD فلش کارت انځور جوړول
    ځکه چې سایکلون V SoC FPGA په چپ کې یو بشپړ سیسټم دی ، تاسو د سیسټم بشپړ تعریف وړاندې کولو مسؤل یاست.

1.6.2 د OpenCL لینکس کرنل ډرایور تالیف او نصب کول
د تالیف شوي کرنل سرچینې په وړاندې د OpenCL لینکس کرنل ډرایور تالیف کړئ.

د ډرایور سرچینه د OpenCL لپاره د Intel FPGA Runtime Environment په سایکلون V SoC FPGA نسخه کې شتون لري. برسېره پردې، ډاډ ترلاسه کړئ چې تاسو د OpenCL تولید شوي .rbf لپاره د Intel FPGA SDK بار کړی دی file په FPGA کې د لینکس کرنل ماډل غلط نصبولو مخه ونیسئ.

  1. په الټرا کې د ډاونلوډ مرکز څخه د OpenCL کڅوړې لپاره د Intel FPGA Runtime Environment Cyclone V SoC FPGA نسخه ډاونلوډ کړئ webسایټ
    a. د Quartus Prime سافټویر نسخه ترڅنګ د ډاونلوډ تڼۍ کلیک وکړئ.
    ب. د خوشې کولو نسخه، عملیاتي سیسټم، او د ډاونلوډ طریقه مشخص کړئ.
    ج. د اضافي سافټویر ټب کلیک وکړئ، او د Intel FPGA ډاونلوډ کولو لپاره غوره کړئ
    د اوپن سی ایل لینکس سایکلون V SoC TGZ لپاره د چلولو چاپیریال.
    d. وروسته له دې چې تاسو aocl-rte- ډاونلوډ کړئ .arm32.tgz file, دا خلاص کړئ
    یو لارښود چې تاسو یې لرئ.
    د موټر چلوونکي سرچینه په aocl-rte- کې ده .arm32/board/c5soc/ ډرایور لارښود.
  2. د OpenCL لینکس کرنل ډرایور د بیا تنظیمولو لپاره، د ډرایور په میک کې د KDIR ارزښت تنظیم کړئfile هغه لارښود ته چې د لینکس کرنل سرچینه لري files.
  3. د صادرولو CROSS_COMPILE=arm-linux-gnueabihf- کمانډ چل کړئ ترڅو ستاسو د وسیلې سلسله مخکینۍ نښه وښیې.
  4. د پاک پاک کمانډ چل کړئ.
  5. د aclsoc_drv.ko جوړولو لپاره د میک کمانډ چل کړئ file.
  6. د Opencl_arm32_rte لارښود سایکلون V SoC FPGA بورډ ته انتقال کړئ.
    د scp -r چلول root@your-ipaddress: کمانډ د چلولو چاپیریال په/کور/روټ ډایرکټر کې ځای په ځای کوي.
  7. د init_opencl.sh سکریپټ چل کړئ چې تاسو د SD کارتیمیج جوړولو پرمهال رامینځته کړی.
  8.  د aocl تشخیص یوټیلیټ کمانډ غوښتنه وکړئ. د تشخیص کارتیا به وروسته له دې چې تاسو init_opencl.sh په بریالیتوب سره پرمخ وړئ یو تیریدونکي پایله بیرته راوړي.

1.7 پیژندل شوې مسلې
اوس مهال، د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم سره د OpenCL لپاره د Intel FPGA SDK کارولو باندې ځینې محدودیتونه شتون لري.

  1. تاسو نشئ کولی د CL_DEVICE_VENDOR او CL_DEVICE_NAME تارونو لخوا د clGetDeviceInfo() کال راپور شوي د پلورونکي او بورډ نومونه پورته کړئ.
  2. که کوربه په ګډ DDR سیسټم کې دوامداره حافظه تخصیص کړي (یعنې HPS DDR) او دا د کرنل اجرا کولو وروسته دوامداره حافظه بدلوي ، نو په حافظه کې ډاټا ممکن زوړ شي. دا مسله رامینځته کیږي ځکه چې د FPGA کور نشي کولی د CPU-to-HPS DDR لیږدونو ته مخه کړي.
    د پخوانیو معلوماتو ته د لاسرسي څخه وروسته د کرنل اعدامونو د مخنیوي لپاره، د لاندې کارونو څخه یو پلي کړئ:
    • د پیل کولو وروسته دوامداره حافظه مه بدلوئ.
    • که تاسو څو __مستقیم ډیټا سیټونو ته اړتیا لرئ، ډیری دوامداره حافظې بفرونه جوړ کړئ.
    • که شتون ولري، په FPGA DDR کې ستاسو د سرعت کونکي بورډ کې دوامداره حافظه تخصیص کړئ.
  3. په ARM کې د SDK افادیت یوازې د برنامه ملاتړ کوي او د کارونې کمانډونه تشخیصوي.
    د فلش ، انسټال او غیر نصب کولو یوټیلټي کمانډونه د لاندې دلایلو لپاره د سایکلون V SoC پرمختیا کټ کې د پلي کیدو وړ ندي:
    a. د نصبولو اسانتیا باید د aclsoc_drv لینکس کرنل ډرایور تالیف کړي او په SoC FPGA کې یې فعال کړي. د پراختیا ماشین باید تالیف ترسره کړي؛ په هرصورت، دا دمخه د SoC FPGA لپاره د لینکس کرنل سرچینې لري. د پراختیا ماشین لپاره د لینکس کرنل سرچینې د SoC FPGA لپاره له هغه څخه توپیر لري. د SoC FPGA لپاره د لینکس کرنل سرچینو موقعیت احتمال د SDK کارونکي لپاره نامعلوم دی. په ورته ډول ، د غیر نصبولو یوټیلیټ هم د سایکلون V SoC پرمختیا کټ کې شتون نلري.
    همچنان ، د SoC بورډ ته د aclsoc_drv تحویلول ننګونه ده ځکه چې د سایکلون V SoC پراختیایی کټ ډیفالټ توزیع د لینکس کرنل نلري files یا د GNU کمپیلر ټولګه (GCC) کمپیلر.
    ب. د فلش اسانتیا د .rbf ځای په ځای کولو ته اړتیا لري file د مایکرو SD فلش کارت FAT32 برخې ته د OpenCL ډیزاین. اوس مهال، دا ویش نه پورته کیږي کله چې د SDK کاروونکي بورډ ته واک ورکوي. له همدې امله، د برخې تازه کولو غوره لاره د فلش کارت ریډر او پراختیا ماشین کارول دي.
  4. کله چې د OpenCL آفلاین کمپیلر اجرا وړ لپاره د Intel FPGA SDK ترمنځ تیریږي files (.aocx) چې د بورډ مختلف ډولونو سره مطابقت لري (یعنې c5soc او c5soc_sharedonly)، تاسو باید د .aocx پورته کولو لپاره د SDK د برنامه کارونې څخه کار واخلئ. file د لومړي ځل لپاره د نوي بورډ ډول لپاره. که تاسو په ساده ډول د نوي بورډ ډول په کارولو سره کوربه غوښتنلیک پرمخ وړئ مګر FPGA د بل بورډ ډول څخه عکس لري ، ممکن وژونکې تېروتنه رامینځته شي.
  5. د .qxp file د انٹرفیس د برخې برخې دندې شاملې ندي ځکه چې د Quartus Prime سافټویر په دوامداره توګه د دې برخې وخت اړتیاوې پوره کوي.
  6. کله چې تاسو بورډ ځواکمن کړئ، د هغې د رسنیو لاسرسي کنټرول (MAC) پته په تصادفي شمیره کې ټاکل کیږي. که ستاسو د LAN پالیسي دا چلند ته اجازه نه ورکوي، د لاندې کارونو په ترسره کولو سره د MAC پته تنظیم کړئ:
    a. د U-Bot پاور اپ په جریان کې، د U-Bot کمانډ پرامپټ ته د ننوتلو لپاره هر کلی فشار ورکړئ.
    ب. د کمانډ پرامپټ کې setenv ethaddr 00:07:ed:00:00:03 ټایپ کړئ.
    تاسو کولی شئ هر MAC پته غوره کړئ.
    ج. د saveenv کمانډ ټایپ کړئ.
    d. بورډ ریبوټ کړئ.

1.8 د اسنادو د بیاکتنې تاریخ
جدول 1.
د OpenCL سایکلون V SoC لپاره د Intel FPGA SDK سند بیاکتنه تاریخ
د پراختیا کټ ریفرنس پلیټ فارم پورټینګ لارښود

نیټه نسخه بدلونونه
می-۱۹ 2017.05.08 • د ساتنې خوشې کول.
اکتوبر ۲۰۱۶ 2016.10.31 • د OpenCL لپاره Altera SDK د OpenCL لپاره Intel FPGA SDK ته بیا برانډ شوی.
• د OpenCL آفلاین کمپیلر لپاره Intel FPGA SDK ته د الټرا آفلاین کمپیلر بیا برانډ شوی.
می-۱۹ 2016.05.02 • د SD فلش کارت عکس جوړولو او بدلولو په اړه تعدیل شوي لارښوونې.
• د لینکس کرنل او د OpenCL لینکس کرنل ډرایور د بیا تنظیم کولو په اړه تعدیل شوي لارښوونې.
نومبر-۱۸ 2015.11.02 • د ساتنې خوشې کول، او د Quartus II مثالونه Quartus Prime ته بدل شوي.
می-۱۹ 15.0.0 • د FPGA بیا تنظیم کولو کې، د FPGA کور بیا پروګرام کولو لپاره لارښوونې لرې شوې
سره . د پیشو په بللو سره د rbf انځور fileنوم>. rbf
> /dev/ fpga0 کمانډ ځکه چې دا طریقه سپارښتنه نه کیږي.
دسمبر - 14 14.1.0 • سند د الټرا سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم پورټینګ لارښود په توګه بدل کړ.
• Aocl پروګرام ته د بیا پروګرام یوټیلیټ تازه کړیfilename>.aocx یوټیلټي کمانډ.
• د aocl تشخیص او aocl تشخیص ته د تشخیصي اسانتیا تازه کول د کارونې قومانده.
• ستاسو د SoC بورډ برخې ته د حوالې پلیټ فارم پورټ کولو کې طرزالعمل تازه کړی ترڅو د تضمین شوي وخت بندولو جریان لپاره د وخت پاک برخې رامینځته کولو لپاره د c5soc بورډ برخې پورټینګ او ترمیم کولو لارښوونې شاملې کړي.
• موضوع داخل کړه د پورټ شوي حوالې پلیټ فارم تازه کول د لاندې دندو لپاره طرزالعملونه په ګوته کول:
1. د بورډ په برخه کې د هارډ پروسیسر سیسټم (HPS) بلاک څخه جلا کول
2. د SD فلش کارت عکس تازه کول
• د SD فلش کارت د انځور برخه جوړول تازه کړل. د طلایی سیسټم حوالې ډیزاین (GSRD) عکس 14.0 نسخه کارولو وړاندیز شوی د SoC ایمبیډډ ډیزاین سویټ (EDS) سره موجود عکس پرځای د پیل ټکي په توګه.
• د لینکس کرنل او د OpenCL لینکس کرنل ډرایور برخې بیا تنظیم کول تازه کړل:
1. د CROSS COMPILE متغیر تنظیم کولو لپاره لارښوونې اضافه شوې.
2. هغه کمانډ بدل کړئ چې تاسو یې چلوئ ترڅو تایید کړئ چې CMA په بریالیتوب سره فعال شوی.
جولای-۱۶ 14.0.0 •لومړني خپرول.

اسناد / سرچینې

د OpenCL لپاره intel FPGA SDK [pdf] د کارونکي لارښود
د OpenCL لپاره FPGA SDK، FPGA SDK، SDK د OpenCL لپاره، SDK

حوالې

یو نظر پریږدئ

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې په نښه شوي *