شعار إنتل

بطاقة تسريع قابلة للبرمجة من Intel FPGA D5005

Intel.-FPGA-Programmable-Acceleration-Card-D5005-product

حول هذه الوثيقة

يصف هذا المستند تنفيذ الوحدة الوظيفية لتسريع الوصول المباشر إلى الذاكرة (DMA) وكيفية إنشاء التصميم ليتم تشغيله على الأجهزة أو في المحاكاة.

الجمهور المستهدف

يتألف الجمهور المستهدف من مطوري الأجهزة أو البرامج الذين يحتاجون إلى وظيفة التسريع (AF) لتخزين البيانات مؤقتًا محليًا في الذاكرة المتصلة بجهاز Intel FPGA.

الاتفاقيات

اتفاقيات المستندات

مؤتمر وصف
# يسبق الأمر الذي يشير إلى أنه سيتم إدخال الأمر كجذر.
$ يشير إلى أمر يجب إدخاله كمستخدم.
هذا الخط Fileتتم طباعة الأسماء والأوامر والكلمات الأساسية بهذا الخط. تتم طباعة أسطر الأوامر الطويلة بهذا الخط. على الرغم من أن أسطر الأوامر الطويلة قد تلتف إلى السطر التالي، إلا أن الإرجاع ليس جزءًا من الأمر؛ لا تضغط على إدخال.
يشير إلى ضرورة استبدال نص العنصر النائب الذي يظهر بين قوسين زاوية بقيمة مناسبة. لا تدخل بين قوسين زاوية.

الاختصارات

الاختصارات

الاختصارات توسع وصف
AF وظيفة المسرع صورة مسرع الأجهزة المترجمة التي تم تنفيذها في منطق FPGA والتي تعمل على تسريع التطبيق.
أفو وحدة المعجل الوظيفية يتم تطبيق مسرع الأجهزة في منطق FPGA الذي يقوم بإلغاء تحميل العملية الحسابية لأحد التطبيقات من وحدة المعالجة المركزية لتحسين الأداء.
واجهة برمجة التطبيقات واجهة برمجة التطبيقات مجموعة من التعريفات والبروتوكولات والأدوات الروتينية لبناء التطبيقات البرمجية.
CCI-P واجهة ذاكرة التخزين المؤقت الأساسية CCI-P هي الواجهة القياسية التي تستخدمها وحدات AFU للتواصل مع المضيف.
DFH رأس ميزة الجهاز ينشئ قائمة مرتبطة برؤوس الميزات لتوفير طريقة قابلة للتوسيع لإضافة الميزات.
تابع…

شركة إنتل. كل الحقوق محفوظة. تعد Intel وشعار Intel وعلامات Intel الأخرى علامات تجارية لشركة Intel Corporation أو الشركات التابعة لها. تضمن Intel أداء منتجات FPGA وأشباه الموصلات وفقًا للمواصفات الحالية وفقًا لضمان Intel القياسي ، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل Intel أي مسؤولية أو التزام ناشئ عن التطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه صراحةً كتابةً من قبل Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الجهاز قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات. * قد تكون الأسماء والعلامات التجارية الأخرى مملوكة لآخرين.

الاختصارات توسع وصف
فيم مدير واجهة FPGA تحتوي أجهزة FPGA على وحدة واجهة FPGA (FIU) والواجهات الخارجية للذاكرة والشبكات وما إلى ذلك.

تتفاعل وظيفة التسريع (AF) مع FIM في وقت التشغيل.

جامعة فلوريدا الدولية وحدة واجهة FPGA FIU عبارة عن طبقة واجهة منصة تعمل كجسر بين واجهات النظام الأساسي مثل PCIe* وUPI وواجهات جانب AFU مثل CCI-P.
صندوق التقاعد مصنع خصائص الذاكرة MPF عبارة عن كتلة بناء أساسية (BBB) ​​يمكن لوحدات AFU استخدامها لتوفير عمليات تشكيل حركة مرور CCI-P للمعاملات مع وحدة الاستخبارات المالية.

معجم التسارع

مكدس التسريع لوحدة المعالجة المركزية Intel® Xeon® مع مسرد FPGAs

شرط اختصار وصف
Intel® Acceleration Stack لوحدة المعالجة المركزية Intel Xeon® مع FPGAs مكدس التسريع مجموعة من البرامج والبرامج الثابتة والأدوات التي توفر اتصالاً محسّنًا للأداء بين Intel FPGA ومعالج Intel Xeon.
بطاقة تسريع قابلة للبرمجة من إنتل FPGA إنتل FPGA PAC بطاقة تسريع PCIe FPGA.

يحتوي على مدير واجهة FPGA (FIM) الذي يقترن بمعالج Intel Xeon عبر ناقل PCIe.

  • دليل مستخدم الوحدة الوظيفية لمسرّع DMA: بطاقة التسريع القابلة للبرمجة Intel FPGA D5005

وصف DMA AFU

مقدمة

