ইন্টেল - লোগোOpenCL এর জন্য FPGA SDK
ব্যবহারকারীর নির্দেশিকা

UG-OCL009
2017.05.08
Intel® Quartus® প্রাইম ডিজাইন স্যুটের জন্য সর্বশেষ আপডেট করা হয়েছে: 17.0

RENPHO RF FM059HS ওয়াইফাই স্মার্ট ফুট ম্যাসাজার - আইকন 5সদস্যতা
SAMSUNG SM A136UZKZAIO Galaxy A13 5G স্মার্টফোন - আইকন 12প্রতিক্রিয়া পাঠান

OpenCL™ Intel® Cyclone®V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম পোর্টিং গাইডের জন্য Intel® FPGA SDK

V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম পোর্টিং গাইড Intel Cyclone V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম (c5soc) এর হার্ডওয়্যার এবং সফ্টওয়্যার ডিজাইন বর্ণনা করে যাতে OpenCL-এর জন্য Intel সফ্টওয়্যার ডেভেলপমেন্ট কিট (SDK) ব্যবহার করা যায়। ® আপনি শুরু করার আগে, Intel দৃঢ়ভাবে সুপারিশ করে যে আপনি নিম্নলিখিত নথিগুলির বিষয়বস্তুর সাথে নিজেকে পরিচিত করুন:

  1. OpenCLIntel সাইক্লোন V SoC এর জন্য Intel FPGA SDK শুরু করার নির্দেশিকা
  2. OpenCL কাস্টম প্ল্যাটফর্ম টুলকিট ব্যবহারকারী গাইডের জন্য Intel FPGA SDK
  3. সাইক্লোন ভি ডিভাইস হ্যান্ডবুক, ভলিউম 3: হার্ড প্রসেসর সিস্টেম টেকনিক্যাল রেফারেন্স ম্যানুয়াল এছাড়াও, সাইক্লোন ভি SoC ডেভেলপমেন্ট কিট এবং Altera এর SoC এমবেডেড ডিজাইন স্যুট পৃষ্ঠা দেখুন webআরো তথ্যের জন্য সাইট. 1 2

মনোযোগ: Intel অনুমান করে যে আপনার কাছে OpenCL কাস্টম প্ল্যাটফর্ম টুলকিট ব্যবহারকারী গাইডের জন্য Intel FPGA SDK-এর গভীর ধারণা রয়েছে। সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম পোর্টিং গাইড সাইক্লোন V SoC ডেভেলপমেন্ট কিটের জন্য একটি কাস্টম প্ল্যাটফর্ম বাস্তবায়ন করতে SDK-এর কাস্টম প্ল্যাটফর্ম টুলকিটের ব্যবহার বর্ণনা করে না। এটি শুধুমাত্র সাইক্লোন V SoC ডেভেলপমেন্ট কিট এবং OpenCL কাস্টম প্ল্যাটফর্মের জন্য একটি সাধারণ Intel FPGA SDK-এর SDK সমর্থনের মধ্যে পার্থক্যগুলি বর্ণনা করে৷

সম্পর্কিত লিঙ্ক

  • OpenCL সাইক্লোন V SoC এর জন্য Intel FPGA SDK শুরু করার নির্দেশিকা
  • OpenCL কাস্টম প্ল্যাটফর্ম টুলকিট ব্যবহারকারী গাইডের জন্য Intel FPGA SDK
  • সাইক্লোন V ডিভাইস হ্যান্ডবুক, ভলিউম 3: হার্ড প্রসেসর সিস্টেম টেকনিক্যাল রেফারেন্স ম্যানুয়াল
  • সাইক্লোন V SoC ডেভেলপমেন্ট কিট এবং SoC এমবেডেড ডিজাইন স্যুট পৃষ্ঠা Altera-এ webসাইট
  1. OpenCL এবং OpenCL লোগো হল ট্রেডমার্ক Apple Inc.
  2. OpenCL-এর জন্য Intel FPGA SDK একটি প্রকাশিত খ্রোনোস স্পেসিফিকেশনের উপর ভিত্তি করে তৈরি করা হয়েছে এবং খরোনোস কনফরমেন্স টেস্টিং প্রক্রিয়ায় উত্তীর্ণ হয়েছে। বর্তমান সামঞ্জস্য অবস্থা এ পাওয়া যাবে www.khronos.org/conformance.

ইন্টেল কর্পোরেশন। সমস্ত অধিকার সংরক্ষিত. Intel, Intel লোগো, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus এবং Stratix শব্দ এবং লোগো হল ইন্টেল কর্পোরেশন বা মার্কিন যুক্তরাষ্ট্রে এবং/অথবা অন্যান্য দেশে এর সহযোগী সংস্থাগুলির ট্রেডমার্ক৷ ইন্টেল তার এফপিজিএ এবং সেমিকন্ডাক্টর পণ্যগুলির কার্যকারিতাকে ইন্টেলের স্ট্যান্ডার্ড ওয়ারেন্টি অনুসারে বর্তমান স্পেসিফিকেশনের জন্য ওয়ারেন্টি দেয়, তবে নোটিশ ছাড়াই যে কোনও সময় যে কোনও পণ্য এবং পরিষেবাতে পরিবর্তন করার অধিকার সংরক্ষণ করে। ইন্টেল লিখিতভাবে স্পষ্টভাবে সম্মত হওয়া ছাড়া এখানে বর্ণিত কোনো তথ্য, পণ্য বা পরিষেবার আবেদন বা ব্যবহারের ফলে উদ্ভূত কোনো দায়িত্ব বা দায়ভার গ্রহণ করে না। Intel গ্রাহকদের কোনো প্রকাশিত তথ্যের উপর নির্ভর করার আগে এবং পণ্য বা পরিষেবার জন্য অর্ডার দেওয়ার আগে ডিভাইসের স্পেসিফিকেশনের সর্বশেষ সংস্করণ পেতে পরামর্শ দেওয়া হয়।
*অন্যান্য নাম এবং ব্র্যান্ড অন্যদের সম্পত্তি হিসাবে দাবি করা যেতে পারে।

1.1.1 সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম বোর্ড ভেরিয়েন্ট
OpenCL সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্মের জন্য Intel FPGA SDK-এ দুটি বোর্ড ভেরিয়েন্ট রয়েছে।

  • c5soc বোর্ড
    এই ডিফল্ট বোর্ড দুটি DDR মেমরি ব্যাঙ্ক অ্যাক্সেস প্রদান করে. এইচপিএস ডিডিআর এফপিজিএ এবং সিপিইউ উভয় দ্বারা অ্যাক্সেসযোগ্য। FPGA DDR শুধুমাত্র FPGA দ্বারা অ্যাক্সেসযোগ্য।
  • c5soc_sharedonly বোর্ড
    এই বোর্ড ভেরিয়েন্টে শুধুমাত্র HPS DDR সংযোগ রয়েছে। FPGA DDR অ্যাক্সেসযোগ্য নয়। এই বোর্ড ভেরিয়েন্টটি বেশি এলাকা দক্ষ কারণ একটি DDR মেমরি ব্যাঙ্ক সমর্থন করার জন্য কম হার্ডওয়্যার প্রয়োজন। c5soc_sharedonly বোর্ড একটি একক DDR মেমরি ব্যাঙ্ক সহ একটি চূড়ান্ত উত্পাদন বোর্ডের জন্য একটি ভাল প্রোটোটাইপিং প্ল্যাটফর্ম।
    আপনার OpenCL কার্নেল কম্পাইল করার সময় এই বোর্ডের বৈকল্পিকটিকে লক্ষ্য করতে, আপনার aoc কমান্ডে -board c5soc_sharedonly বিকল্পটি অন্তর্ভুক্ত করুন।
    -বোর্ডে আরও তথ্যের জন্য aoc কমান্ডের বিকল্প, OpenCL প্রোগ্রামিং গাইডের জন্য Intel FPGA SDK পড়ুন।

সম্পর্কিত লিঙ্ক
একটি নির্দিষ্ট এফপিজিএ বোর্ডের জন্য একটি কার্নেল কম্পাইল করা হচ্ছে (-বোর্ড )
1.1.2 সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্মের বিষয়বস্তু
সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম নিম্নলিখিতগুলি নিয়ে গঠিত files এবং ডিরেক্টরি:

File বা ডিরেক্টরি বর্ণনা
board_env.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-বিট লিনাক্স।
  • এইচপিএস এবং এফপিজিএ কোর ফ্যাব্রিকের মধ্যে অ্যাডভান্সড এক্সটেনসিবল ইন্টারফেস (এএক্সি) বাস।
  • দুটি শক্ত DDR মেমরি কন্ট্রোলার, প্রতিটি 1 গিগাবাইট (GB) DDR3 SDRAM এর সাথে সংযুক্ত।
    — একটি DDR কন্ট্রোলার শুধুমাত্র FPGA কোরে অ্যাক্সেসযোগ্য (অর্থাৎ FPGA DDR)।
    — অন্য ডিডিআর কন্ট্রোলারটি এইচপিএস এবং এফপিজিএ (অর্থাৎ, এইচপিএস ডিডিআর) উভয়ের কাছেই অ্যাক্সেসযোগ্য। এই ভাগ করা নিয়ামক CPU এবং FPGA কোরের মধ্যে বিনামূল্যে মেমরি ভাগাভাগি করার অনুমতি দেয়।
  • CPU FPGA কোর ফ্যাব্রিক পুনরায় কনফিগার করতে পারে।

