My IBM تسجيل الدخول اشترك

ما هي مصفوفة البوابة القابلة للبرمجة الميدانية (FPGA)؟

8 مايو 2024 

المؤلفون

Josh Schneider

Senior Writer

IBM Blog

Ian Smalley

Senior Editorial Strategist

ما مصفوفات البوابات الإلكترونية القابلة للبرمجة في الموقع (FPGA)؟

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

تشير عبارة "قابلة للبرمجة في الموقع" إلى قدرة مصفوفات البوابات الإلكترونية القابلة للبرمجة في الموقع على البرمجة "في الموقع" أو بعد إصدار الشريحة من الشركة المصنعة. أصدرت Xilinx، وهي شركة تقنية مصنعة، مصفوفات البوابات الإلكترونية القابلة للبرمجة في الموقع لأول مرة في عام 1985.

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

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

تصميم ثلاثي الأبعاد لكرات تتدحرج على مسار

أحدث الأخبار والرؤى حول الذكاء الاصطناعي 


تتوفر معارف وأخبار منسقة بمهارة حول الذكاء الاصطناعي والسحابة وغيرها في نشرة Think الإخبارية الأسبوعية. 

مصفوفات البوابة القابلة للبرمجة الميدانية (FPGAs) مقابل الدوائر المتكاملة الخاصة بالتطبيقات (ASICs)

تخدم FPGAs و ASICs أغراضًا مختلفة.

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

نظرًا إلى أن الدوائر المتكاملة محددة التطبيقات تخدم غرضًا واحدًا فقط، فإنها تتضمن فقط العناصر المنطقية الضرورية لهذا الغرض؛ على سبيل المثال، إذا لم تكن هناك حاجة إلى مضاعف الفاصلة العائمة، فلن يُدمج في التصميم.

على العكس من ذلك ، قد يتم تكوين FPGA وإعادة تكوينها لأي تطبيقات محتملة. مثل ASIC، يتم ترتيب عناصر دوائرها الداخلية في بنية ثابتة (كتل منطقية قابلة للبرمجة أو PLBs) ولكن مع وصلات بينية قابلة لإعادة التشكيل فيما بينها. يتم تحديد العناصر المنطقية في FPGA لدعم مجموعة متنوعة من التطبيقات ولكنها تعاني من نظام "استخدمها أو افقدها" عند عدم استخدام عناصر منطقية محددة. إذا لم يكن مضاعف النقطة العائمة مطلوبًا لتطبيق معين، ولكن FPGA يحتوي على واحد، فإن هذا المورد غير متصل ويمثل ”مساحة مهدرة“ داخل FPGA.

في حين أن كلا الجهازين يمكن أن يحتوي على مئات الملايين من الترانزستورات، فإن الدوائر المتكاملة محددة التطبيقات يمكن أن تستخدم تلك الترانزستورات لتقديم كفاءة وأداء فائقين على حساب المرونة. يمكن أن تكون رسوم الهندسة غير المتكررة المقدمة لتطوير الدوائر المتكاملة محددة التطبيقات باهظة، في حين أن تكاليف الوحدة يمكن أن تكون منخفضة نسبيًا.

تستخدم مصفوفة FPGA الترانزستورات الخاصة بها لتحقيق كفاءة عالية وأداء عالٍ ولكن مع مرونة هائلة. يمكن أن تكون رسوم التكاليف غير المتكررة (NRE) الأولية لتطوير مصفوفة FPGA منخفضة للغاية، في حين تكون تكاليف الوحدة أعلى بوجه عام. من الجدير بالذكر أن هذه القواعد ليست قواعد صارمة وسريعة. في مجال الأداء، على سبيل المثال، تطورت مصفوفات FPGA الحديثة لتقديم سرعات تصل إلى أكثر من 500 ميجاهرتز، وتُصنع عادةً باستخدام أحدث تقنيات السيليكون. باختصار، يصبح الحدد الفاصل بين مصفوفات FPGA والدوائر المتكاملة الخاصة بالتطبيقات (ASICs) غير واضح بشكل متزايد مع كل جيل جديد من مصفوفات FPGA.

IBM Storage FlashSystem

نظام الذاكرة الوميضية لـ IBM Storage: تحسين VMware من حيث التكلفة والبساطة والمرونة

اكتشف كيف يحسن نظام IBM FlashSystem بيئات VMware لتحقيق الكفاءة من حيث التكلفة والبساطة والمرونة. تسلط هذه الجلسة الضوء على كيفية تعزيز نظام FlashSystem سلامة البيانات وسهولة الوصول إليها وتحسين الأداء، ما يجعله حلاً مثاليًا للبنى التحتية الحديثة لتكنولوجيا المعلومات.

كيف تعمل مصفوفات البوابة القابلة للبرمجة الميدانية؟

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