الوصول المباشر للذاكرة (DMA) AFU على سبيل المثالampيوضح كيفية إدارة عمليات نقل الذاكرة بين المعالج المضيف وFPGA. يمكنك دمج DMA AFU في التصميم الخاص بك لنقل البيانات بين الذاكرة المضيفة والذاكرة المحلية FPGA. يشتمل DMA AFU على الوحدات الفرعية التالية:

  • مصنع خصائص الذاكرة (MPF) اللبنة الأساسية (BBB)
  • واجهة ذاكرة التخزين المؤقت الأساسية (CCI-P) لمحول Avalon® Memory-Mapped (Avalon-MM)
  • نظام اختبار DMA الذي يحتوي على DMA BBB

تم توضيح هذه الوحدات الفرعية بمزيد من التفاصيل في موضوع مكونات أجهزة DMA AFU أدناه.

معلومات ذات صلة

  • مكونات أجهزة DMA AFU في الصفحة 6
  • مواصفات واجهة أفالون

لمزيد من المعلومات حول بروتوكول Avalon-MM، بما في ذلك المخططات الزمنية لمعاملات القراءة والكتابة.

حزمة برامج DMA AFU

حزمة Intel Acceleration Stack لوحدة المعالجة المركزية Intel Xeon مع حزمة FPGAs file (*.tar.gz)، يتضمن DMA AFU على سبيل المثالampجنيه. هذا على سبيل المثالampيوفر le برنامج تشغيل مساحة المستخدم. يستخدم التطبيق المضيف برنامج التشغيل هذا بحيث يقوم DMA بنقل البيانات بين ذاكرة المضيف وذاكرة FPGA. تتوفر ثنائيات الأجهزة والمصادر وبرنامج تشغيل مساحة المستخدم في الدليل التالي: $OPAE_PLATFORM_ROOT/hw/sampليه/dma_afu . قبل تجربة DMA AFU، يجب عليك تثبيت حزمة برامج Open Programmable Acceleration Engine (OPAE). ارجع إلى تثبيت حزمة برامج OPAE في دليل البدء السريع لـ Intel Acceleration Stack لبطاقة Intel FPGA القابلة للبرمجة D5005 للحصول على تعليمات التثبيت. يتضمن دليل البدء السريع هذا أيضًا معلومات أساسية حول محرك التسريع المفتوح القابل للبرمجة (OPAE) وتكوين وحدة AFU. بعد تثبيت حزمة برامج Open Programmable Acceleration Engine (OPAE)، كماampيتوفر تطبيق المضيف وبرنامج تشغيل مساحة المستخدم DMA AFU في الدليل التالي: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. لتشغيل سampالتطبيق المضيف، fpga_dma_test على جهاز Intel FPGA PAC D5005، راجع الخطوات الواردة في القسم تشغيل DMA AFU Exampلو. شركة إنتل. كل الحقوق محفوظة. إن Intel وشعار Intel وعلامات Intel الأخرى هي علامات تجارية مملوكة لشركة Intel Corporation أو الشركات التابعة لها. تضمن Intel أداء منتجات FPGA وأشباه الموصلات الخاصة بها وفقًا للمواصفات الحالية وفقًا للضمان القياسي لشركة Intel، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل شركة Intel أي مسؤولية أو التزام ينشأ عن تطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه كتابيًا صراحةً من قبل شركة Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الأجهزة قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات. *قد تتم المطالبة بالأسماء والعلامات التجارية الأخرى باعتبارها مملوكة للآخرين.

معلومات ذات صلة

  • دليل البدء السريع لـ Intel Acceleration Stack لبطاقة تسريع Intel FPGA القابلة للبرمجة D5005
  • تثبيت حزمة برامج OPAE

مكونات أجهزة DMA AFU

واجهات DMA AFU مع وحدة واجهة FPGA (FIU) وذاكرة FPGA. ارجع إلى ورقة بيانات FPGA Interface Manager لبطاقة تسريع Intel FPGA القابلة للبرمجة D5005 للحصول على المواصفات التفصيلية لذاكرة FPGA. تحدد الأجهزة المتوفرة حاليًا تكوين الذاكرة هذا. قد تدعم الأجهزة المستقبلية تكوينات مختلفة للذاكرة. يمكنك استخدام DMA AFU لنسخ البيانات بين مواقع المصدر والوجهة التالية:

  • المضيف لجهاز ذاكرة FPGA
  • ذاكرة جهاز FPGA إلى المضيف

نظام مصمم النظام الأساسي، $OPAE_PLATFORM_ROOT/hw/sampليه/ dma_afu/hw/rtl/TEST_dma/ يقوم /dma_test_system.qsys بتنفيذ معظم DMA

  • AFU. يمكن العثور على جزء من DMA AFU المطبق في نظام مصمم النظام الأساسي فيما يلي

الموقع:$OPAE_PLATFORM_ROOT/hw/sampليه/dma_afu/hw/rtl/TEST_dma/ يمكنك العثور على DMA BBB في الموقع التالي:

  • OPAE_PLATFORM_ROOT دولار / ساعة / ثانيةamples/dma_afu/hw/rtl/dma_bbb

دليل مستخدم الوحدة الوظيفية لمسرّع DMA: بطاقة التسريع القابلة للبرمجة Intel FPGA D5005