1.1.3.1 সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম ডিজাইন লক্ষ্য এবং সিদ্ধান্ত ইন্টেল ঘূর্ণিঝড় V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম বাস্তবায়নের উপর ভিত্তি করে বিভিন্ন ডিজাইন লক্ষ্য এবং সিদ্ধান্তের উপর। Intel সুপারিশ করে যে আপনি যখন এই রেফারেন্স প্ল্যাটফর্মটিকে আপনার SoC FPGA বোর্ডে পোর্ট করবেন তখন আপনি এই লক্ষ্যগুলি এবং সিদ্ধান্তগুলি বিবেচনা করুন৷
নীচে c5soc ডিজাইনের লক্ষ্যগুলি রয়েছে:

  1. FPGA এবং DDR মেমরি সিস্টেম(গুলি) এর কার্নেলের মধ্যে সর্বোচ্চ সম্ভাব্য ব্যান্ডউইথ প্রদান করুন।
  2. নিশ্চিত করুন যে এফপিজিএ (অর্থাৎ ওপেনসিএল কার্নেল) কম্পিউটেশনগুলি অন্যান্য সিপিইউ কাজগুলিতে হস্তক্ষেপ করে না যাতে পরিষেবার পেরিফেরালগুলি অন্তর্ভুক্ত থাকতে পারে।
  3. ইন্টারফেস উপাদানের পরিবর্তে কার্নেল কম্পিউটেশনের জন্য যতটা সম্ভব FPGA রিসোর্স ছেড়ে দিন।

নীচে উচ্চ-স্তরের ডিজাইনের সিদ্ধান্তগুলি রয়েছে যা ইন্টেলের ডিজাইন লক্ষ্যগুলির সরাসরি পরিণতি:

  1. রেফারেন্স প্ল্যাটফর্ম শুধুমাত্র প্রশস্ত সম্ভাব্য কনফিগারেশন (256 বিট) সহ হার্ড ডিডিআর মেমরি কন্ট্রোলার ব্যবহার করে।
  2. FPGA সরাসরি HPS DDR মেমরি কন্ট্রোলারের সাথে যোগাযোগ করে, HPS এর ভিতরে AXI বাস এবং L3 সুইচকে জড়িত না করে। সরাসরি যোগাযোগ ডিডিআর-কে সর্বোত্তম সম্ভাব্য ব্যান্ডউইথ প্রদান করে এবং FPGA গণনাগুলিকে CPU এবং এর পরিধির মধ্যে যোগাযোগে হস্তক্ষেপ করা থেকে বিরত রাখে।
  3. স্ক্যাটার-গেদার ডাইরেক্ট মেমরি অ্যাক্সেস (SG-DMA) FPGA ইন্টারফেস লজিকের অংশ নয়। ডিডিআর মেমরি সিস্টেমের মধ্যে প্রচুর পরিমাণে ডেটা স্থানান্তর করার পরিবর্তে, শেয়ার্ড এইচপিএস ডিডিআর-এ ডেটা সংরক্ষণ করুন। এফপিজিএ দ্বারা সিপিইউ মেমরিতে সরাসরি অ্যাক্সেস ডিএমএর চেয়ে বেশি কার্যকর। এটি হার্ডওয়্যার সংস্থান সংরক্ষণ করে (অর্থাৎ, FPGA এলাকা) এবং লিনাক্স কার্নেল ড্রাইভারকে সরল করে।
    সতর্কতা: শেয়ার্ড এইচপিএস ডিডিআর সিস্টেম এবং ডিডিআর সিস্টেমের মধ্যে মেমরি স্থানান্তর যা শুধুমাত্র এফপিজিএ-তে অ্যাক্সেসযোগ্য। আপনি যদি চয়ন
    এই পদ্ধতিতে মেমরি স্থানান্তর করুন, শুধুমাত্র খুব অল্প পরিমাণে ডেটার জন্য এটি ব্যবহার করুন।
  4. হোস্ট এবং ডিভাইস শুধুমাত্র একটি একক 2-বিট পোর্ট ব্যবহার করে HPS-to-FPGA (H32F) সেতুর মাধ্যমে একে অপরের মধ্যে নন-ডিএমএ ডেটা স্থানান্তর করে। কারণ হল, ডিএমএ ছাড়া, লিনাক্স কার্নেল শুধুমাত্র একটি একক 32-বিট রিড বা রাইট রিকোয়েস্ট ইস্যু করতে পারে, তাই বৃহত্তর সংযোগ থাকা অপ্রয়োজনীয়।
  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. ওপেনসিএল পছন্দের বোর্ড ডিজাইনের জন্য সমস্ত ইন্টেল FPGA SDK অবশ্যই নিশ্চিত সময় ক্লোজার অর্জন করতে হবে। যেমন, নকশা বসানোর সময় পরিষ্কার হতে হবে. আপনার SoC FPGA বোর্ডে c5soc বোর্ড পার্টিশন (acl_iface_partition.qxp) পোর্ট করতে, নিম্নলিখিত কাজগুলি সম্পাদন করুন:
    বোর্ড পার্টিশন পরিবর্তন ও সংরক্ষণের বিস্তারিত নির্দেশাবলীর জন্য, কোয়ার্টাস পড়ুন
    কোয়ার্টাস প্রাইম স্ট্যান্ডার্ড এডিশন হ্যান্ডবুকের হাইয়ারর্কিক্যাল এবং টিম-ভিত্তিক ডিজাইন অধ্যায়ের জন্য প্রাইম ইনক্রিমেন্টাল কম্পাইলেশন।
    ক ALTERAOCLSDKROOT/board/c5soc/c5soc ডিরেক্টরি থেকে acl_iface_partition.qxp সরান।
    খ. Tcl কমান্ড set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region সেট_গ্লোবাল_অ্যাসাইনমেন্ট -নাম LL_ENABLED অন -section_id acl_iface_region এ পরিবর্তন করে acl_iface_region LogicLock™ অঞ্চল সক্ষম করুন
    গ. আপনার বোর্ডের জন্য একটি OpenCL কার্নেল কম্পাইল করুন।
    d প্রয়োজন হলে, LogicLock অঞ্চলের আকার এবং অবস্থান সামঞ্জস্য করুন।
    e যখন আপনি সন্তুষ্ট হন যে আপনার ডিজাইনের প্লেসমেন্টটি টাইমিং পরিষ্কার, সেই পার্টিশনটিকে acl_iface_partition.qxp কোয়ার্টাস প্রাইম এক্সপোর্টেড পার্টিশন হিসাবে রপ্তানি করুন File.
    এই .qxp আমদানি করে OpenCL কাস্টম প্ল্যাটফর্ম টুলকিট ব্যবহারকারী গাইডের জন্য AIntel FPGA SDK-এর এস্টাব্লিশিং গ্যারান্টিড টাইমিং ফ্লো বিভাগে বর্ণিত হিসাবে  file টপ-লেভেল ডিজাইনের মধ্যে, আপনি একটি গ্যারান্টিযুক্ত টাইমিং ক্লোজার ফ্লো সহ একটি বোর্ড ডিজাইন প্রদানের প্রয়োজনীয়তা পূরণ করেন।
    আপনার রপ্তানি করা পার্টিশনের ফলাফলের গুণমানকে (QoR) প্রভাবিত করতে পারে এমন কারণগুলির জন্য, OpenCL কাস্টম প্ল্যাটফর্ম টুলকিট ব্যবহারকারী গাইডের জন্য Intel FPGA SDK-এ রপ্তানি করা বোর্ড পার্টিশন বিভাগে ফলাফলের বিবেচনার সাধারণ গুণমান দেখুন।
    চ ধাপ 2-এর কমান্ডটিকে সেট_গ্লোবাল_অ্যাসাইনমেন্ট -নাম LL_ENABLED OFF section_id acl_iface_region-এ ফিরিয়ে দিয়ে acl_iface_region LogicLock অঞ্চলটি নিষ্ক্রিয় করুন।
  4. যদি আপনার SoC FPGA বোর্ড HPS ব্লকের বিভিন্ন পিন এবং পেরিফেরি ব্যবহার করে, তাহলে প্রিলোডার এবং ডিভাইস ট্রি সোর্স (DTS) পুনরায় জেনারেট করুন file. আপনি যদি HPS DDR মেমরি কন্ট্রোলার সেটিংস পরিবর্তন করেন, তাহলে প্রিলোডার পুনরায় তৈরি করুন।
  5. SD ফ্ল্যাশ কার্ড ইমেজ তৈরি করুন.
  6. আপনার কাস্টম প্ল্যাটফর্ম তৈরি করুন, যার মধ্যে SD ফ্ল্যাশ কার্ডের ছবি রয়েছে৷
  7. OpenCL এর জন্য Intel FPGA রানটাইম এনভায়রনমেন্ট (RTE) এর সাথে ব্যবহারের জন্য আপনার কাস্টম প্ল্যাটফর্মের একটি রানটাইম পরিবেশ সংস্করণ তৈরি করার কথা বিবেচনা করুন। আপনার কাস্টম প্ল্যাটফর্মের RTE সংস্করণে হার্ডওয়্যার ডিরেক্টরি এবং SD ফ্ল্যাশ কার্ডের ছবি অন্তর্ভুক্ত নেই৷ হোস্ট অ্যাপ্লিকেশন চালানোর জন্য এই কাস্টম প্ল্যাটফর্ম SoC FPGA সিস্টেমে লোড হয়। বিপরীতে, OpenCL কার্নেল কম্পাইল করার জন্য SDK-এর জন্য কাস্টম প্ল্যাটফর্মের SDK সংস্করণ আবশ্যক।
    পরামর্শ: আপনি RTE-এর জন্য আপনার কাস্টম প্ল্যাটফর্মের SDK সংস্করণ ব্যবহার করতে পারেন। বাঁচাতে
    স্থান, আপনার কাস্টম প্ল্যাটফর্মের RTE সংস্করণ থেকে SD ফ্ল্যাশ কার্ডের ছবি সরিয়ে ফেলুন।
  8. আপনার কাস্টম প্ল্যাটফর্ম পরীক্ষা করুন.
    আরও তথ্যের জন্য OpenCL কাস্টম প্ল্যাটফর্ম টুলকিট ব্যবহারকারী গাইডের জন্য Intel FPGA SDK-এর হার্ডওয়্যার ডিজাইন বিভাগ পরীক্ষা করুন।

