الرئيسيةعريقبحث

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


☰ جدول المحتويات


مصفوفة البوابات المنطقية القابلة للبرمجة ((Field Programmable Gate Array (FPGA)‏ هي دائرة متكاملة صممت لكي يتم تعديل أو تصميم أنظمة متكاملة حتى بعد عملية التصنيع دون الحاجة لإعادة تجميع النظام أو المنتج، لذلك أخذت التسمية القابلة للبرمجة في الميدان أو Field-Programmable.[1][2][3] بشكل عام يتم التصميم في الـ FPGA باستخدام ما يسمى بلغة وصف العتاد Hardware Description Language و هي مشابهة جداً لتلك التي يتم استخدامها في تصميم الدوائر المتكاملة ذات التطبيق المحدد (Application-Specific Integrated Circuit) أو ASIC و هي دوائر متكاملة صممت لغرض معين ولا يمكن استخدامها إلا للتطبيق الذي صممت من أجله مثل دوائر ترميز الصوت والصورة، أو دوائر التحويل التناظري-الرقمي (ADC).

تحتوي شرائح الـ FPGA على مجموعة من الواحدات المنطقية المبرمجة (Configurable Logic Blocks) بالإضافة إلى تسلسل هرمي من التوصيلات فيما بينها بحيث يتم توصيل هذه الوحدات بحسب ما يتطلب التصميم. هذه الوحدات المنطقية يمكن ربطتها وبرمجتها لإنشاء بوابات منطقية أساسية مثل الـ AND و XOR إلى تنفيذ مهام معقدة في المنطق المدمج (Combinational Logic), أو يمكن استخدام عناصر الذاكرة المتواجدة في معظم أنواع الـ FPGA من عناصر Flip-Flop أساسية إلى وحدات ذاكرة متكاملة لتكوين أنظمة معقدة في المنطق التتابعي (Sequential Logic).

التصميم التقني

شرائح الـ FPGA الحديثة تحتوي على عدد كبير من البوابات المنطقية و وحدات الذاكرة من نوع (RAM) لتصميم وتنفيذ حسابات وأنظمة رقمية معقدة. لأن معظم تصاميم الـ FPGA توظف منافذ إدخال وإخراج سريعة بالإضافة إلى نواقل بيانات ثنائية الاتجاه سريعة فإن التحقق من توقيت البيانات خلال وقت الإعداد Setup Time و وقت الاحتفاظ Hold Time يصبح نوعاً من التحدي في عملية التصميم. عملية تخطيط أرضية الدائرة المتكاملة Floor Planning تتيح تخصيص الموارد المتاحة في شريحة الـ FPGA بحيث يتم تحقيق القيود الزمنية الخاصة بالتصميم. يمكن استخدام الـ FPGA لتصميم أي نظام يمكن تصميمه باستخدام الـ ASIC, ولكن القدرة على تحديث وظيفة النظام أي إعادة تركيب ولو بشكل جزئي لها تعطي ميزات في عدة تطبيقات.

تاريخ

نشأت صناعة الـ FPGA من نوعين من الوحدات المبرمجة، ذاكرة القراءة فقط المبرمجة Programmable Read-Only Memory (PROM) و الأداة المنطقية المبرمجة Programmable Logic Device (PLD). كلتا الوحدتين كانت تتم برمجتهما على دفعات خلال التصنيع أو في الميدان (Field-Programmable).

في أواخر الثمانينات، قام مركز Naval Surface Warfare Center بتمويل تجربة اقترحها Steve Casselman لتطوير حاسوب يحتوي على 600,000 بوابة منطقية مبرمجة. نجح Casselman في التجربة وتم اصدار براءة احتراع خاصة بالتجربة في عام 1992.

بعض مبادئ التصنيع والتكنولوجيا الخاصة بالبوابات المنطقية المبرمجة (Programmable Logic Arrays) و البوابات والوحدات المنطقية (Logic Blocks) تم إنشاءها من خلال براءات اختراع منحت لـ David W. Page و LuVerne R. Peterson في عام 1985.

تم إنشاء شركة Altera في عام 1983 حيث قامت بتصنيع أول PLD في عام 1984 - EP300 - حيث احتوت على نافذة من الكوارتز يتم تسليط ضوء فوق بنفسجي من خلالها على الدائرة الداخلية لمسح خلايا ذاكرة EPROM التي تحتوي على معلومات تصميم الـ PLD.

مؤسسو شركة Xilinx و هما Ross Freeman و Bernard Vonderschmitt قاما باختراع أول شريحة FPGA متاحة تجارياً وهي XC2064 حيث كانت بداية تطور تكنولوجيا وسوق صناعة الـ FPGA كما نعرفها الآن. احتوت شريحة XC2064 على 64 CLB بالإضافة إلى وحدات LUT ذات 3 مداخل. بعد أكثر من 20 سنة تم وضع اسم Freeman في قائمة National Inventors Hall of Fame لأجل اختراعه.

استمرت شركتا Altera و Xilinx بالنمو من 1985 إلى منتصف التسعينات 1990, حيث ظهرتا بشكل سريع في الصناعة مع احتواء نسبة عالية من حصة سوق صناعة الـ FPGA. في عام 1993 كانت شركة Actel (الآن تعرف بـ Microsemi) تملك 18% من سوق صناعة الـ FPGA. بحلول عام 2010 شركة Altera بنسبة 31% و شركة Actel بنسبة 10% و شركة Xilinx بنسبة 36% مجتمعات قد امتلكوا ما نسبته 77% من سوق الـ FPGA.

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

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

  • 1982: Burroughs Advances Systems Group وصلت إلى 8192 بوابة منطقية.
  • 1987: Xilinx وصلت إلى 9000.
  • 1992: مركز Naval Surface Warfare Department وصل إلى 600,000.
  • بداية الـ 2000 معظم الأنواع تعدت حاجز المليون بوابة منطقية.

حجم السوق

  • 1982: أول FPGA متاحة بشكل تجاري وهي XC2064.
  • 1987: قدر حجم السوق بـ 14 مليون دولار.
  • 1993: ما يزيد عن 385 مليون دولار.
  • 2005: وصل إلى 1.9 مليار دولار.
  • 2010: التقديرات تشير إلى 2.75 مليار دولار.
  • 2013: يقدر بـ 5.4 مليار دولار.
  • 2020: من المتوقع أن يصل إلى 9.8 مليار دولار.

التطبيقات

  • الطيران والدفاع.
    • إلكترونيات الطائرات.
    • الاتصالات.
    • الصواريخ والذخائر.
    • الفضاء
  • الأنظمة الإلكترونية الطبية.
  • نمذجة دوائر ASIC.
  • أنظمة الصوت.
  • السيارات
    • تصوير الفيديو بجودة عالية.
    • معالجة الصورة.
    • أنظمة اتصال وشبكة المركبة.
    • أنظمة الترفيه في السيارات.
  • أنظمة البث
    • محركات الفيديو بالوقت الحقيقي.
    • مشفرات الفيديو.
    • شاشات العرض.
    • محولات وموجهات الفيديو.
  • الأجهزة الإلكترونية.
    • أجهزة العرض الرقمي.
    • الكاميرا الرقمية.
    • الطابعات.
    • الأجهزة المحمولة.
    • أجهزة فك التشفير والعرض (Set-top Box)
  • مراكز البيانات
    • الخادمات.
    • أمن الشبكات والأنظمة.
    • الموجهات.
    • المحولات.
    • نقاط التوجيه Gateways.
    • أنظمة موازنة الحمل على الشبكة.
  • الحوسبة ذات الأداء العالي.
    • الخادمات.
    • الحواسيب الخارقة.
    • أنظمة SIGINT.
    • الرادارات ذات الأداء العالي.
    • أنظمة تكوية الشعاع Beamforming في الاتصالات.
    • استخراج البيانت.
  • التطبيقات الصناعية
    • التصوير الصناعي.
    • الشبكات الصناعية.
    • التحكم بالمحركات.
  • الطب
    • الموجات الفوق صوتية.
    • التصوير الطبقي.
    • الرنين المغناطيسي.
    • أشعة X.
    • PET
    • أنظمة الجراحة.
  • الأدوات والأجهزة العلمية.
    • مضخمات استعادة الإشارة Lock-in Amp.
    • Boxcar averagers
    • Phase-locked loops
  • الأنظمة الأمنية
    • التصوير الصناعي.
    • حلول آمنة.
    • معالجة الصورة.
  • معالجة الفيديو والصور.
    • فيديوهات ذات جودة عالية.
    • اتصالات الفيديو عبر الـ IP.
    • شاشات العرض الرقمي.
    • التصوير الصناعي.
  • الاتصالات السلكية.
    • شبكات التناقل البصري.
    • معالجة الشبكات.
    • واجهات الاتصال.
  • الاتصالات اللاسلكية.
    • إشارات ذات تردد قاعدي Baseband.
    • واجهات الاتصال.
    • نقاط الحمل المتحركة Backhaul.
    • الراديو.

بنية FPGA

يتألف من مجموعة من البلوكات المنطقية التي تترابط مع بعضها كما في CPLD ولكن هنا تكون مترابطة بشكل أعقد والفارق الهام بين CPLD و FPGA هو أن FPGA قابلة للبرمجة أكثر من مرة، حيث في CPLD كان يتم برمجتها عن طريق صهر الفواصم بين هذه البلوكات وفق طريقة وترتيب معين، أما في FPGA فتم استبدال الفواصم بقواطع إلكترونية (SWITCHES) وهذه القواطع هي ترانزستورات تترابط مع بعضها ومع البلوكات المنطقية بشكل معقد جدا وبالتالي تشكل مع بعضها أيضا مصفوفة من السويتشات (SWITCHES) وبالتالي أصبحت تدعى البلوكات المنطقية القابلة للتهيئة : CLB Confugrable Logic Block

حيث هذه الترانزستورات تصمم بحيث:

  • تقوم بتطبيقات متعددة.
  • تقوم بربط البلوكات بين بعضها.
  • تخصص للعمل بشكل منطقي (0,1).

- بارتباط الذواكر المنطقية وتنظيمها وجدولتها ينتج لدينا ذواكر مثل (SRAM-DRAM) و يتم التعامل معها بشكل نظامي من استجابة واسترجاع بيانات وتخزين وغيرها. يمكن ربط هذه الذواكر مع بعضها ومع أجزاء أخرى من FPGA كالمعالجات كما يمكن ربطها مع الوسط الخارجي.

برمجة FPGA

يستخدم نوعين من لغات البرمجة:

  1. بواسطة لغة الـ في إتش دي إل.
  2. بواسطة لغات منخفضة المستوى.

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

  • يمكن برمجة FPGA في أي وقت، فعند تحميل برنامج Software ظهر لدينا أخطاء يمكن إعادة تحميلها وعمل Re-Compile لها من جديد.
  • عند "تحميل" (Download) برنامج الـ Software يفقد الـ FPGA وظيفته بانقطاع التيار، أما عند "برمجة" (Programming) الـ FPGA لا يفقد الـ FPGA وظيفته بانقطاع التيار.

المراجع

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