مخطط كتلة الأجهزة DMA AFU

Intel.-FPGA-بطاقة تسريع قابلة للبرمجة-D5005-شكل-1

يتضمن DMA AFU الوحدات الداخلية التالية للتفاعل مع وحدة واجهة FPGA (FIU):

  • منطق وحدة فك ترميز الإدخال والإخراج (MMIO) للذاكرة: يكتشف معاملات القراءة والكتابة لـ MMIO ويفصلها عن قناة CCI-P RX 0 التي تصل منها. وهذا يضمن عدم وصول حركة مرور MMIO أبدًا إلى MPF BBB وتتم خدمتها بواسطة قناة أوامر MMIO مستقلة.
  • مصنع خصائص الذاكرة (MPF): تضمن هذه الوحدة إرجاع استجابات القراءة من DMA بالترتيب الذي تم إصدارها به. يتطلب بروتوكول Avalon-MM قراءة الاستجابات للعودة بالترتيب الصحيح.
  • محول CCI-P إلى Avalon-MM: تترجم هذه الوحدة بين معاملات CCI-P و Avalon-MM، على النحو التالي:
  • محول CCI-P إلى Avalon-MMIO: يترجم هذا المسار معاملات CCI-P MMIO إلى معاملات Avalon-MM.
  • Avalon to CCI-P Host Adaptor: تقوم هذه المسارات بإنشاء مسارات منفصلة للقراءة فقط والكتابة فقط لـ DMA للوصول إلى ذاكرة المضيف.
  • نظام اختبار DMA: تعمل هذه الوحدة بمثابة غلاف حول DMA BBB لكشف أسياد DMA لبقية المنطق في AFU. فهو يوفر الواجهة بين DMA BBB وCCI-P لمحول Avalon. كما يوفر أيضًا واجهة بين DMA BBB وبنوك FPGA SDRAM المحلية.

معلومات ذات صلة
ورقة بيانات مدير واجهة FPGA لبطاقة تسريع Intel FPGA القابلة للبرمجة D5005

نظام اختبار DMA

يقوم نظام اختبار DMA بتوصيل DMA BBB ببقية تصميم FPGA بما في ذلك تكييف CCI-P وذاكرة FPGA المحلية.

مخطط كتلة نظام اختبار DMA
يوضح هذا المخطط الهيكلي الأجزاء الداخلية لنظام اختبار DMA. يظهر نظام اختبار DMA ككتلة متجانسة في الشكل 1 في الصفحة 7.Intel.-FPGA-بطاقة تسريع قابلة للبرمجة-D5005-شكل-2

يتضمن نظام اختبار DMA الوحدات الداخلية التالية:

  • جسر بعيد الوصول/جسر خط الأنابيب: جسر خط أنابيب مع زمن وصول قابل للتعديل متضمن للتحكم في الهيكل وتحسين تصميم Fmax.
  • رأس ميزة جهاز DMA AFU (DFH): هذا هو DFH لـ DMA AFU. يشير DFH هذا إلى DFH التالي الموجود عند الإزاحة 0x100 (DMA BBB DFH).
  • Null DFH: يقوم هذا المكون بإنهاء القائمة المرتبطة بـ DFH. إذا قمت بإضافة المزيد من DMA BBBs إلى التصميم، فتأكد من وجود عنوان DFH الأساسي الفارغ في نهاية قائمة DFH المرتبطة.
  • MA Basic Building Block (BBB): تقوم هذه الكتلة بنقل البيانات بين المضيف وذاكرة FPGA المحلية. كما أنه يصل إلى الذاكرة المضيفة للوصول إلى سلاسل الواصف.

دما بي بي بي

ينقل النظام الفرعي DMA BBB البيانات من عناوين المصدر إلى عناوين الوجهة باستخدام معاملات Avalon-MM. يتحكم برنامج تشغيل DMA في DMA BBB من خلال الوصول إلى سجل التحكم والحالة للمكونات المختلفة داخل النظام. يتحكم برنامج تشغيل DMA أيضًا في DMA BBB باستخدام الذاكرة المشتركة لتوصيل واصفات النقل. يصل DMA BBB إلى البيانات الموجودة في ذاكرة FPGA عند الإزاحة 0x0. يصل DMA BBB إلى البيانات والواصفات الموجودة في ذاكرة المضيف عند الإزاحة 0x1_0000_0000_0000.

مخطط كتلة مصمم منصة DMA BBB
يستثني هذا المخطط الهيكلي بعض مراكز IP الداخلية لـ Pipeline Bridge.Intel.-FPGA-بطاقة تسريع قابلة للبرمجة-D5005-شكل-6

دليل مستخدم الوحدة الوظيفية لمسرّع DMA: بطاقة التسريع القابلة للبرمجة Intel FPGA D5005

وصف DMA AFU