সম্পর্কিত লিঙ্ক

  • হার্ডওয়্যার ডিজাইন পরীক্ষা করা হচ্ছে
  • হায়ারার্কিক্যাল এবং টিম-ভিত্তিক ডিজাইনের জন্য কোয়ার্টাস প্রাইম ইনক্রিমেন্টাল কম্পাইলেশন
  • গ্যারান্টিযুক্ত সময় প্রবাহ প্রতিষ্ঠা করা
  • রপ্তানি করা বোর্ড পার্টিশনের জন্য ফলাফলের সাধারণ গুণমান বিবেচনা

1.2.1 একটি পোর্টেড রেফারেন্স প্ল্যাটফর্ম আপডেট করা
সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্মের বর্তমান সংস্করণে, এইচপিএস ব্লকটি পার্টিশনের ভিতরে রয়েছে যা সমস্ত নন-কারনেল যুক্তিকে সংজ্ঞায়িত করে। যাইহোক, আপনি .qxp এর অংশ হিসাবে HPS রপ্তানি করতে পারবেন না file. একটি বিদ্যমান কাস্টম প্ল্যাটফর্ম আপডেট করতে যা আপনি c5soc-এর পূর্ববর্তী সংস্করণ থেকে পরিবর্তন করেছেন, QXP সংরক্ষণ প্রবাহ বাস্তবায়ন করুন, সর্বশেষ রানটাইম পরিবেশ পেতে SD ফ্ল্যাশ কার্ড চিত্র আপডেট করুন এবং board_spec.xml আপডেট করুন file অটোমাইগ্রেশন সক্ষম করতে।
OpenCL সংস্করণ 14.1 এবং তার পরেও প্রোবের জন্য Altera® SDK board_spec.xml file বোর্ড তথ্যের জন্য, এবং স্বয়ংক্রিয় আপডেট প্রয়োগ করে। কারণ আপনি পরিবর্তন
QXP সংরক্ষণ প্রবাহ বাস্তবায়ন করে ডিজাইন, আপনাকে অবশ্যই board_spec.xml আপডেট করতে হবে file বর্তমান সংস্করণে এর বিন্যাসে। আপডেট করা হচ্ছে file SDK কে অসংরক্ষিত কাস্টম প্ল্যাটফর্ম এবং বর্তমান QXP-ভিত্তিক কাস্টম প্ল্যাটফর্মের মধ্যে পার্থক্য করার অনুমতি দেয়৷ আরও তথ্যের জন্য OpenCL কাস্টম প্ল্যাটফর্ম টুলকিট ব্যবহারকারী গাইডের জন্য Intel FPGA SDK-এ ফরোয়ার্ড সামঞ্জস্যের জন্য কাস্টম প্ল্যাটফর্ম অটোমাইগ্রেশন পড়ুন।

  1. একটি সাইক্লোন V SoC FPGA হার্ডওয়্যার ডিজাইনে QXP সংরক্ষণ প্রবাহ বাস্তবায়ন করতে যা c5soc এর পূর্ববর্তী সংস্করণ থেকে পোর্ট করা হয়েছে, .qxp থেকে HPS বাদ দেওয়ার জন্য একটি সাবপার্টিশন তৈরি করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন file:
    ক ননকার্নেল লজিকের চারপাশে একটি পার্টিশন তৈরি করার আগে, .qsf কোয়ার্টাস প্রাইম সেটিংসে HPS এর চারপাশে একটি পার্টিশন তৈরি করুন। File.
    প্রাক্তন জন্যampLe:
    HPS-ডেডিকেটেড I/O সেট_ইনস্ট্যান্স_অ্যাসাইনমেন্ট -নাম PARTITION_HIERARCHY borde_18261 - থেকে “system:the_system|system_acl_iface:acl_iface|system_acl_iface:acl_iface|system_acl_iface_hps_hps_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:border”
    quartus_cdb শীর্ষ -c শীর্ষ
    -ইনক্রিমেন্টাল_কম্পাইলেশন_এক্সপোর্ট=acl_iface_partition.qxp
    -বর্ধিত_সংকলন_রপ্তানি_পার্টিশন_নাম = acl_iface_partition
    -বর্ধিত_সংকলন_রপ্তানি_পোস্ট_সিন্থ=অন
    -বর্ধিত_সংকলন_রপ্তানি_পোস্ট_ফিট = চালু
    -বর্ধিত_সংকলন_রপ্তানি_রাউটিং = চালু
    -বর্ধিত_সংকলন_রপ্তানি_ফ্ল্যাটেন = বন্ধ
    আপনি পার্টিশন থেকে HPS বাদ দেওয়ার পরে, আপনি .qxp আমদানি করতে পারেন file এবং আপনার ডিজাইন কম্পাইল করুন।
  2. নিম্নলিখিত কাজগুলি সম্পাদন করে OpenCL-এর জন্য Intel FPGA RTE-এর বর্তমান সংস্করণের সাথে SD ফ্ল্যাশ কার্ডের ছবি আপডেট করুন:
    ক মাউন্ট file বরাদ্দ টেবিল (fat32) এবং বর্ধিত file লুপ-ব্যাক ডিভাইস হিসাবে বিদ্যমান ইমেজে সিস্টেম (ext3) পার্টিশন। বিস্তারিত নির্দেশাবলীর জন্য, একটি SD ফ্ল্যাশ কার্ডের ছবি তৈরির ধাপ 2 পড়ুন।
    খ. /home/root/opencl_arm32_rte ডিরেক্টরিতে, অপসারণ করুন fileRTE এর আগের সংস্করণ থেকে s.
    গ. /home/root/opencl_arm32_rte ডিরেক্টরিতে RTE-এর বর্তমান সংস্করণটি ডাউনলোড করুন এবং আনপ্যাক করুন।
    d মধ্যে /driver/version.h file আপনার কাস্টম প্ল্যাটফর্মের, এতে ACL_DRIVER_VERSION অ্যাসাইনমেন্ট আপডেট করুন৷ . (উদাহরণস্বরূপample, 16.1.x, যেখানে 16.1 হল SDK সংস্করণ, এবং x হল ড্রাইভার সংস্করণ যা আপনি সেট করেছেন)।
    e ড্রাইভার পুনর্নির্মাণ.
    চ আপনার কাস্টম প্ল্যাটফর্মের হার্ডওয়্যার ফোল্ডার(গুলি) মুছুন। আপডেট করা ড্রাইভার সহ কাস্টম প্ল্যাটফর্ম /home/root/opencl_arm_rte/board ডিরেক্টরিতে অনুলিপি করুন।
    g Altera.icd কপি করুন file /home/root/opencl_arm32_rte ডিরেক্টরি থেকে এবং এটিকে /etc/OpenCL/vendors ডিরেক্টরিতে যোগ করুন।
    জ. আনমাউন্ট এবং নতুন ইমেজ পরীক্ষা. বিস্তারিত নির্দেশাবলীর জন্য, একটি SD ফ্ল্যাশ কার্ডের ছবি তৈরি করার ধাপ 8 থেকে 11 দেখুন।

সম্পর্কিত লিঙ্ক

  • 14 পৃষ্ঠায় একটি SD ফ্ল্যাশ কার্ড চিত্র তৈরি করা
    আপনার কাছে একটি নতুন SD ফ্ল্যাশ কার্ড ইমেজ তৈরি করার বিকল্পও রয়েছে।
  • ফরোয়ার্ড সামঞ্জস্যের জন্য কাস্টম প্ল্যাটফর্ম অটোমাইগ্রেশন

