FPGA basics

 

مصفوفة البوابات القابلة للبرمجة الميدانية (FPGA) هي دائرة متكاملة تتكون من كتل أجهزة داخلية مع وصلات بينية قابلة للبرمجة للمستخدم لتخصيص العملية لتطبيق معين.

ما هو FPGA ؟

مصفوفة البوابات القابلة للبرمجة الميدانية (FPGA) هي دائرة متكاملة تتكون من كتل أجهزة داخلية مع وصلات بينية قابلة للبرمجة للمستخدم لتخصيص العملية لتطبيق معين. يمكن إعادة برمجة الروابط البينية بسهولة، مما يسمح لـ FPGA باستيعاب التغييرات في التصميم أو حتى دعم تطبيق جديد خلال عمر الجزء.

تعود جذور FPGA إلى الأجهزة السابقة مثل ذكريات القراءة القابلة للبرمجة فقط (PROMs) والأجهزة المنطقية القابلة للبرمجة (PLDs). يمكن برمجة هذه الأجهزة إما في المصنع أو في الميدان، لكنها تستخدم تقنية الصمامات (وبالتالي، فإن عبارة «حرق ذاكرة استقبال») ولا يمكن تغييرها بمجرد برمجتها. في المقابل، تقوم FPGA بتخزين معلومات التكوين الخاصة بها في وسط قابل لإعادة البرمجة مثل ذاكرة الوصول العشوائي الثابتة (SRAM) أو ذاكرة الفلاش. FPGA تشمل الشركات المصنعة لـ Intel و Lattice Semiconductor و MicrosemiوMicrochip Technology .

الهيكلة الداخلية (FPGA Architecture)

تتكون بنية FPGA الأساسية (الشكل 1) من آلاف العناصر الأساسية التي تسمى الكتل المنطقية القابلة للتكوين (CLBs) محاطة بنظام من الروابط البينية القابلة للبرمجة، تسمى النسيج، والتي توجه الإشارات بين CLBs. يحظر المدخلات/المخرجات (I/O) واجهة بين FPGA والأجهزة الخارجية.


اعتمادًا على الشركة المصنعة، يمكن أيضًا الإشارة إلى CLB على أنه كتلة منطقية (LB) أو عنصر منطقي (LE) أو خلية منطقية (LC).


الشكل 1: بنية FPGA الأساسية (مصدر الصورة:towardsdatascience.com)


وتتكون قاعدة البيانات الفردية (الشكل 2) من عدة كتل منطقية. طاولة البحث (LUT) هي سمة مميزة لـ FPGA. يقوم LUT بتخزين قائمة محددة مسبقًا من المخرجات المنطقية لأي مزيج من المدخلات: يتم استخدام LUTs مع أربعة إلى ستة بت مدخلات على نطاق واسع. الوظائف المنطقية القياسية مثل multiplexers (mux) والمضافات الكاملة (FAs) و flip-flops شائعة أيضًا


الشكل 2: نظام CLB مبسط: يتكون نظام LUT المكون من أربعة مدخلات من وحدتين من ثلاثة مدخلات. (مصدر الصورة: ويكيبيديا)

يختلف عدد وترتيب المكونات في CLB حسب الجهاز ؛ يحتوي المثال المبسط في الشكل 2 على اثنين من LUTs ثلاثية المدخلات (1)، و FA (3) و flip-flop من النوع D (5)، بالإضافة إلى mux قياسي (2) ومكسين، (4) و (6)، يتم تكوينها أثناء برمجة FPGA.

هذا CLB المبسط له طريقتان للتشغيل. في الوضع العادي، يتم دمج LUTs مع Mux 2 لتشكيل LUT من أربعة مدخلات ؛ في النمط الحسابي، يتم تغذية مخرجات LUT كمدخلات إلى FA جنبًا إلى جنب مع مدخلات حمل من CLB آخر. يختار Mux 4 بين خرج FA أو خرج LUT. يحدد Mux 6 ما إذا كانت العملية غير متزامنة أو متزامنة مع ساعة FPGA عبر D flip-flop.

تشمل الجيل الحالي FPGAs أكثر تعقيدًا CLBs قادرة على عمليات متعددة مع كتلة واحدة ؛ يمكن أن تتحد CLBs لعمليات أكثر تعقيدًا مثل المضاعفات والسجلات والعدادات وحتى وظائف معالجة الإشارات الرقمية (DSP).

CPLD vs FPGA