تقوم المكونات الموجودة في DMA BBB Platform Designer بتنفيذ الوظائف التالية:

  • جسر بعيد المدى / جسر خط الأنابيب: تم تضمين جسر خط أنابيب مع زمن انتقال قابل للتعديل للتحكم في الهيكل وتحسين تصميم Fmax.
  • أماه بي بي بي DFH: هذا هو رأس ميزة الجهاز لـ DMA BBB. يشير DFH هذا إلى DFH التالي الموجود عند الإزاحة 0x100 (Null DFH).
  • واجهة الواصف: المسؤول عن جلب الواصفات ونقلها إلى المرسل. عند اكتمال نقل DMA، تتلقى الواجهة الأمامية تكوين الحالة من المرسل وتقوم بالكتابة فوق الواصف في ذاكرة المضيف.
  • المرسل: تقوم هذه الكتلة بجدولة طلبات نقل DMA إلى وحدة القراءة والكتابة الرئيسية.
  • قراءة الماجستير: هذه الكتلة مسؤولة عن قراءة البيانات من المضيف أو ذاكرة FPGA المحلية وإرسالها كبيانات متدفقة إلى Write Master.
  • اكتب سيد: هذه الكتلة مسؤولة عن تلقي البيانات المتدفقة من Read Master وكتابة المحتويات إلى ذاكرة FPGA المضيفة أو المحلية.

تسجيل مساحات الخريطة والعنوان

يدعم DMA AFU ذاكرتين viewالصورة: الوصول المباشر للسوق (DMA). view والمضيف view. الوصول المباشر للسوق (DMA). view يدعم مساحة عنوان 49 بت. النصف السفلي من DMA view خرائط لذاكرة FPGA المحلية. النصف العلوي من DMA view خرائط لاستضافة الذاكرة. المضيف view يتضمن جميع السجلات التي يمكن الوصول إليها من خلال عمليات الوصول إلى MMIO مثل جداول DFH، وسجلات التحكم/الحالة لمراكز IP المختلفة المستخدمة داخل DMA AFU. تدعم تسجيلات MMIO في DMA BBB وAFU الوصول إلى 32 و64 بت. لا يدعم DMA AFU وصول MMIO 512 بت. يجب أن يكون الوصول إلى سجلات المرسل داخل DMA BBB 32 بت (تنفذ الواجهة الأمامية للواصف تسجيلات 64 بت).

خريطة تسجيل DMA AFU

توفر خريطة تسجيل DMA AFU العناوين المطلقة لجميع المواقع داخل الوحدة. هذه السجلات موجودة في المضيف view لأنه المضيف فقط هو الذي يمكنه الوصول إليهم.

خريطة الذاكرة DMA AFU

إزاحة عنوان البايت اسم تمتد بالبايت وصف
0×0 دما أفو دف 0×40 رأس ميزة الجهاز لـ DMA AFU. تم تعيين ID_L على 0x9081f88b8f655caa وتم ضبط ID_H على 0x331db30c988541ea. تم تحديد معلمات DMA AFU DFH للإشارة إلى الإزاحة 0x100 للعثور على DFH التالي (DMA BBB DFH). يجب ألا تقوم بتعديل العنوان الأساسي لـ DMA AFU DFH لأنه يجب أن يكون موجودًا على العنوان 0x0 كما هو محدد بواسطة مواصفات CCIP.
0×100 دما بي بي بي 0×100 يحدد واجهة تسجيل الحالة والتحكم في DMA BBB. يمكنك الرجوع إلى خريطة تسجيل DMA BBB لمزيد من المعلومات. ضمن DMA BBB عند الإزاحة 0، يتضمن DMA BBB DFH الخاص به. تم تعيين DFH هذا للعثور على DFH التالي عند الإزاحة 0x100 (NULL DFH). إذا قمت بإضافة المزيد من DMA BBBs، فقم بتباعدها بمقدار 0x100 وتأكد من أن NULL DFH يتبع آخر DMA بمقدار 0x100.
0×200 DFH فارغة 0×40 ينهي القائمة المرتبطة بـ DFH. تم تعيين ID_L على 0x90fe6aab12a0132f وتم تعيين ID_H على 0xda1182b1b3444e23. لقد تم تحديد معلمات NULL DFH ليكون DFH الأخير في الأجهزة. لهذا السبب يقع NULL DFH على العنوان 0x200. إذا قمت بإضافة BBBs DMA إضافية إلى النظام، فستحتاج إلى زيادة العنوان الأساسي NULL DFH وفقًا لذلك بحيث يظل في أعلى عنوان. لا يستخدم برنامج تشغيل DMA وتطبيق الاختبار هذا الجهاز.

شركة إنتل. كل الحقوق محفوظة. تعد Intel وشعار Intel وعلامات Intel الأخرى علامات تجارية لشركة Intel Corporation أو الشركات التابعة لها. تضمن Intel أداء منتجات FPGA وأشباه الموصلات وفقًا للمواصفات الحالية وفقًا لضمان Intel القياسي ، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل Intel أي مسؤولية أو التزام ناشئ عن التطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه صراحةً كتابةً من قبل Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الجهاز قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات. * قد تكون الأسماء والعلامات التجارية الأخرى مملوكة لآخرين.

تسجيل مساحات الخريطة والعنوان