1.3 ভাগ করা মেমরির জন্য সফ্টওয়্যার সমর্থন
FPGA এবং CPU-এর মধ্যে ভাগ করা শারীরিক মেমরি হল SoC FPGA-তে চলমান OpenCL কার্নেলের জন্য পছন্দের মেমরি। যেহেতু FPGA শেয়ার করা ভার্চুয়াল মেমরির বিপরীতে শেয়ার্ড ফিজিক্যাল মেমরি অ্যাক্সেস করে, তাই CPU-এর পেজ টেবিলে অ্যাক্সেস নেই যা ব্যবহারকারীর ভার্চুয়াল অ্যাড্রেসকে ফিজিক্যাল পেজ অ্যাড্রেসে ম্যাপ করে।
হার্ডওয়্যারের ক্ষেত্রে, ওপেনসিএল কার্নেলগুলি এইচপিএস ডিডিআর হার্ড মেমরি কন্ট্রোলারের সাথে সরাসরি সংযোগের মাধ্যমে ভাগ করা শারীরিক মেমরি অ্যাক্সেস করে। সফ্টওয়্যারের ক্ষেত্রে, ভাগ করা শারীরিক মেমরির জন্য সমর্থন নিম্নলিখিত বিবেচনাগুলি জড়িত:

  1. সিপিইউতে মেমরি বরাদ্দ করার জন্য সাধারণ সফ্টওয়্যার বাস্তবায়ন (প্রাক্তনample, malloc() ফাংশন) একটি মেমরি অঞ্চল বরাদ্দ করতে পারে না যা FPGA ব্যবহার করতে পারে।
    malloc() ফাংশন যে মেমরিটি বরাদ্দ করে তা ভার্চুয়াল মেমরি অ্যাড্রেস স্পেসে সংলগ্ন থাকে, কিন্তু কোনো অন্তর্নিহিত ভৌত পৃষ্ঠা শারীরিকভাবে সংলগ্ন হওয়ার সম্ভাবনা কম। যেমন, হোস্টকে অবশ্যই শারীরিকভাবে সংলগ্ন মেমরি অঞ্চল বরাদ্দ করতে সক্ষম হতে হবে। যাইহোক, লিনাক্সে ব্যবহারকারী-স্পেস অ্যাপ্লিকেশনগুলিতে এই ক্ষমতা বিদ্যমান নেই। তাই, লিনাক্স কার্নেল ড্রাইভারকে অবশ্যই বরাদ্দ করতে হবে।
  2. OpenCL SoC FPGA লিনাক্স কার্নেল ড্রাইভার ভাগ করা শারীরিক মেমরি বরাদ্দ করার জন্য mmap() ফাংশন অন্তর্ভুক্ত করে এবং এটিকে ব্যবহারকারীর স্থানে ম্যাপ করে। mmap() ফাংশন একটি ডিভাইসের সাথে ভাগ করার জন্য শারীরিকভাবে-সংলগ্ন মেমরি অঞ্চলের জন্য অনুরোধ করতে স্ট্যান্ডার্ড Linux কার্নেল কল dma_alloc_coherent() ব্যবহার করে।
  3. ডিফল্ট লিনাক্স কার্নেলে, dma_alloc_coherent() শারীরিকভাবে সংলগ্ন মেমরি 0.5 মেগাবাইট (MB) এর বেশি আকারে বরাদ্দ করে না। dma_alloc_coherent() কে প্রচুর পরিমাণে শারীরিক-সংলগ্ন মেমরি বরাদ্দ করার অনুমতি দিতে, লিনাক্স কার্নেলের সংলগ্ন মেমরি বরাদ্দকারী (CMA) বৈশিষ্ট্য সক্রিয় করুন এবং তারপরে Linux কার্নেল পুনরায় কম্পাইল করুন।
    সাইক্লোন 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) কল নিম্নলিখিত প্রশ্নগুলিকে অন্তর্ভুক্ত করে:
    ক mmap() ফাংশন যা মেমরি বরাদ্দ করে এবং ভার্চুয়াল ঠিকানা প্রদান করে।
    খ. অতিরিক্ত ক্যোয়ারী যা প্রত্যাবর্তিত ভার্চুয়াল ঠিকানাকে প্রকৃত ঠিকানায় ম্যাপ করে।
    aocl_mmd_shared_mem_alloc() MMD API কল তারপর দুটি ঠিকানা ফেরত দেয়
    — প্রকৃত ফেরত ঠিকানা হল ভার্চুয়াল ঠিকানা, এবং প্রকৃত ঠিকানাটি device_ptr_out-এ যায়।
    দ্রষ্টব্য: ড্রাইভার শুধুমাত্র ভার্চুয়াল ঠিকানাগুলি ম্যাপ করতে পারে যেগুলি mmap() ফাংশনটি প্রকৃত ঠিকানাগুলিতে ফিরে আসে। আপনি যদি অন্য কোন ভার্চুয়াল পয়েন্টারের প্রকৃত ঠিকানার জন্য অনুরোধ করেন, ড্রাইভার একটি শূন্য মান প্রদান করে।

সতর্কতা: OpenCL রানটাইম লাইব্রেরির জন্য Intel FPGA SDK অনুমান করে যে শেয়ার করা মেমরি হল board_spec.xml-এ তালিকাভুক্ত প্রথম মেমরি file. অন্য কথায়, লিনাক্স কার্নেল ড্রাইভার যে ফিজিক্যাল অ্যাড্রেসটি পায় সেটি Avalon® অ্যাড্রেস হয়ে ওঠে যা OpenCL কার্নেল HPS SDRAM-এ পাস করে।
রানটাইম লাইব্রেরির ক্ষেত্রে, clCreateBuffer() কলটি ব্যবহার করুন শেয়ার করা মেমরিটিকে ডিভাইস বাফার হিসেবে নিম্নলিখিত পদ্ধতিতে বরাদ্দ করতে:

  • শেয়ার্ড এবং ননশেয়ারড মেমরির সাথে দুই-ডিডিআর বোর্ড ভেরিয়েন্টের জন্য, clCreateBuffer() শেয়ার করা মেমরি বরাদ্দ করে যদি আপনি CL_MEM_USE_HOST_PTR পতাকা নির্দিষ্ট করেন। অন্যান্য পতাকা ব্যবহার করার ফলে clCreateBuffer() ননশেয়ারড মেমরিতে বাফার বরাদ্দ করে।
  • শুধুমাত্র শেয়ার্ড মেমরি সহ ওয়ান-ডিডিআর বোর্ড ভেরিয়েন্টের জন্য, clCreateBuffer() শেয়ার করা মেমরি বরাদ্দ করে, আপনি যে পতাকা নির্দিষ্ট করুন না কেন।
    বর্তমানে, ARM CPU-তে 32-বিট লিনাক্স সমর্থন SDK রানটাইম লাইব্রেরিতে শেয়ার করা মেমরি সমর্থনের পরিমাণ নিয়ন্ত্রণ করে। অন্য কথায়, রানটাইম লাইব্রেরিগুলি অন্যান্য পরিবেশে সংকলিত (প্রাক্তনample, x86_64 Linux বা 64-bit Windows) শেয়ার করা মেমরি সমর্থন করে না।
    C5soc নিম্নলিখিত কারণে শেয়ার করা এবং অ-শেয়ার করা মেমরির মধ্যে পার্থক্য করার জন্য ভিন্নধর্মী মেমরি প্রয়োগ করেনি:
    1. ইতিহাস- যখন ভাগ করা মেমরি সমর্থন মূলত তৈরি করা হয়েছিল তখন ভিন্নধর্মী মেমরি সমর্থন উপলব্ধ ছিল না।
    2. ইউনিফর্ম ইন্টারফেস—যেহেতু ওপেনসিএল একটি ওপেন স্ট্যান্ডার্ড, ইন্টেল ভিন্ন ভিন্ন কম্পিউটিং প্ল্যাটফর্ম বিক্রেতাদের মধ্যে ধারাবাহিকতা বজায় রাখে। অতএব, অন্যান্য বোর্ড বিক্রেতাদের আর্কিটেকচারের মতো একই ইন্টারফেস ভাগ করা মেমরি বরাদ্দ এবং ব্যবহার করতে ব্যবহৃত হয়।