في الأصل، تضمنت FPGAs الكتل في الشكل 1 وقليلًا من الأشياء الأخرى، ولكن الآن يمكن للمصممين الاختيار من بين المنتجات التي تحتوي على مجموعة كبيرة من الميزات. الأجهزة الأقل تعقيدًا مثل الأجهزة المنطقية البسيطة القابلة للبرمجة (SPLDs) والأجهزة المنطقية القابلة للبرمجة المعقدة (CPLDs) تسد الفجوة بين الأجهزة المنطقية المنفصلة و FPGAs للمبتدئين.
تؤكد FPGAs على مستوى الدخول على انخفاض استهلاك الطاقة وانخفاض كثافة المنطق وانخفاض التعقيد لكل شريحة. تضيف الأجهزة عالية الوظيفة كتلًا وظيفية مخصصة لوظائف محددة: تشمل الأمثلة مكونات إدارة الساعة، والحلقات المقفلة تدريجيًا (PLLs)، والمسلسلات عالية السرعة ومذيبات الصحراء، و Ethernet MACs، ووحدات التحكم السريعة PCI، وأجهزة الإرسال والاستقبال عالية السرعة. يمكن تنفيذ هذه الكتل إما باستخدام CLBs - التي تسمى IP الناعم - أو مصممة كدوائر منفصلة ؛ أي الملكية الفكرية الصلبة. تكتسب كتل IP الصعبة الأداء على حساب إعادة التشكيل.
في النهاية الراقية، تتضمن عائلة منتجات FPGA أجزاء معقدة من نظام على شريحة (SoC) تدمج بنية FPGA و IP الصلب ونواة وحدة المعالجة المركزية للمعالج الدقيق في مكون واحد. مقارنة بالأجهزة المنفصلة، توفر SoC FPGA تكاملًا أعلى وقوة أقل وحجم لوحة أصغر واتصالًا بنطاق ترددي أعلى بين الكتل الأساسية وغيرها.

SoC FPGAs

تتضمن SoC FPGAs مجموعة واسعة من قدرات المعالجة لتناسب التطبيقات المختلفة. تستهدف SoC FPGA منخفضة التكلفة ومنخفضة الطاقة مثل Cyclone V من Intel، على سبيل المثال، تطبيقات كبيرة الحجم مثل محركات التحكم في المحركات الصناعية وجسر البروتوكول وبطاقات معالجة الفيديو والأجهزة المحمولة. يحتوي الجهاز (الشكل 3) على جزأين متميزين: جزء FPGA ونظام المعالج الصلب (HPS) الذي يعتمد على ذراع 32 بت مفرد أو ثنائي النواة يعمل بسعة 925 ميغاهيرتز. يحتوي كل جزء على مجموعة خاصة به من الأجهزة الطرفية، والتي تتضمن الملكية الفكرية الصلبة من البائعين الخارجيين.

الشكل 3: مخطط الكتلة الداخلية للإعصار V SoC (المصدر:  Cornell University)


في الطرف الآخر من المقياس، تستهدف Stratix 10 SX التطبيقات عالية الأداء في الاتصالات وتسريع مركز البيانات والحوسبة عالية الأداء (HPC) والمعالجة الرادارية والنماذج الأولية لـ ASIC ؛ يتضمن FPGA ذراعًا رباعيًا 64 بت Cortex-A53 يصل إلى 1.5 جيجاهرتز.

تصميم FPGA

كيف نحول هذه المجموعة من الآلاف من كتل الأجهزة إلى التكوين الصحيح لتنفيذ التطبيق ؟ يبدأ التصميم القائم على FPGA بتحديد مهام الحوسبة المطلوبة في أداة التطوير، ثم تجميعها في ملف تكوين يحتوي على معلومات حول كيفية ربط CLBs والوحدات الأخرى. العملية مشابهة لدورة تطوير البرمجيات باستثناء أن الهدف هو تصميم الأجهزة نفسها بدلاً من مجموعة من التعليمات للعمل على منصة أجهزة محددة مسبقًا.

يستخدم المصممون تقليديًا لغة وصف الأجهزة (HDL) مثل VHDL (الشكل 4) أو Verilog لتصميم تكوين FPGA.



الشكل 4: عينة من رمز VHDL لأداة موقعة (مصدر الصورة: ويكيبيديا)

بمجرد إنشاء تصميم FPGA والتحقق منه باستخدام HDL، يأخذ المترجم الملف القائم على النص وينشئ ملف تكوين يحتوي على معلومات حول كيفية توصيل المكونات معًا. حتى لو لم يكن لرمز HDL أخطاء، فإن اختيار FPGA الخطأ قد يتسبب في فشل التجميع - على سبيل المثال، ينفد FPGA من نوع مورد معين أو لا يستطيع المترجم إنشاء الطرق المطلوبة بين المكونات.