خريطة الذاكرة DMA BBB
عناوين البايت التالية هي إزاحات نسبية من عنوان DMA BBB الأساسي في نظام DMA AFU (0x100).

إزاحة عنوان البايت اسم تمتد بالبايت وصف
0×0 دما بى بى دى اف اتش 0×40 رأس ميزة الجهاز لـ DMA AFU. تم تعيين ID_L على 0xa9149a35bace01ea وتم تعيين ID_H على 0xef82def7f6ec40fc . تم تحديد معلمات DMA BBB DFH للإشارة إلى 0x100 لإزاحة DFH التالية. يمكن أن تكون هذه الإزاحة التالية عبارة عن DMA BBB آخر، أو DFH آخر (غير مضمن في هذا التصميم)، أو NULL DFH.
0×40 المرسل 0×40 منفذ التحكم للمرسل. يستخدم برنامج تشغيل DMA هذا الموقع للتحكم في DMA أو الاستعلام عن حالته.
0×80 الواجهة الواصفة 0×40 الواجهة الأمامية للواصف عبارة عن مكون مخصص يقرأ الواصفات من ذاكرة المضيف ويستبدل الواصف عند اكتمال نقل DMA. يقوم برنامج التشغيل بإرشاد الواجهة الأمامية حيث يوجد الواصف الأول في ذاكرة المضيف ثم يتصل جهاز الواجهة الأمامية مع برنامج التشغيل بشكل أساسي من خلال الواصفات المخزنة في ذاكرة المضيف.

مساحة عنوان DMA AFU

يمكن للمضيف الوصول إلى السجلات المدرجة في الجدول 4 في الصفحة 12 والجدول 5 في الصفحة 13. يتمتع النظام الفرعي DMA BBB بإمكانية الوصول إلى مساحة العنوان الكاملة 49 بت. يتضمن النصف السفلي من مساحة العنوان هذه ذكريات FPGA المحلية. يتضمن النصف العلوي من مساحة العنوان هذه ذاكرة عنوان المضيف 48 بت. ويبين الشكل التالي المضيف وDMA viewق الذاكرة.

DMA AFU والمضيف Viewق من الذاكرة

Intel.-FPGA-بطاقة تسريع قابلة للبرمجة-D5005-شكل-3

القائمة المرتبطة لرأس ميزات الجهاز

تصميم DMA AFU على سبيل المثالampيحتوي الملف على ثلاثة رؤوس لميزات الأجهزة (DFH) تشكل قائمة مرتبطة. تسمح هذه القائمة المرتبطة بـ sampتطبيق le للتعرف على DMA AFU وكذلك برنامج التشغيل للتعرف على DMA BBB. تتضمن قائمة DFH NULL DFH في النهاية. يتيح لك تضمين DFH الفارغة في نهاية القائمة المرتبطة إضافة المزيد من DMA BBBs إلى تصميمك. تحتاج ببساطة إلى نقل NULL DFH إلى عنوان بعد BBBs الأخرى. يتوقع كل DMA BBB أن يقع DFH التالي على بعد 0x100 بايت من العنوان الأساسي لـ BBB. يوضح الشكل التالي القائمة المرتبطة لتصميم DMA AFU على سبيل المثالampليه.

تسجيل مساحات الخريطة والعنوان

تسلسل رأس ميزة جهاز DMA AFU (DFH).

Intel.-FPGA-بطاقة تسريع قابلة للبرمجة-D5005-شكل-4

نموذج برمجة البرمجيات

يتضمن DMA AFU برنامج تشغيل يمكنك استخدامه في التطبيق المضيف الخاص بك. وfpga_dma.cpp وfpga_dma.h fileالموجود في الموقع التالي يقوم بتنفيذ برنامج التشغيل:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw يدعم برنامج التشغيل هذا الوظائف التالية:

واجهة برمجة التطبيقات وصف
fpgaCountDMAChannels يقوم بمسح سلسلة ميزات الجهاز بحثًا عن DMA BBBs ويحسب جميع القنوات المتاحة.
fpgaDMAOpen يفتح مؤشرًا لقناة DMA.
fpgaDMAClose إغلاق مؤشر لقناة DMA.
fpgaDMATransferInit تهيئة كائن يمثل نقل DMA.
fpgaDMATransferReset يعيد تعيين كائن سمة نقل DMA إلى القيم الافتراضية.
fpgaDMATransferDestroy يدمر كائن سمة نقل DMA.
fpgaDMATransferSetSrc يضبط عنوان المصدر للنقل. يجب أن يكون هذا العنوان بمحاذاة 64 بايت.
fpgaDMATransferSetDst يضبط عنوان الوجهة للنقل. يجب أن يكون هذا العنوان بمحاذاة 64 بايت.
fpgaDMATransferSetLen يضبط أطوال النقل بالبايت. بالنسبة لعمليات النقل غير الحزم، يجب عليك تعيين طول النقل إلى مضاعف 64 بايت. بالنسبة لعمليات نقل الحزم، هذا ليس شرطًا.
fpgaDMATransferSetTransferType يضبط نوع النقل. القيم القانونية هي:

• HOST_MM_TO_FPGA_MM = TX (المضيف إلى AFU)

• FPGA_MM_TO_HOST_MM = RX (AFU للمضيف)

fpgaDMATransferSetTransferCallback يسجل رد الاتصال للإعلام عند اكتمال النقل غير المتزامن. إذا قمت بتحديد رد اتصال، فسيتم إرجاع fpgaDMATransfer على الفور (نقل غير متزامن).

إذا لم تحدد رد اتصال، فسيعود fpgaDMATransfer بعد اكتمال النقل (نقل متزامن/محظور).

fpgaDMATransferSetLast يشير إلى آخر عملية نقل حتى يتمكن DMA من بدء معالجة عمليات النقل المُجلبة مسبقًا. القيمة الافتراضية هي 64 عملية نقل في التدفق قبل أن يبدأ DMA في العمل على عمليات النقل.
fpgaDMATransfer ينفذ نقل DMA.

لمزيد من المعلومات حول واجهة برمجة التطبيقات (API) ووسائط الإدخال والإخراج، راجع الرأس file يقع $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. كل الحقوق محفوظة. إن Intel وشعار Intel وعلامات Intel الأخرى هي علامات تجارية مملوكة لشركة Intel Corporation أو الشركات التابعة لها. تضمن Intel أداء منتجات FPGA وأشباه الموصلات الخاصة بها وفقًا للمواصفات الحالية وفقًا للضمان القياسي لشركة Intel، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل شركة Intel أي مسؤولية أو التزام ينشأ عن تطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه كتابيًا صراحةً من قبل شركة Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الأجهزة قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات. قد تتم المطالبة بأسماء وعلامات تجارية أخرى باعتبارها ملكًا للآخرين.

نموذج برمجة البرمجيات

لمعرفة المزيد حول نموذج استخدام برنامج التشغيل، راجع الملف README file يقع في $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

تشغيل DMA AFU Example

قبل أن تبدأ:

  • يجب أن تكون على دراية بالحبيب السابقampالموجودة في دليل البدء السريع لـ Intel Acceleration Stack لبطاقة تسريع Intel FPGA القابلة للبرمجة D5005.
  • يجب عليك تحديد متغير البيئة. يعتمد متغير البيئة على إصدار Intel Acceleration Stack الذي تستخدمه:
    • بالنسبة للإصدار الحالي، قم بتعيين متغير البيئة إلى $OPAE_PLATFORM_ROOT
  • يجب عليك تثبيت مكتبة Intel Threading Building Blocks (TBB) نظرًا لأن برنامج تشغيل DMA يعتمد عليها.
  • يجب عليك أيضًا إعداد صفحتين ضخمتين بحجم 1 جيجابايت لتشغيل sampتطبيق لو. $ Sudo sh -c "echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages"

قم بتنفيذ الخطوات التالية لتنزيل دفق البت لوظيفة تسريع DMA (AF)، لإنشاء التطبيق وبرنامج التشغيل، ولتشغيل التصميم على سبيل المثالampعلى:

  1. التغيير إلى تطبيق DMA ودليل برنامج التشغيل: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. بناء برنامج التشغيل والتطبيق: اصنع
  3. قم بتنزيل دفق البت DMA AFU: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. قم بتنفيذ التطبيق المضيف لكتابة 100 ميجابايت في أجزاء 1 ميجابايت من ذاكرة المضيف إلى ذاكرة جهاز FPGA وقراءتها مرة أخرى: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

معلومات ذات صلة
دليل البدء السريع لـ Intel Acceleration Stack لبطاقة تسريع Intel FPGA القابلة للبرمجة D5005 Intel Corporation. كل الحقوق محفوظة. إن Intel وشعار Intel وعلامات Intel الأخرى هي علامات تجارية مملوكة لشركة Intel Corporation أو الشركات التابعة لها. تضمن Intel أداء منتجات FPGA وأشباه الموصلات الخاصة بها وفقًا للمواصفات الحالية وفقًا للضمان القياسي لشركة Intel، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل شركة Intel أي مسؤولية أو التزام ينشأ عن تطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه كتابيًا صراحةً من قبل شركة Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الأجهزة قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات. *قد تتم المطالبة بالأسماء والعلامات التجارية الأخرى باعتبارها مملوكة للآخرين.

تجميع DMA AFU Example

لإنشاء بيئة بناء تركيبية لتجميع التركيز البؤري التلقائي، استخدم الأمر afu_synth_setup كما يلي:

  1. التغيير إلى DMA AFU sampالدليل: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. قم بإنشاء دليل بناء التصميم: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. من دليل إنشاء التوليف الذي تم إنشاؤه بواسطة afu_synth_setup، أدخل الأوامر التالية من نافذة طرفية لإنشاء تركيز بؤري تلقائي لمنصة الأجهزة المستهدفة: cd build_synth run.sh يقوم البرنامج النصي لإنشاء run.sh بإنشاء صورة تركيز بؤري تلقائي بنفس القاعدة fileالاسم كتكوين النظام الأساسي لـ AFU file (.json) مع لاحقة .gbs في الموقع:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs شركة إنتل. كل الحقوق محفوظة. إن Intel وشعار Intel وعلامات Intel الأخرى هي علامات تجارية مملوكة لشركة Intel Corporation أو الشركات التابعة لها. تضمن Intel أداء منتجات FPGA وأشباه الموصلات الخاصة بها وفقًا للمواصفات الحالية وفقًا للضمان القياسي لشركة Intel، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل شركة Intel أي مسؤولية أو التزام ينشأ عن تطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه كتابيًا صراحةً من قبل شركة Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الأجهزة قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات. *قد تتم المطالبة بالأسماء والعلامات التجارية الأخرى باعتبارها مملوكة للآخرين.