1.4 FPGA পুনর্বিন্যাস
SoC FPGA-এর জন্য, CPU CPU-এর অপারেশনে বাধা না দিয়ে FPGA কোর ফ্যাব্রিককে পুনরায় কনফিগার করতে পারে। এফপিজিএ ম্যানেজার হার্ডওয়্যার ব্লক যা এইচপিএসকে স্ট্র্যাডল করে এবং মূল এফপিজিএ পুনরায় কনফিগারেশন সম্পাদন করে। লিনাক্স কার্নেলে একটি ড্রাইভার রয়েছে যা FPGA ম্যানেজারে সহজে অ্যাক্সেস সক্ষম করে।

  • প্রতি view FPGA কোরের স্ট্যাটাস, cat /sys/class/fpga/fpga0/ স্ট্যাটাস কমান্ড ব্যবহার করুন।
    সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্মের সাথে উপলব্ধ OpenCL প্রোগ্রাম ইউটিলিটির জন্য Intel FPGA SDK FPGA প্রোগ্রাম করার জন্য এই ইন্টারফেস ব্যবহার করে। চলমান CPU সহ একটি FPGA কোর পুনরায় প্রোগ্রাম করার সময়, প্রোগ্রাম ইউটিলিটি নিম্নলিখিত সমস্ত কাজ সম্পাদন করে:
    1. পুনঃপ্রোগ্রামিং করার আগে, FPGA এবং HPS, উভয় H2F এবং LH2F সেতুগুলির মধ্যে সমস্ত যোগাযোগ সেতু নিষ্ক্রিয় করুন৷
    পুনঃপ্রোগ্রামিং সম্পূর্ণ হওয়ার পরে এই সেতুগুলিকে পুনরায় সক্রিয় করুন৷
    মনোযোগ: OpenCL সিস্টেম FPGA-to-HPS (F2H) সেতু ব্যবহার করে না। আরও তথ্যের জন্য সাইক্লোন V ডিভাইস হ্যান্ডবুক, ভলিউম 3: হার্ড প্রসেসর সিস্টেম টেকনিক্যাল রেফারেন্স ম্যানুয়াল-এ HPS-FPGA ইন্টারফেস বিভাগটি পড়ুন।
    2. নিশ্চিত করুন যে FPGA এবং HPS DDR কন্ট্রোলারের মধ্যে লিঙ্কটি পুনরায় প্রোগ্রাম করার সময় নিষ্ক্রিয় করা হয়েছে৷
    3. নিশ্চিত করুন যে FPGA তে FPGA বাধাগুলি পুনরায় প্রোগ্রাম করার সময় নিষ্ক্রিয় করা হয়েছে৷
    এছাড়াও, রিপ্রোগ্রামিং করার সময় FPGA থেকে কোনো বাধা প্রত্যাখ্যান করার জন্য ড্রাইভারকে অবহিত করুন।

প্রকৃত বাস্তবায়নের বিস্তারিত জানার জন্য প্রোগ্রাম ইউটিলিটির সোর্স কোডের সাথে পরামর্শ করুন।

সতর্কতা: CPU চলাকালীন HPS DDR কন্ট্রোলারের কনফিগারেশন পরিবর্তন করবেন না।
এটি করার ফলে একটি মারাত্মক সিস্টেম ত্রুটি হতে পারে কারণ CPU থেকে অসামান্য মেমরি লেনদেন হলে আপনি DDR কন্ট্রোলার কনফিগারেশন পরিবর্তন করতে পারেন। এর মানে হল যে যখন CPU চলছে, আপনি FPGA কোরকে এমন একটি চিত্রের সাথে পুনরায় প্রোগ্রাম করতে পারবেন না যা একটি ভিন্ন কনফিগারেশনে HPS DDR ব্যবহার করে।
মনে রাখবেন যে OpenCL সিস্টেম, এবং Intel SoC FPGA এমবেডেড ডিজাইন স্যুট (EDS) এর সাথে উপলব্ধ গোল্ডেন হার্ডওয়্যার রেফারেন্স ডিজাইন, HPS DDR কে একটি একক 256-বিট মোডে সেট করে।
CPU সিস্টেমের অংশ যেমন শাখা ভবিষ্যদ্বাণী বা পৃষ্ঠা টেবিল প্রিফেচার DDR কমান্ড জারি করতে পারে এমনকি যখন দেখা যায় যে CPU-তে কিছুই চলছে না।
অতএব, HPS DDR কন্ট্রোলার কনফিগারেশন সেট করার জন্য বুট সময়ই একমাত্র নিরাপদ সময়।
এটিও বোঝায় যে U-বুটের একটি কাঁচা বাইনারি থাকতে হবে file (.rbf) ছবি মেমরিতে লোড করার জন্য। অন্যথায়, আপনি FPGA-তে অব্যবহৃত পোর্টগুলির সাথে HPS DDR সক্ষম করতে পারেন এবং তারপরে সম্ভাব্যভাবে পোর্ট কনফিগারেশন পরিবর্তন করতে পারেন। এই কারণে, OpenCL Linux কার্নেল ড্রাইভার আর HPS DDR কন্ট্রোলার কনফিগারেশন সেট করার জন্য প্রয়োজনীয় যুক্তি অন্তর্ভুক্ত করে না।
SW3 ডুয়াল ইন-লাইন প্যাকেজ (DIP) সাইলোন V SoC ডেভেলপমেন্ট কিট চালু করে .rbf ছবির প্রত্যাশিত রূপ নিয়ন্ত্রণ করে (অর্থাৎ, file সংকুচিত এবং/অথবা এনক্রিপ্ট করা হয়)। C5soc, এবং SoC EDS-এর সাথে উপলব্ধ গোল্ডেন হার্ডওয়্যার রেফারেন্স ডিজাইন, সংকুচিত কিন্তু এনক্রিপ্ট করা .rbf ছবি অন্তর্ভুক্ত করে। Intel FPGA SDK-এ OpenCL সাইক্লোন V SoC শুরু করার নির্দেশিকাতে বর্ণিত SW3 DIP সুইচ সেটিংস এই .rbf ইমেজ কনফিগারেশনের সাথে মেলে।

সম্পর্কিত লিঙ্ক

  • এইচপিএস-এফপিজিএ ইন্টারফেস
  • 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 ফ্ল্যাশ কার্ডের চিত্র পরিবর্তন করা হচ্ছে
Intel সুপারিশ করে যে আপনি সাইক্লোন 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. hello_world OpenCL প্রাক্তন কম্পাইল করুনampলে ডিজাইন আপনার কাস্টম প্ল্যাটফর্ম সমর্থন ব্যবহার করে. .rbf এর নাম পরিবর্তন করুন file যে OpenCL অফলাইন কম্পাইলারের জন্য Intel FPGA SDK opencl.rbf হিসাবে তৈরি করে এবং এটিকে SD ফ্ল্যাশ কার্ড চিত্রের মধ্যে fat32 পার্টিশনে রাখুন।
    আপনি hello_world প্রাক্তন ডাউনলোড করতে পারেনampওপেনসিএল ডিজাইন এক্স থেকে লে ডিজাইনampAltera উপর লেস পৃষ্ঠা webসাইট
  3. .rbf রাখুন file ফ্ল্যাশ কার্ড ইমেজের fat32 পার্টিশনে।
    মনোযোগ: fat32 পার্টিশনে zImage উভয়ই থাকতে হবে file এবং .rbf file. একটি .rbf ছাড়া file, আপনি ড্রাইভার সন্নিবেশ করার সময় একটি মারাত্মক ত্রুটি ঘটবে।
  4. আপনি SD কার্ডের ছবি তৈরি করার পরে, নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি একটি মাইক্রো এসডি কার্ডে লিখুন: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. আপনার SD ফ্ল্যাশ কার্ডের ছবি পরীক্ষা করতে, নিম্নলিখিত কাজগুলি সম্পাদন করুন:
    ক SoC FPGA বোর্ডে মাইক্রো SD ফ্ল্যাশ কার্ড ঢোকান।
    খ. বোর্ড শক্তি আপ.
    গ. aocl ডায়াগনোজ ইউটিলিটি কমান্ডটি চালু করুন।