يتم "وصف" وظائف محددة قائمة على FPGA، بالإضافة إلى الروابط بين هذه الوظائف، في HDL. يتم تجميع الوصف لإنتاج ملف تكوين FPGA. وباستخدام لغة وصف الأجهزة، يمكن استخدام موارد FPGA المدمجة (مصفوفات الذاكرة، ونواة PCI وغيرها الكثير)، بالإضافة إلى إنشاء دوائر منطقية مخصصة (مضافات، ومضاعفات الإرسال ووظائف أخرى خاصة بالتطبيقات) من عناصر FPGA الأكثر بدائية.

في عملية تعرف باسم التوليف، تتم ترجمة رمز HDL إلى قائمة شبكية، وهي وصف فعال للبوابات المنطقية والوصلات البينية اللازمة لتنفيذ رمز HDL. ثم يتم تعيين قائمة الشبكة على PLBs والوصلات البينية التي تشكل فعليا الدائرة الفريدة.

تقدم مصفوفات FPGA الحديثة التي تنتجها الشركات المصنعة مثل Intel و Altera مجموعة واسعة من الميزات الرقمية والتناظرية، بما في ذلك الكثافات المنطقية المذهلة وذاكرة الفلاش والمعالجات المدمجة وكتل معالجة الإشارات الرقمية (DSP). يمكن تكوين وإعادة تكوين مصفوفات FPGA عن طريق تعديل المدخلات والمخرجات الكهربائية، واختيار الموارد الداخلية المستخدمة وتحديد كيفية توصيل هذه الموارد من خلال موارد توجيه قابلة للتكوين—والنتيجة النهائية هي حل مخصص للأجهزة لحل مشكلة معينة.

مثل كل البرمجيات، يمكن تبسيط تطوير التصميمات المعقدة لمصفوفة البوابة القابلة للبرمجة الميدانية باستخدام مكتبات مصممة سابقًا من الوظائف والدوائر الرقمية المتنوعة، ويُشار إليها باسم نوى الملكية الفكرية (IP). يمكن شراء هذه المكتبات أو تأجيرها من موردي مصفوفة البوابة القابلة للبرمجة الميدانية وموردي الجهات الخارجية الذين غالبًا ما يتخصصون في تطوير وظائف متنوعة.

وحدات ومكونات مصفوفة البوابة القابلة للبرمجة الميدانية

بالإضافة إلى مكونات الدوائر التقليدية مثل المتحكمات الدقيقة والمحولات، لتحقيق وظائفها القابلة لإعادة التكوين، تستخدم أجهزة FPGA الحديثة مزيجًا من العناصر المختلفة القابلة للبرمجة.

تتكون هذه العناصر القابلة للبرمجة أساسًا من كتل منطقية قابلة للتكوين (CLBs)، وموصلات بينية قابلة للبرمجة، ومسارات قابلة للبرمجة، وكتل إدخال/ إخراج قابلة للبرمجة (IOBs)، وذاكرة مدمجة، وكتل معالجة الإشارات الرقمية (DSPs).

كتل منطقية قابلة للتكوين

الكتل المنطقية القابلة للتكوين (CLBs) هي المكون الأساسي لمصفوفات FPGA. تحتوي CLBs بشكل عام على عدد قليل من العناصر المنطقية البدائية (البوابات المنطقية، جداول البحث الصغيرة، التقلبات، المُضاعفة وغيرها الكثير). وداخل CLB، تعمل وحدة التقلب بشكل عام كعنصر تخزين رئيسي للبيانات، على الرغم من أن عائلات الأجهزة الأحدث قد تتضمن أيضًا عناصر ذاكرة ضحلة داخل CLB.

وصلات بينية قابلة للبرمجة

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

التوجيه القابل للبرمجة

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

كتل الإدخال/الإخراج القابلة للبرمجة (IOBs)

يتم تمكين الواجهة بين FPGA والأجهزة الخارجية الأخرى عن طريق كتل الإدخال/الإخراج (I/OBs). IOBs عبارة عن موارد مدخلات ومخرجات قابلة للبرمجة يتم تهيئتها لتتناسب مع بروتوكولات أي أجهزة خارجية تتصل بها FPGA. جميع الإشارات الداخلة إلى FPGA أو الخارجة منها تفعل ذلك من خلال دبابيس الجهاز و IOBs المرتبطة بها.

ذاكرة على الرقاقة

استخدمت مصفوفات FPGA الأولى وحدات التقلبات فقط (FFs) لدمج الذاكرة في كتل منطق FPGA. ومع ذلك، مع زيادة قدرات FPGA، تطلبت التصميمات المعقدة بشكل متزايد ذاكرة مخصصة على الرقاقة لتخزين البيانات مؤقتًا وإعادة استخدامها. تستخدم مصفوفات FPGA الحديثة مصفوفات ذاكرة SRAM كبيرة وجداول بحث أصغر (LUTs) وعناصر التقلب التقليدية لتوفير التخزين اللازم لتطبيق معين.

