مصفوفة البوابات المنطقية القابلة للبرمجة  مصفوفة البوابات المنطقية القابلة للبرمجة هي دائرة متكاملة صممت ليتم بواسطتها تعديل أو تصميم أنظمة متكاملة حتى بعد عملية التصنيع دون الحاجة لإعادة تجميع النظام أو المنتج، لذلك أخذت التسمية القابلة للبرمجة في الميدان أو 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 إلى منتصف التسعينات، حيث ظهرتا بشكل سريع في الصناعة مع احتواء نسبة عالية من حصة سوق صناعة الـ FPGA. في عام 1993 كانت شركة Actel (الآن تعرف بـ Microsemi) تملك 18% من سوق صناعة الـ FPGA. بحلول عام 2010 شركة Altera بنسبة 31% وشركة Actel بنسبة 10% وشركة Xilinx بنسبة 36% مجتمعات قد امتلكوا ما نسبته 77% من سوق الـ FPGA.  فترة التسعينات كانت فترة نشطة لأنظمة الـ FPGA، حيث في بداية العقد كانت تطبيقات الـ FPGA بشكل أساسي في أنظمة الاتصالات والشبكات ومع نهاية العقد امتدت تطبيقات الـ FPGA إلى الإلكترونيات، السيارات ومختلف التطبيقات الصناعية.    يتألف من مجموعة من الوحدات المنطقية التي تترابط مع بعضها كما في CPLD ولكن هنا تكون مترابطة بشكل أكثر تعقيدا، والفارق المهم بين CPLD و FPGA هو أن FPGA قابلة للبرمجة أكثر من مرة، حيث في CPLD كان يتم برمجتها عن طريق صهر الفواصم بين هذه الوحدات وفق طريقة وترتيب معين، أما في FPGA فتم استبدال الفواصم بقواطع إلكترونية (SWITCHES) وهذه القواطع هي ترانزستورات تترابط مع بعضها ومع الوحدات المنطقية بشكل معقد جدا، وبالتالي تشكل مع بعضها أيضا مصفوفة من السويتشات (SWITCHES)، وبالتالي أصبحت تدعى الوحدات المنطقية القابلة للتهيئة: CLB Confugrable Logic Block  هذه الترانزستورات تصمم بحيث:  - بارتباط الذواكر المنطقية وتنظيمها وجدولتها ينتج لدينا ذواكر مثل (SRAM-DRAM)ظن ويتم التعامل معها بشكل نظامي من استجابة واسترجاع بيانات وتخزين وغيرها. يمكن ربط هذه الذواكر مع بعضها ومع أجزاء أخرى من FPGA مثل المعالجات كما يمكن ربطها مع الوسط الخارجي.  يستخدم نوعين من لغات البرمجة:  إن لغة VHDL لها بعض المشاكل، حيث أن برمجة FPGA بطيئة من أجل التصميمات الضخمة المعقدة. سنتوسع فيما بعد في شرح لغة في إتش دي إل.