1.5.2 একটি SD ফ্ল্যাশ কার্ড ছবি তৈরি করা
আপনার কাছে একটি নতুন SD ফ্ল্যাশ কার্ড ইমেজ তৈরি করার বিকল্পও রয়েছে। একটি নতুন SD ফ্ল্যাশ কার্ড ইমেজ তৈরি এবং একটি বিদ্যমান SD ফ্ল্যাশ কার্ড ইমেজ পুনর্নির্মাণের সাধারণ নির্দেশাবলী GSRD v14.0.2 – RocketBoards.org-এর SD কার্ড পৃষ্ঠায় পাওয়া যায় webসাইট
নিচের ধাপগুলো গোল্ডেন সিস্টেম রেফারেন্স ডিজাইন (GSRD) SD ফ্ল্যাশ কার্ড ইমেজ থেকে linux_sd_card_image.tgz ইমেজ তৈরি করার পদ্ধতি বর্ণনা করে:
দ্রষ্টব্য:
c5soc ইমেজ থেকে ইমেজ তৈরি করতে, এই পদ্ধতিতে বর্ণিত সমস্ত প্রযোজ্য কাজ সম্পাদন করুন।

  1. Rocketboards.org থেকে GSRD SD ফ্ল্যাশ কার্ড ইমেজ সংস্করণ 14.0 ডাউনলোড এবং আনপ্যাক করুন।
  2. মাউন্ট file বরাদ্দ টেবিল (fat32) এবং বর্ধিত file লুপ-ব্যাক ডিভাইস হিসাবে এই ছবিতে সিস্টেম (ext3) পার্টিশন। একটি পার্টিশন মাউন্ট করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
    ক /sbin/fdisk -lu image_ দ্বারা ইমেজের মধ্যে পার্টিশনের বাইট স্টার্ট নির্ধারণ করুনfile আদেশ
    প্রাক্তন জন্যample, W1 FAT টাইপের পার্টিশন নম্বর 95 এর একটি ব্লক অফসেট 2121728। প্রতি ব্লকে 512 বাইট সহ, বাইট অফসেট হল 512 বাইট x 2121728 = 1086324736 বাইট।
    খ. একটি বিনামূল্যে লুপ ডিভাইস সনাক্ত করুন (উদাহরণস্বরূপample, /dev/loop0) Lostup -f কমান্ড টাইপ করে।
    গ. ধরে নিই যে /dev/loop0 হল বিনামূল্যের লুপ ডিভাইস, লোস্টআপ /dev/loop0 image_ দিয়ে লুপ ব্লক ডিভাইসে আপনার ফ্ল্যাশ কার্ড ইমেজ বরাদ্দ করুন।file -0 1086324736 কমান্ড।
    d mount /dev/loop0 /media/disk1 কমান্ড ব্যবহার করে লুপ ডিভাইস মাউন্ট করুন।
    ছবির মধ্যে file, /media/disk1 এখন একটি মাউন্ট করা fat32 পার্টিশন।
    e ext3 পার্টিশনের জন্য a থেকে d পর্যন্ত ধাপগুলি পুনরাবৃত্তি করুন।
  3. Altera-এর ডাউনলোড সেন্টার থেকে OpenCL প্যাকেজের জন্য Intel FPGA রানটাইম এনভায়রনমেন্টের সাইক্লোন V SoC FPGA সংস্করণ ডাউনলোড করুন webসাইট
    ক কোয়ার্টাস প্রাইম সফ্টওয়্যার সংস্করণের পাশে ডাউনলোড বোতামে ক্লিক করুন।
    খ. রিলিজ সংস্করণ, অপারেটিং সিস্টেম এবং ডাউনলোড পদ্ধতি নির্দিষ্ট করুন।
    গ. অতিরিক্ত সফ্টওয়্যার ট্যাবে ক্লিক করুন এবং Intel FPGA ডাউনলোড করতে নির্বাচন করুন
    OpenCL Linux সাইক্লোন V SoC TGZ এর জন্য রানটাইম পরিবেশ।
    d আপনি aocl-rte- ডাউনলোড করার পরে .arm32.tgz file, এটা আনপ্যাক
    আপনার মালিকানাধীন একটি ডিরেক্টরি.
  4. আনপ্যাক করা aocl-rte- রাখুন ইমেজের ext32 পার্টিশনে /home/root/opencl_arm32_rte ডিরেক্টরিতে .arm3 ডিরেক্টরি 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 Linux কার্নেল ড্রাইভার লোড করার জন্য সোর্স ./init_opencl.sh কমান্ড চালায়।
  7. আপনি যদি প্রিলোডার আপডেট করতে চান তবে ডিটিএস files, বা লিনাক্স কার্নেল, আপনার SoC EDS থেকে arm-linux-gnueabihf-gcc কম্পাইলার প্রয়োজন। সফ্টওয়্যারটি অর্জন করতে, সেগুলি পুনরায় কম্পাইল করতে এবং প্রাসঙ্গিক আপডেট করতে Intel SoC FPGA এমবেডেড ডিজাইন স্যুট ব্যবহারকারী গাইডে বর্ণিত নির্দেশাবলী অনুসরণ করুন files মাউন্ট করা fat32 পার্টিশনে।
    মনোযোগ: আপনার কাস্টম প্ল্যাটফর্মে c5soc-এর তুলনায় ভিন্ন পিন ব্যবহার থাকলে সম্ভবত আপনাকে প্রিলোডার আপডেট করতে হবে।
    মনে রাখবেন: আপনি যদি লিনাক্স কার্নেল পুনরায় কম্পাইল করেন, একই লিনাক্স কার্নেল উৎস দিয়ে লিনাক্স কার্নেল ড্রাইভার পুনরায় কম্পাইল করুন files যদি লিনাক্স কার্নেল ড্রাইভার এবং লিনাক্স কার্নেলের মধ্যে অমিল থাকে তবে ড্রাইভার লোড হবে না। এছাড়াও, আপনাকে অবশ্যই CMA সক্ষম করতে হবে।
    আরও তথ্যের জন্য লিনাক্স কার্নেল পুনরায় কম্পাইল করা পড়ুন।
  8. hello_world OpenCL প্রাক্তন কম্পাইল করুনampলে ডিজাইন আপনার কাস্টম প্ল্যাটফর্ম সমর্থন ব্যবহার করে. .rbf এর নাম পরিবর্তন করুন file যে OpenCL অফলাইন কম্পাইলারের জন্য Intel FPGA SDK opencl.rbf হিসাবে তৈরি করে এবং এটিকে SD ফ্ল্যাশ কার্ড চিত্রের মধ্যে fat32 পার্টিশনে রাখুন।
    আপনি hello_world প্রাক্তন ডাউনলোড করতে পারেনampওপেনসিএল ডিজাইন এক্স থেকে লে ডিজাইনampAltera উপর লেস পৃষ্ঠা webসাইট
    9. আপনি সব প্রয়োজনীয় সংরক্ষণ করার পরে fileফ্ল্যাশ কার্ড ইমেজে s, নিম্নলিখিত কমান্ডগুলি আহ্বান করুন:
    ক সুসংগত
    খ. আনমাউন্ট /media/disk1
    গ. আনমাউন্ট কোথায় পৃষ্ঠা 3-এ 3-এ ext3 পার্টিশন মাউন্ট করার জন্য আপনি যে ডিরেক্টরির নাম ব্যবহার করেন (উদাহরণস্বরূপample, /media/disk2)।
    d lossetup -d /dev/loop0
    e lossetup -d /dev/loop1
  9. নিম্নলিখিত কমান্ডটি ব্যবহার করে SD ফ্ল্যাশ কার্ড চিত্রটি সংকুচিত করুন: tar cvfz .tgz linux_sd_card_image
  10. বিতরণ .tgz file আপনার কাস্টম প্ল্যাটফর্মের রুট ডিরেক্টরির ভিতরে।
  11. আপনার SD ফ্ল্যাশ কার্ডের ছবি পরীক্ষা করতে, নিম্নলিখিত কাজগুলি সম্পাদন করুন:
    ক একটি মাইক্রো এসডি ফ্ল্যাশ কার্ডে ফলস্বরূপ অসংকুচিত চিত্রটি লিখুন।
    খ. SoC FPGA বোর্ডে মাইক্রো SD ফ্ল্যাশ কার্ড ঢোকান।
    গ. বোর্ড শক্তি আপ.
    d aocl ডায়াগনোজ ইউটিলিটি কমান্ডটি চালু করুন।

সম্পর্কিত লিঙ্ক

  • ইন্টেল SoC FPGA এমবেডেড ডিজাইন স্যুট ব্যবহারকারী গাইড
  • OpenCL ডিজাইন প্রাক্তনampAltera উপর লেস পৃষ্ঠা webসাইট
  • 16 পৃষ্ঠায় লিনাক্স কার্নেল পুনরায় কম্পাইল করা হচ্ছে
    CMA সক্রিয় করতে, আপনাকে প্রথমে লিনাক্স কার্নেল পুনরায় কম্পাইল করতে হবে।
  • আপনার FPGA বোর্ডের ডিভাইসের নাম জিজ্ঞাসা করা (নির্ণয়)

1.6 সাইক্লোন V SoC FPGA-এর জন্য লিনাক্স কার্নেল কম্পাইল করা
সাইক্লোন V SoC FPGA বোর্ডে OpenCL অ্যাপ্লিকেশন চালানোর আগে, আপনাকে অবশ্যই লিনাক্স কার্নেল সোর্স কম্পাইল করতে হবে এবং OpenCL লিনাক্স কার্নেল ড্রাইভার কম্পাইল ও ইনস্টল করতে হবে।

  1. 16 পৃষ্ঠায় লিনাক্স কার্নেল পুনরায় কম্পাইল করা হচ্ছে
    CMA সক্রিয় করতে, আপনাকে প্রথমে লিনাক্স কার্নেল পুনরায় কম্পাইল করতে হবে।
  2. পৃষ্ঠা 17-এ OpenCL Linux কার্নেল ড্রাইভার কম্পাইল ও ইনস্টল করা কম্পাইল করা কার্নেল উৎসের বিপরীতে OpenCL Linux কার্নেল ড্রাইভার কম্পাইল করুন।