كتل معالجة الإشارات الرقمية (DSP)

في أولى مصفوفات البوابة القابلة للبرمجة الميدانية، كانت الموارد الحسابية الوحيدة المتاحة عبارة عن مضافات بسيطة، وقد تم بناء أي شيء أكثر تعقيدًا من عناصر منطقية أكثر بدائية. ومع ذلك، مع تقدم تقنية الدوائر الإلكترونية، تم دمج موارد حسابية أكثر تعقيدًا في مصفوفات البوابة القابلة للبرمجة الميدانية، وبلغت ذروتها في كتلة معالجة الإشارات الرقمية الحديثة (DSP) في مصفوفة البوابة القابلة للبرمجة الميدانية. توفر كتل معالجة الإشارات الرقمية موارد محسنة للغاية (المضاعفات والمراكمات وغيرها الكثير) لتنفيذ وظائف حسابية عالية الأداء.

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

أنواع مصفوفات البوابة القابلة للبرمجة الميدانية

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

  • FPGA القائمة على Antifuseمصفوفات FPGA القابلة للتكوين ولكن غير القابلة لإعادة التكوين. وهي تستخدم عنصرًا قابلًا للبرمجة لمرة واحدة يسمى antifuse، والذي يتم تكوينه عن طريق تطبيق جهد عالي لإنشاء وصلات بين الأسلاك الداخلية. لا يمكن تهيئة FPGA المستندة إلى antifuse إلا مرة واحدة ولا يمكن إعادة تكوينها.
  • FPGAs القائمة على SRAM: هذه الأنواع من مصفوفات FPGA متعددة الاستخدامات ويمكن تكوينها في وقت التشغيل. تستخدم FPGAs المستندة إلى SRAM ذاكرة الوصول العشوائي الثابتة (SRAM) لتخزين إرشادات التكوين الخاصة بها وتتطلب ذاكرة خارجية للاحتفاظ برمز التكوين.
  • FPGAs القائمة على الفلاش: على عكس مصفوفات FPGA المستندة إلى SRAM، تقوم FPGAs المستندة إلى الفلاش بتخزين تكوينها في ذاكرة فلاش غير متطايرة، والتي لها فائدة إضافية تتمثل في كونها قابلة لإعادة البرمجة.
  • مصفوفات FPGA القائمة على ذاكرات EEPROM: هذا النوع من مصفوفة FPGA يشبه مصفوفات FPGA القائمة على الذاكرة الوميضية، إلا أن ذاكرة القراءة فقط القابلة للمسح إلكترونياً (EEPROM) تخزن تكوين مصفوفة FPGA. كلا النمطين غير متطايرين وقابلين لإعادة البرمجة.
  • FPGAs الهجينة: توفر مصفوفات FPGA الهجينة مستويات متفاوتة من الأداء والتشغيل منخفض الطاقة والتنوع من خلال مجموعة من العناصر القابلة للبرمجة المختلفة، مثل الكتل المنطقية القائمة على SRAM أو الفلاش.
  • مصفوفات FPGA المدمجة في شريحة النظام: تدمج مصفوفات FPGA المدمجة في النظام المنطق القابل للبرمجة مع نوى المعالجات الصلبة، وتجمع بين وظائف كل من FPGA وSoC، وهي شريحة سيليكون واحدة تجمع بين شرائح معالجة النظام المتعددة مثل وحدات المعالجة المركزية ووحدات معالجة الرسومات وذاكرة الوصول العشوائي في وحدة واحدة.

حالات استخدام مصفوفة البوابة القابلة للبرمجة الميدانية

تعد FPGAs متعددة الاستخدامات بطبيعتها، وهي مناسبة تمامًا للعديد من التطبيقات المختلفة.

تطبيقات الرادار

تُفضل مصفوفات FPGA لمعالجة الإشارات والحصول على البيانات بفضل قدراتها عالية السرعة والمعالجة المتوازية.

المركبات الجوية بدون طيار (UAVs)

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

أنظمة التحكم الصناعية (ICS)

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

النماذج الأولية للدوائر المتكاملة الخاصة بالتطبيق

في حين أن مصفوفات FPGA هي حلول مفيدة للمهام التي تتطلب المرونة، فإن ASICs الخاصة بالمهام غالبًا ما تكون أكثر ملاءمة للعمليات الموحدة. مع تطوير أنظمة جديدة، فإن FPGAs قيّمة لتطوير وتصنيع النماذج الأولية لـ ASICs الجديدة لتقنيات المستقبل.

مراكز البيانات

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