يتمثل أحد التحديات مع نهج HDL في أن تكوين FPGA يتطلب مهارات الترميز ومعرفة مفصلة بالأجهزة الأساسية، والخبرة المطلوبة غير متاحة على نطاق واسع.

نتيجة لذلك، يقدم البائعون مجموعات تطوير البرامج (SDKs) التي تسمح للمصممين بتطوير حلول FPGA بلغات شهيرة عالية المستوى مثل C/C + + و Python و OpenCL. كما تتوفر أدوات تصميم توليفية رفيعة المستوى ؛ تعمل هذه على إطار عمل مثل LabVIEW من National Instrument وتتميز بمخططات كتلة رسومية بدلاً من سطور الكود.

استخدامات FPGA: خيار جذاب لتطبيقات معينة

إن القدرة على تكوين أجهزة FPGA وإعادة تشكيلها عند الحاجة وتحسينها لمجموعة معينة من الوظائف تجعل FPGA خيارًا جذابًا في العديد من التطبيقات.
غالبًا ما تُستخدم FPGAs لتوفير حل مخصص في الحالات التي يكون فيها تطوير ASIC مكلفًا للغاية أو يستغرق وقتًا طويلاً. يمكن تكوين تطبيق FPGA في ساعات أو أيام بدلاً من أشهر. بالطبع، تأتي مرونة FPGA بسعر: من المرجح أن تكون FPGA أبطأ، وتتطلب مساحة PCB أكثر وتستهلك طاقة أكثر من ASIC المكافئ.

حتى عندما يتم تصميم ASIC للإنتاج بكميات كبيرة، يتم استخدام FPGAs على نطاق واسع للتحقق من صحة النظام، بما في ذلك التحقق من صحة ما قبل السيليكون والتحقق من صحة ما بعد السيليكون وتطوير البرامج الثابتة. يسمح هذا للمصنعين بالتحقق من صحة تصميمهم قبل إنتاج الشريحة في المصنع.

تطبيقات FPGA

ويعتمد العديد من التطبيقات على التنفيذ الموازي لعمليات مماثلة ؛ القدرة على تكوين CLBs الخاصة بـ FPGA في مئات أو آلاف من كتل المعالجة المتطابقة لها تطبيقات في معالجة الصور والذكاء الاصطناعي (AI) ومسرعات أجهزة مركز البيانات وشبكات المؤسسات وأنظمة مساعدة السائق المتقدمة للسيارات (ADAS).

يتغير العديد من مجالات التطبيق هذه بسرعة كبيرة مع تطور المتطلبات واعتماد بروتوكولات ومعايير جديدة. تمكن FPGA المصنعين من تنفيذ أنظمة يمكن تحديثها عند الضرورة.
من الأمثلة الجيدة على استخدام FPGA البحث عالي السرعة: تستخدم Microsoft FPGAs في مراكز البيانات الخاصة بها لتشغيل خوارزميات بحث Bing. يمكن أن تتغير FPGA لدعم الخوارزميات الجديدة أثناء إنشائها. إذا احتاج الأمر إلى تغيير، يمكن إعادة استخدام التصميم لتشغيل محاكاة أو نمذجة روتينية في تطبيق HPC. من الصعب أو المستحيل تحقيق هذه المرونة مع ASIC.

تشمل استخدامات FPGA الأخرى الفضاء والدفاع والإلكترونيات الطبية والتلفزيون الرقمي والإلكترونيات الاستهلاكية والتحكم في المحركات الصناعية والأدوات العلمية وأنظمة الأمن السيبراني والاتصالات اللاسلكية.

تاريخ FPGA: ماذا سيأتي بعد ذلك ؟

مع هذه التطبيقات الناشئة، ينمو سوق FPGA بمقطع صحي: بلغت قيمته 5.34 مليار دولار في عام 2016 ومن المتوقع أن ينمو إلى 9.50 مليار دولار في عام 2023، وفقًا لباحثي الصناعة MarketsandMarkets. هذا معدل نمو سنوي مركب (CAGR) بنسبة 8.5 في المائة، مقارنة بمعدل نمو سنوي مركب يبلغ حوالي 2 في المائة لسوق المعالجات الدقيقة العام الأكبر بكثير (74 مليار دولار).

يتطلب النمو الأسي للبيانات، وظهور مجالات سريعة التغير مثل الذكاء الاصطناعي والتعلم الآلي و HPC وعلم الجينوم، بنى سريعة ومرنة وقابلة للتكيف. إن FPGAs في وضع جيد للاستفادة من هذه الفرص الجديدة.




#FPGA  #   FIEL_GEAT_ARRAY

FPGA basics Reviewed by radiantlifenest on 2:48 AM Rating: 5

No comments:

Contact Form

Name

Email *

Message *

Powered by Blogger.