1.6.1 লিনাক্স কার্নেল পুনরায় কম্পাইল করা
CMA সক্রিয় করতে, আপনাকে প্রথমে লিনাক্স কার্নেল পুনরায় কম্পাইল করতে হবে।

  1. GSRD v14.0-এ ক্লিক করুন - RocketBoards.org এর রিসোর্সেস পৃষ্ঠায় লিনাক্স লিঙ্ক কম্পাইল করা webলিনাক্স কার্নেল সোর্স কোড ডাউনলোড এবং পুনর্নির্মাণের নির্দেশাবলী অ্যাক্সেস করার জন্য সাইট।
    OpenCL-এর জন্য™ Intel FPGA SDK-এর সাথে ব্যবহারের জন্য, হিসাবে socfpga-3.13-rel14.0 উল্লেখ করুন .
  2. দ্রষ্টব্য: বিল্ডিং প্রক্রিয়াটি arch/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 কমান্ডটি চালান। ফলস্বরূপ চিত্রটি খিলান/বাহু/বুট/জিইমেজে উপলব্ধ file.
  8. জিইমেজ রাখুন file ফ্ল্যাশ কার্ড ইমেজের fat32 পার্টিশনে। বিস্তারিত নির্দেশাবলীর জন্য, Rocketboards.org-এ সাইক্লোন V SoC FPGA-নির্দিষ্ট GSRD ব্যবহারকারী ম্যানুয়াল দেখুন।
  9. দ্রষ্টব্য: OpenCL Linux কার্নেল ড্রাইভার সঠিকভাবে সন্নিবেশ করতে, প্রথমে একটি SDKgenerated.rbf লোড করুন file FPGA সম্মুখের।
    .rbf তৈরি করতে file, একটি SDK ডিজাইন প্রাক্তন কম্পাইল করুনampলক্ষ্যযুক্ত কাস্টম প্ল্যাটফর্ম হিসাবে সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম সহ।
    9. .rbf রাখুন file ফ্ল্যাশ কার্ড ইমেজের fat32 পার্টিশনে।
    মনোযোগ দিন: fat32 পার্টিশনে অবশ্যই zImage উভয়ই থাকতে হবে file এবং .rbf file. একটি .rbf ছাড়া file, আপনি ড্রাইভার সন্নিবেশ করার সময় একটি মারাত্মক ত্রুটি ঘটবে।
  10. সাইক্লোন V SoC ডেভেলপমেন্ট কিট-এ প্রোগ্রাম করা মাইক্রো SD কার্ডটি সন্নিবেশ করুন, যাতে SD কার্ডের ছবি রয়েছে যা আপনি পরিবর্তন করেছেন বা তৈরি করেছেন এবং তারপরে SoC FPGA বোর্ড চালু করুন।
  11. uname -r কমান্ড চালিয়ে ইনস্টল করা লিনাক্স কার্নেলের সংস্করণ যাচাই করুন।
  12. আপনি SoC FPGA বোর্ড চালিত করার সাথে কার্নেলে সফলভাবে CMA সক্রিয় করেছেন কিনা তা যাচাই করতে, grep init_cma /proc/kallsyms কমান্ডটি চালান।
    আউটপুট খালি না হলে CMA সক্রিয় করা হয়।
  13. SDK এর সাথে পুনরায় কম্পাইল করা লিনাক্স কার্নেল ব্যবহার করতে, লিনাক্স কার্নেল ড্রাইভার কম্পাইল এবং ইনস্টল করুন।

সম্পর্কিত লিঙ্ক

  • গোল্ডেন সিস্টেম রেফারেন্স ডিজাইন (GSRD) ব্যবহারকারী ম্যানুয়াল
  • 13 পৃষ্ঠায় একটি SD ফ্ল্যাশ কার্ড চিত্র তৈরি করা
    যেহেতু ঘূর্ণিঝড় V SoC FPGA একটি চিপে একটি সম্পূর্ণ সিস্টেম, আপনি সিস্টেমের সম্পূর্ণ সংজ্ঞা প্রদানের জন্য দায়ী৷

1.6.2 OpenCL Linux কার্নেল ড্রাইভার কম্পাইল ও ইনস্টল করা
কম্পাইল করা কার্নেল উৎসের বিপরীতে OpenCL Linux কার্নেল ড্রাইভার কম্পাইল করুন।

ড্রাইভার উত্সটি OpenCL-এর জন্য Intel FPGA রানটাইম এনভায়রনমেন্টের সাইক্লোন V SoC FPGA সংস্করণে উপলব্ধ। এছাড়াও, নিশ্চিত করুন যে আপনি OpenCL-জেনারেটেড .rbf এর জন্য একটি Intel FPGA SDK লোড করেছেন file লিনাক্স কার্নেল মডিউলের ভুল ইনস্টলেশন প্রতিরোধ করতে FPGA-তে প্রবেশ করুন।

  1. Altera-এর ডাউনলোড সেন্টার থেকে OpenCL প্যাকেজের জন্য Intel FPGA রানটাইম এনভায়রনমেন্টের সাইক্লোন V SoC FPGA সংস্করণ ডাউনলোড করুন webসাইট
    ক কোয়ার্টাস প্রাইম সফ্টওয়্যার সংস্করণের পাশে ডাউনলোড বোতামে ক্লিক করুন।
    খ. রিলিজ সংস্করণ, অপারেটিং সিস্টেম এবং ডাউনলোড পদ্ধতি নির্দিষ্ট করুন।
    গ. অতিরিক্ত সফ্টওয়্যার ট্যাবে ক্লিক করুন এবং Intel FPGA ডাউনলোড করতে নির্বাচন করুন
    OpenCL Linux সাইক্লোন V SoC TGZ এর জন্য রানটাইম পরিবেশ।
    d আপনি aocl-rte- ডাউনলোড করার পরে .arm32.tgz file, এটা আনপ্যাক
    আপনার মালিকানাধীন একটি ডিরেক্টরি.
    ড্রাইভার সোর্স এওসিএল-আরটিই-তে রয়েছে .arm32/board/c5soc/ ড্রাইভার ডিরেক্টরি।
  2. OpenCL Linux কার্নেল ড্রাইভার পুনরায় কম্পাইল করতে, ড্রাইভারের মেক-এ KDIR মান সেট করুনfile লিনাক্স কার্নেল উৎস ধারণকারী ডিরেক্টরিতে files.
  3. আপনার টুল চেইনের উপসর্গ নির্দেশ করতে রপ্তানি CROSS_COMPILE=arm-linux-gnueabihf- কমান্ডটি চালান।
  4. মেক ক্লিন কমান্ডটি চালান।
  5. aclsoc_drv.ko তৈরি করতে make কমান্ডটি চালান file.
  6. Opencl_arm32_rte ডিরেক্টরিটি সাইক্লোন V SoC FPGA বোর্ডে স্থানান্তর করুন।
    scp -r চলমান root@your-ipaddress: কমান্ড রানটাইম পরিবেশকে/home/root ডিরেক্টরিতে রাখে।
  7. আপনি SD কার্ডিমেজ তৈরি করার সময় যে init_opencl.sh স্ক্রিপ্টটি তৈরি করেছিলেন তা চালান।
  8.  aocl ডায়াগনোজ ইউটিলিটি কমান্ডটি চালু করুন। আপনি init_opencl.sh সফলভাবে চালানোর পরে ডায়াগনোজ ইউটিলিটি একটি উত্তীর্ণ ফলাফল প্রদান করবে।