محاكاة AFU السابقينample

توصي Intel بالرجوع إلى دليل البدء السريع لبيئة محاكاة وحدة تسريع Intel (AFU) (ASE) لكي تكون Intel FPGA PAC على دراية بمحاكاة نماذج مماثلةamples وإعداد البيئة الخاصة بك. قبل متابعة الخطوات التالية، تأكد من تعيين متغير البيئة OPAE_PLATFORM_ROOT على دليل تثبيت OPAE SDK. أكمل الخطوات التالية لإعداد محاكي الأجهزة لـ DMA AFU:

  1. التغيير إلى DMA AFU sampالدليل: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. قم بإنشاء بيئة ASE في دليل جديد وقم بتكوينها لمحاكاة AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. التغيير إلى دليل بناء ASE: cd build_ase_dir
  4. بناء برنامج التشغيل والتطبيق: اصنع
  5. اصنع محاكاة: اصنع سيم

Sampالإخراج من جهاز محاكاة الأجهزة:

[SIM] ** تنبيه: قبل تشغيل التطبيق البرمجي ** [SIM] قم بتعيين env(ASE_WORKDIR) في المحطة حيث سيتم تشغيل التطبيق (نسخ ولصق) => [SIM] $SHELL | تشغيل: [SIM] ———+—————————— [SIM] bash/zsh | تصدير ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] للحصول على أي $SHELL آخر، استشر مسؤول Linux الخاص بك [SIM] [SIM] جاهز للمحاكاة... [SIM] اضغط على CTRL-C لإغلاق جهاز المحاكاة...

أكمل الخطوات التالية لتجميع وتنفيذ برنامج DMA AFU في بيئة المحاكاة:

  1. افتح نافذة طرفية جديدة.
  2. قم بتغيير الدليل إلى: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

شركة إنتل. كل الحقوق محفوظة. تعد Intel وشعار Intel وعلامات Intel الأخرى علامات تجارية لشركة Intel Corporation أو الشركات التابعة لها. تضمن Intel أداء منتجات FPGA وأشباه الموصلات وفقًا للمواصفات الحالية وفقًا لضمان Intel القياسي ، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل Intel أي مسؤولية أو التزام ناشئ عن التطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه صراحةً كتابةً من قبل Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الجهاز قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات. * قد تكون الأسماء والعلامات التجارية الأخرى مملوكة لآخرين.

محاكاة AFU السابقينample

  1. انسخ سلسلة إعداد البيئة (اختر السلسلة المناسبة لـ Shell الخاص بك) من الخطوات المذكورة أعلاه في محاكاة الأجهزة إلى النافذة الطرفية. انظر السطور التالية في سampالإخراج من جهاز محاكاة الأجهزة. [سيم] باش/زش | تصدير ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
  2. تجميع البرنامج: $ make USE_ASE=1
  3. قم بتنفيذ التطبيق المضيف لكتابة 4 كيلو بايت في أجزاء 1 كيلو بايت من ذاكرة المضيف مرة أخرى إلى ذاكرة جهاز FPGA في وضع الاسترجاع: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

معلومات ذات صلة
دليل مستخدم البدء السريع للوحدة الوظيفية للمسرع من Intel (AFU) بيئة محاكاة البيئة (ASE)

الأمثل لتحسين أداء DMA

يتيح تنفيذ تحسين NUMA (الوصول غير الموحد للذاكرة) في fpga_dma_test.cpp للمعالج الوصول إلى الذاكرة المحلية الخاصة به بشكل أسرع من الوصول إلى الذاكرة غير المحلية (الذاكرة المحلية لمعالج آخر). يظهر تكوين NUMA النموذجي في الرسم البياني أدناه. يمثل الوصول المحلي الوصول من المركز إلى الذاكرة المحلية لنفس المركز. يوضح الوصول عن بعد المسار المتخذ عندما يصل المركز الموجود في العقدة 0 إلى الذاكرة الموجودة في الذاكرة المحلية للعقدة 1.

تكوين NUMA النموذجي

Intel.-FPGA-بطاقة تسريع قابلة للبرمجة-D5005-شكل-5

استخدم الكود التالي لتنفيذ تحسين NUMA في تطبيق الاختبار الخاص بك:

// قم بإعداد التقارب المناسب إذا طلب ذلك if (cpu_affinity || Memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_propertiesprops;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endfres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetFunction” ); // ابحث عن الجهاز من الطوبولوجيا hwloc_topology_t topology; hwloc_topology_init(&topology); hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);شركة Intel. كل الحقوق محفوظة. إن Intel وشعار Intel وعلامات Intel الأخرى هي علامات تجارية مملوكة لشركة Intel Corporation أو الشركات التابعة لها. تضمن شركة Intel أداء منتجات FPGA وأشباه الموصلات الخاصة بها وفقًا للمواصفات الحالية وفقًا للضمان القياسي لشركة Intel، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل شركة Intel أي مسؤولية أو التزام ينشأ عن تطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه كتابيًا صراحةً من قبل شركة Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الأجهزة قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات. *قد تتم المطالبة بالأسماء والعلامات التجارية الأخرى باعتبارها مملوكة للآخرين.

الأمثل لتحسين أداء DMA

hwloc_topology_load(topology); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topology, dom, bus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topology, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf("%s\n", str);hwloc_obj_attr_snprintf(str, 4096, obj2, " :: ", 1);printf("%s\n", str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf("وحدة المعالجة المركزية هي %s\n"، str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf("NODESET is %s\n", str);#endif if (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topology, obj2->nodeset,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_MIGRATE |HWLOC_MEMBIND_BYNODESET); #else retval =hwloc_set_membind_nodeset(topology, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } if (cpu_affinity) { retval = hwloc_set_cpubind(topology, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_cpubind"); } }

أرشيفات دليل مستخدم الوحدة الوظيفية لـ DMA Accelerator

إصدار Intel Acceleration Stack دليل المستخدم (PDF)
2.0 دليل مستخدم الوحدة الوظيفية لمسرع DMA (AFU)

سجل مراجعة المستند لدليل مستخدم الوحدة الوظيفية لـ DMA Accelerator

 

نسخة الوثيقة

تسريع إنتل نسخة المكدس  

التغييرات

 

 

2020.08.03

2.0.1 (مدعوم مع إنتل

إصدار Quartus® Prime Pro الإصدار 19.2)

 

تم تصحيح صورة التركيز البؤري التلقائي file الاسم في القسم تجميع DMA AFU Example.

 

 

2020.04.17

2.0.1 (مدعوم مع إنتل

إصدار كوارتوس برايم برو الإصدار 19.2)

 

 

صحح ما ورد في الجمهور المستهدف قسم.

 

 

2020.02.20

2.0.1 (مدعوم مع إنتل

إصدار كوارتوس برايم برو الإصدار 19.2)

 

 

تم تصحيح الخطأ المطبعي.

 

 

 

 

2019.11.04

 

 

2.0.1 (مدعوم مع إنتل

إصدار كوارتوس برايم برو الإصدار 19.2)

• تم استبدال fpgaconf بـ fpgasupdate عند تكوين FPGA بوحدة AFU سابقة الإنشاء في القسم تشغيل DMA AFU Example.

• أضيفت العنوان الفرعي بطاقة تسريع قابلة للبرمجة من Intel FPGA D5005 إلى عنوان الوثيقة.

• تمت إضافة متغير البيئة $OPAE_PLATFORM_ROOT.

• تعديل القسم نموذج برمجة البرمجيات للتعديلات الطفيفة.

• أضيفت قسم جديد تجميع DMA AFU Example.

• تعديل القسم الأمثل لتحسين أداء DMA للتعديلات الطفيفة.

 

 

2019.08.05

2.0 (مدعوم مع إنتل

إصدار كوارتوس برايم برو 18.1.2)

 

 

الإصدار الأولي.

شركة إنتل. كل الحقوق محفوظة. إن Intel وشعار Intel وعلامات Intel الأخرى هي علامات تجارية مملوكة لشركة Intel Corporation أو الشركات التابعة لها. تضمن Intel أداء منتجات FPGA وأشباه الموصلات الخاصة بها وفقًا للمواصفات الحالية وفقًا للضمان القياسي لشركة Intel، ولكنها تحتفظ بالحق في إجراء تغييرات على أي منتجات وخدمات في أي وقت دون إشعار. لا تتحمل شركة Intel أي مسؤولية أو التزام ينشأ عن تطبيق أو استخدام أي معلومات أو منتج أو خدمة موصوفة هنا باستثناء ما تم الاتفاق عليه كتابيًا صراحةً من قبل شركة Intel. يُنصح عملاء Intel بالحصول على أحدث إصدار من مواصفات الأجهزة قبل الاعتماد على أي معلومات منشورة وقبل تقديم طلبات المنتجات أو الخدمات.

  • يمكن المطالبة بأسماء وعلامات تجارية أخرى باعتبارها ملكًا للآخرين.

 

المستندات / الموارد

بطاقة تسريع قابلة للبرمجة من Intel FPGA D5005 [بي دي اف] دليل المستخدم
بطاقة التسريع القابلة للبرمجة FPGA، D5005، بطاقة التسريع القابلة للبرمجة FPGA D5005، الوحدة الوظيفية لتسريع DMA

مراجع

اترك تعليقا

لن يتم نشر عنوان بريدك الإلكتروني. تم وضع علامة على الحقول المطلوبة *