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

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

مصفوفة البوابات المنطقية القابلة للبرمجة (بالإنجليزية: (Field Programmable Gate Array (FPGA) هي دائرة متكاملة صممت لكي يتم تعديل أو تصميم أنظمة متكاملة حتى بعد عملية التصنيع دون الحاجة لإعادة تجميع النظام أو المنتج, لذلك أخذت التسمية القابلة للبرمجة في الميدان أو Field-Programmable. بشكل عام يتم التصميم في الـ 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 وظيفته بانقطاع التيار.

المراجع[عدل]