1.7 পরিচিত সমস্যা
বর্তমানে, সাইক্লোন V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্মের সাথে OpenCL-এর জন্য Intel FPGA SDK-এর ব্যবহারে কিছু সীমাবদ্ধতা রয়েছে।

  1. আপনি clGetDeviceInfo() কলের CL_DEVICE_VENDOR এবং CL_DEVICE_NAME স্ট্রিং দ্বারা রিপোর্ট করা বিক্রেতা এবং বোর্ডের নামগুলিকে ওভাররাইড করতে পারবেন না৷
  2. হোস্ট যদি শেয়ার্ড ডিডিআর সিস্টেমে (অর্থাৎ, এইচপিএস ডিডিআর) ধ্রুবক মেমরি বরাদ্দ করে এবং এটি কার্নেল কার্যকর করার পরে ধ্রুবক মেমরি পরিবর্তন করে, মেমরির ডেটা পুরানো হয়ে যেতে পারে। এই সমস্যাটি দেখা দিয়েছে কারণ FPGA কোর CPU-থেকে-HPS DDR লেনদেনের উপর স্নুপ করতে পারে না।
    পরবর্তী কার্নেল এক্সিকিউশনগুলিকে পুরানো ডেটা অ্যাক্সেস করা থেকে আটকাতে, নিম্নলিখিত সমাধানগুলির মধ্যে একটি প্রয়োগ করুন:
    • সূচনা করার পরে ধ্রুবক মেমরি পরিবর্তন করবেন না।
    • যদি আপনার একাধিক __ ধ্রুবক ডেটা সেটের প্রয়োজন হয়, একাধিক ধ্রুবক মেমরি বাফার তৈরি করুন।
    • যদি উপলব্ধ থাকে, আপনার এক্সিলারেটর বোর্ডে FPGA DDR-এ ধ্রুবক মেমরি বরাদ্দ করুন।
  3. ARM-এর SDK ইউটিলিটি শুধুমাত্র প্রোগ্রামটিকে সমর্থন করে এবং ইউটিলিটি কমান্ড নির্ণয় করে।
    ফ্ল্যাশ, ইনস্টল এবং আনইনস্টল ইউটিলিটি কমান্ডগুলি নিম্নলিখিত কারণে সাইক্লোন V SoC ডেভেলপমেন্ট কিটের ক্ষেত্রে প্রযোজ্য নয়:
    ক ইনস্টল ইউটিলিটিকে aclsoc_drv লিনাক্স কার্নেল ড্রাইভার কম্পাইল করতে হবে এবং এটি SoC FPGA-তে সক্ষম করতে হবে। ডেভেলপমেন্ট মেশিনকে কম্পাইলেশন করতে হবে; যাইহোক, এটি ইতিমধ্যে SoC FPGA-এর জন্য লিনাক্স কার্নেল উত্স ধারণ করে। ডেভেলপমেন্ট মেশিনের জন্য লিনাক্স কার্নেল উত্সগুলি SoC FPGA এর থেকে আলাদা। SoC FPGA-এর জন্য Linux কার্নেল উৎসের অবস্থান সম্ভবত SDK ব্যবহারকারীর কাছে অজানা। একইভাবে, আনইনস্টল ইউটিলিটি সাইক্লোন V SoC ডেভেলপমেন্ট কিটেও অনুপলব্ধ।
    এছাড়াও, SoC বোর্ডে aclsoc_drv সরবরাহ করা চ্যালেঞ্জিং কারণ সাইক্লোন V SoC ডেভেলপমেন্ট কিটের ডিফল্ট বিতরণে লিনাক্স কার্নেল অন্তর্ভুক্ত নেই files বা GNU কম্পাইলার কালেকশন (GCC) কম্পাইলার।
    খ. ফ্ল্যাশ ইউটিলিটি একটি .rbf স্থাপন প্রয়োজন file মাইক্রো এসডি ফ্ল্যাশ কার্ডের FAT32 পার্টিশনে একটি OpenCL ডিজাইন। বর্তমানে, SDK ব্যবহারকারী যখন বোর্ড চালু করে তখন এই পার্টিশনটি মাউন্ট করা হয় না। অতএব, পার্টিশন আপডেট করার সর্বোত্তম উপায় হল একটি ফ্ল্যাশ কার্ড রিডার এবং ডেভেলপমেন্ট মেশিন ব্যবহার করা।
  4. ওপেনসিএল অফলাইন কম্পাইলার এক্সিকিউটেবলের জন্য ইন্টেল FPGA SDK-এর মধ্যে স্যুইচ করার সময় files (.aocx) যেটি বিভিন্ন বোর্ড ভেরিয়েন্টের সাথে মিলে যায় (অর্থাৎ c5soc এবং c5soc_sharedonly), আপনাকে .aocx লোড করতে SDK এর প্রোগ্রাম ইউটিলিটি ব্যবহার করতে হবে file প্রথমবারের জন্য নতুন বোর্ড বৈকল্পিক জন্য. আপনি যদি শুধুমাত্র একটি নতুন বোর্ড ভেরিয়েন্ট ব্যবহার করে হোস্ট অ্যাপ্লিকেশনটি চালান কিন্তু FPGA-তে অন্য বোর্ড ভেরিয়েন্টের ছবি থাকে, তাহলে একটি মারাত্মক ত্রুটি ঘটতে পারে।
  5. .qxp file ইন্টারফেস পার্টিশন অ্যাসাইনমেন্ট অন্তর্ভুক্ত করে না কারণ Quartus প্রাইম সফ্টওয়্যার ধারাবাহিকভাবে এই পার্টিশনের সময়ের প্রয়োজনীয়তা পূরণ করে।
  6. আপনি যখন বোর্ডটি চালু করেন, তখন এর মিডিয়া অ্যাক্সেস কন্ট্রোল (MAC) ঠিকানাটি একটি র্যান্ডম নম্বরে সেট করা হয়। যদি আপনার LAN নীতি এই আচরণের অনুমতি না দেয়, তাহলে নিম্নলিখিত কাজগুলি সম্পাদন করে MAC ঠিকানা সেট করুন:
    ক U-Boot পাওয়ার-আপের সময়, U-Boot কমান্ড প্রম্পটে প্রবেশ করতে যেকোনো কী টিপুন।
    খ. কমান্ড প্রম্পটে setenv ethaddr 00:07:ed:00:00:03 টাইপ করুন।
    আপনি যেকোনো MAC ঠিকানা বেছে নিতে পারেন।
    গ. saveenv কমান্ড টাইপ করুন।
    d বোর্ড রিবুট করুন।

1.8 নথি পুনর্বিবেচনার ইতিহাস
টেবিল 1।
OpenCL সাইক্লোন V SoC-এর জন্য Intel FPGA SDK-এর নথি সংশোধনের ইতিহাস
ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম পোর্টিং গাইড

তারিখ সংস্করণ পরিবর্তন
মে-17 2017.05.08 • রক্ষণাবেক্ষণ রিলিজ.
অক্টোবর 2016 2016.10.31 • OpenCL-এর জন্য OpenCL থেকে Intel FPGA SDK-এর জন্য পুনঃব্র্যান্ডেড Altera SDK।
• OpenCL অফলাইন কম্পাইলারের জন্য Intel FPGA SDK-তে Altera অফলাইন কম্পাইলার রিব্র্যান্ডেড।
মে-16 2016.05.02 • একটি SD ফ্ল্যাশ কার্ড ইমেজ তৈরি এবং পরিবর্তন করার জন্য পরিবর্তিত নির্দেশাবলী।
লিনাক্স কার্নেল এবং OpenCL লিনাক্স কার্নেল ড্রাইভার পুনরায় কম্পাইল করার জন্য পরিবর্তিত নির্দেশাবলী।
নভেম্বর-15 2015.11.02 • রক্ষণাবেক্ষণ রিলিজ, এবং Quartus II এর দৃষ্টান্তগুলিকে Quartus প্রাইমে পরিবর্তন করা হয়েছে।
মে-15 15.0.0 • FPGA পুনঃকনফিগারেশনে, FPGA কোর পুনঃপ্রোগ্রাম করার নির্দেশ সরানো হয়েছে
সঙ্গে একটি . বিড়ালকে আহ্বান করে rbf চিত্র fileনাম> আরবিএফ
> /dev/ fpga0 কমান্ড কারণ এই পদ্ধতিটি সুপারিশ করা হয় না।
ডিসেম্বর -14 14.1.0 • দস্তাবেজটির নামকরণ করা হয়েছে Altera Cyclone V SoC ডেভেলপমেন্ট কিট রেফারেন্স প্ল্যাটফর্ম পোর্টিং গাইড হিসাবে।
• এওসিএল প্রোগ্রামে রিপ্রোগ্রাম ইউটিলিটি আপডেট করা হয়েছেfilename>.aocx ইউটিলিটি কমান্ড।
• aocl নির্ণয় এবং aocl নির্ণয়ের জন্য ডায়াগনস্টিক ইউটিলিটি আপডেট করা হয়েছে ইউটিলিটি কমান্ড।
• আপনার SoC বোর্ড বিভাগে রেফারেন্স প্ল্যাটফর্ম পোর্ট করার পদ্ধতিটি আপডেট করা হয়েছে যাতে নিশ্চিত সময় বন্ধ করার প্রবাহের জন্য একটি টাইমিং-ক্লিন পার্টিশন তৈরি করতে c5soc বোর্ড পার্টিশন পোর্টিং এবং সংশোধন করার নির্দেশাবলী অন্তর্ভুক্ত করা হয়েছে।
• নিম্নলিখিত কাজের জন্য পদ্ধতির রূপরেখা দিতে একটি পোর্টেড রেফারেন্স প্ল্যাটফর্ম আপডেট করার বিষয়টি সন্নিবেশ করা হয়েছে:
1. বোর্ড পার্টিশনে হার্ড প্রসেসর সিস্টেম (HPS) ব্লক বাদ দেওয়া
2. SD ফ্ল্যাশ কার্ড ইমেজ আপডেট করা
• একটি SD ফ্ল্যাশ কার্ড চিত্র বিভাগ তৈরি করা আপডেট করা হয়েছে৷ SoC এমবেডেড ডিজাইন স্যুট (EDS) এর সাথে উপলব্ধ ইমেজের পরিবর্তে গোল্ডেন সিস্টেম রেফারেন্স ডিজাইন (GSRD) ইমেজের 14.0 সংস্করণ ব্যবহার করার পরামর্শ দেওয়া হয়েছে।
• লিনাক্স কার্নেল এবং ওপেনসিএল লিনাক্স কার্নেল ড্রাইভার সেকশন পুনরায় কম্পাইল করা আপডেট করা হয়েছে:
1. CROSS COMPILE ভেরিয়েবল সেট করার জন্য নির্দেশনা যোগ করা হয়েছে।
2. CMA সফলভাবে সক্ষম হয়েছে কিনা তা যাচাই করতে আপনি যে কমান্ডটি চালান তা পরিবর্তন করুন৷
জুলাই-14 14.0.0 •প্রাথমিক রিলিজ.

দলিল/সম্পদ

OpenCL এর জন্য intel FPGA SDK [পিডিএফ] ব্যবহারকারীর নির্দেশিকা
OpenCL এর জন্য FPGA SDK, FPGA SDK, OpenCL এর জন্য SDK, SDK

তথ্যসূত্র

একটি মন্তব্য করুন

আপনার ইমেল ঠিকানা প্রকাশ করা হবে না. প্রয়োজনীয় ক্ষেত্রগুলি চিহ্নিত করা হয়েছে *