ما هو CPLD؟
تفي أجهزة CPLD، التي تعني أجهزة المنطق المعقدة القابلة للبرمجة، بوعودها بالكامل. فهي مصممة أساسًا لمحاكاة عدة أجهزة PAL (منطق المصفوفة القابل للبرمجة) مدمجة في شريحة واحدة ومترابطة عبر مفتاح تقاطعي. وبما أنها مبنية على التقنية نفسها، وتستخدم أساليب البرمجة نفسها، وتعتمد على أدوات تطوير مألوفة، فإنها قادرة بكفاءة على التعامل مع عمليات منطقية أوسع نطاقًا وأكثر تعقيدًا.
على الرغم من أن FPGA وSPLD (أجهزة المنطق البسيط القابلة للبرمجة) أكثر تقدمًا مقارنةً بـ CPLD، فإنها تعمل بطريقة مشابهة لطريقة عمل CPLD. وتُعد CPLD أكثر تعقيدًا من SPLD، لكنها أقل تعقيدًا من FPGA. وتشترك SPLD الشائعة الاستخدام، مثل PAL (منطق المصفوفة القابل للبرمجة) وPLA (مصفوفة المنطق القابلة للبرمجة) وGAL (المنطق العام القابل للبرمجة)، في بعض أوجه التشابه مع CPLD.

ما هي FPGA؟
مصفوفات البوابات القابلة للبرمجة ميدانيًا (FPGA) هي أجهزة شبه موصلة تتميز بمصفوفة من كتل منطقية قابلة للتخصيص (CLB) مترابطة عبر وصلات قابلة للبرمجة. وما يميز FPGA هو إمكانية إعادة برمجتها بعد التصنيع، مما يتيح تكييفها لتلبية متطلبات تطبيق أو ميزات محددة.
تختلف شرائح FPGA اختلافًا جوهريًا عن الدوائر المتكاملة الخاصة بالتطبيقات (ASIC)، التي تُصمَّم خصيصًا لتلبية متطلبات تصميم محددة. وتتمثل السمة المميزة لـ FPGA في قابليتها لإعادة البرمجة. فعلى خلاف ASIC ذات التصميم الثابت، يمكن إعادة تهيئة FPGA أو تحديثها عند الحاجة، مما يجعلها أكثر مرونة في التكيف مع متطلبات التصميم المتغيرة.
من بين مصفوفات FPGA، تحظى المصفوفات المعتمدة على SRAM بشعبية أكبر من لوحات تطوير FPGA القابلة للبرمجة مرة واحدة (OTP)، وذلك لقدرتها على التحديث عدة مرات.
تُنظَّم مصفوفات FPGA بطريقة مشابهة لدوائر ASIC ذات مصفوفة البوابات، وليس مثل PAL أو الأجهزة التقليدية الأخرى القابلة للبرمجة. وغالبًا ما تُستخدم في الحالات التي سيُعتمد فيها ASIC لاحقًا، إذ توفر وسيلةً لنمذجة وظائف ASIC الأولية واختبارها قبل الإنتاج النهائي. ويتيح ذلك التحقق من التصميم وتكراره قبل الالتزام بالتكاليف الأعلى المرتبطة بتصنيع ASIC.
بنية CPLD
يُبنى جهاز CPLD (جهاز المنطق القابل للبرمجة المعقد) باستخدام عدة هياكل PAL (منطق المصفوفة القابل للبرمجة) يُشار إليها باسم الخلايا الكبيرة. وهو تطور لتقنية PAL. في جهاز CPLD، يمكن لكل خلية كبيرة الوصول إلى كل دبوس إدخال داخل الحزمة، لكن لكل خلية كبيرة دبوس إخراج واحد فقط. يوضح المخطط الكتلي لجهاز CPLD بنيته الداخلية.
يوضح المخطط الكتلي أن جهاز CPLD يتكوّن من العديد من الخلايا الكبيرة أو الكتل الوظيفية. وترتبط هذه الخلايا الكبيرة ببعضها عبر مصفوفة ترابط عامة (GIM) قابلة للبرمجة. ويتيح تغيير ترتيب مصفوفة الترابط العامة إنشاء دوائر منطقية متنوعة. تستخدم أجهزة CPLD دبابيس إدخال وإخراج رقمية للت interfacing مع الأجهزة الخارجية. وتوفر هذه البنية المرونة وإمكانية إعادة التهيئة لتنفيذ وظائف منطقية مختلفة وفقًا لمتطلبات التصميم المحددة.
بنية CPLD
يُقدَّم الهيكل الأساسي لـCPLD باستخدام شريحة Xilinx من سلسلة XC9500XL مثالًا. وتعتمد بنية CPLD على مفهوم حدوديات حاصل الضرب (Product-Term). وتتكوّن من ثلاثة مكوّنات رئيسية: الكتلة الوظيفية، ومصفوفة مفاتيح FastCONNECT II، ووحدة التحكم في الإدخال/الإخراج.
يوضح الرسم تكوين كل كتلة وظيفية، التي تتضمن مصفوفة قابلة للبرمجة، وموزّع حدوديات حاصل الضرب، و18 خلية منطقية. وتُعد هذه الخلايا وحدات أساسية لتنفيذ عمليات المنطق الأساسية.
تتولى وحدة التحكم في الإدخال/الإخراج تهيئة الخصائص الكهربائية المختلفة لأطراف الإدخال والإخراج، مثل مخارج المجمع المفتوح والمخارج ثلاثية الحالة. كما تدير الوظائف المتعلقة بالإدخال والإخراج.
علاوة على ذلك، توجد إشارات عامة للساعة (I/O/GCK)، وإعادة الضبط (I/O/GSR)، وتمكين الخرج (I/O/GTS)، وهي متصلة بكل وحدة وظيفية داخل CPLD عبر خطوط مخصصة. وتوفر هذه الإشارات العامة التنسيق والمزامنة لتشغيل CPLD.
تتولى الخلية المنطقية، وهي مكوّن أساسي في CPLD، تنفيذ عمليات المنطق الأساسية. ويُوضّح الشكل الأساسي للخلية المنطقية في الصورة أدناه. وعلى الجانب الأيسر من الصورة، يمكنك رؤية مصفوفة حدوديات حاصل الضرب، التي قد تكون موجودة أو غير موجودة وفقًا للتهيئة المحددة.
يمكن برمجة كل نقطة تقاطع داخل مصفوفة حدوديات حاصل الضرب، وعند تفعيلها تنفّذ عمليات منطق «مع»، ما يسهم في المنطق التوافقي إلى جانب موزّع حدوديات حاصل الضرب الذي يعمل في الخلفية. وتتيح هذه المرونة إنشاء وظائف منطقية متنوعة داخل الخلية المنطقية.
يمكن تهيئة القلاب القابل للبرمجة الموجود على الجانب الأيمن من الصورة ليكون قلاب D أو قلاب T، وفقًا لمتطلبات التصميم. وإذا لم تكن وظيفة التفعيل ضرورية، فيمكن تجاوزها وتوجيه الإشارة إلى طرف الإدخال/الإخراج أو مصفوفة التوصيل، مما يوفر مرونة في تصميم وظائف منطقية مختلفة وتنفيذها داخل CPLD.

مكوّنات CPLD
تتكوّن مكوّنات CPLD من عناصر متنوعة تشكّل معًا بنية الجهاز. فيما يلي وصف تفصيلي لهذه المكوّنات:
- المكوّنات القابلة للبرمجة: تستخدم دوائر CPLD مكوّنات قابلة للبرمجة مثل ذاكرة EPROM الفلاش (ذاكرة القراءة فقط القابلة للمسح والبرمجة)، وEEPROM (ذاكرة القراءة فقط القابلة للمسح والبرمجة كهربائيًا)، وPROM (ذاكرة القراءة فقط القابلة للبرمجة)، وROM (ذاكرة القراءة فقط). تخزّن هذه المكوّنات بيانات التهيئة، ويمكن تعديلها لتحديد وظائف المنطق في الجهاز.
- كتلة الوظيفة: تتضمن كتلة الوظيفة داخل CPLD مستوى AND يستقبل المدخلات من كتل الإدخال/الإخراج أو كتل الوظائف الأخرى أو حتى مخرجات كتلة الوظيفة نفسها. وتخضع المدخلات لعمليات منطقية، ثم تُختار باستخدام مُبدِّل متعدد كبير قبل إضافتها إلى مصفوفة OR. وتتيح هذه العملية إنشاء وظائف منطقية معقدة داخل CPLD.
- التوصيل البيني: يتكون التوصيل البيني داخل CPLD من مصفوفة من المفاتيح القابلة للبرمجة التي تتحكم في توجيه الإشارات من جزء من الجهاز إلى جزء آخر. ويتيح إنشاء اتصالات بين عناصر مختلفة، بما في ذلك كتل الوظائف وكتل الإدخال/الإخراج، لتهيئة المنطق المطلوب.
- كتل الإدخال/الإخراج: تتولى كتل الإدخال/الإخراج (I/O) مهمة الربط مع الأجهزة الخارجية. وتضمن نقل الإشارات من دبابيس CPLD وإليها عند مستويات الجهد والتيار المناسبة. وتسهم كتل الإدخال/الإخراج في تقليل التأخيرات، وتقليل الوقت الذي يحتاج فيه الجهاز إلى البقاء في وضع الخمول، وتحسين الاستخدام العام لموارد CPLD.
تعمل هذه المكونات معًا لتوفير المرونة وتعدد الاستخدامات في تهيئة وظائف المنطق الرقمي المعقدة داخل CPLD، مع تسهيل الاتصال الفعال بالأجهزة الخارجية.
إيجابيات CPLD
- من السهل تصميمها.
- تم تطويرها بتكلفة متواضعة.
- تساعد CPLD على جعل اللوحة أصغر حجمًا.
- توفر موثوقية عالية.
سلبيات CPLD
- تُعد CPLD جهازًا منطقيًا قابلًا للبرمجة أكثر تقدمًا من SPLD.
- إنها مكوّن أكثر تعقيدًا من المنطق القابل للبرمجة.
كيف تعمل CPLD؟
تستخدم CPLDs (الأجهزة المنطقية القابلة للبرمجة المعقدة) تقنيات برمجة متنوعة، بما في ذلك EPROM بتقنية CMOS، وEEPROM، والذاكرة الوميضية، وSRAM، لإنشاء أجهزة منطقية قابلة للبرمجة صغيرة الحجم وعالية السرعة وموفرة للطاقة. وتنتمي هذه الأجهزة إلى فئة الدوائر المتكاملة واسعة النطاق، وتتميز ببنى معقدة نسبيًا وأحجام مادية كبيرة. وCPLDs هي نوع من الدوائر المتكاملة الرقمية التي تتيح للمستخدمين تصميم دوائر منطقية مخصصة وتنفيذها بما يتناسب مع متطلباتهم الخاصة.
يتضمن النهج الأساسي للتصميم باستخدام CPLD الخطوات التالية:
- تطوير النظام الرقمي المطلوب باستخدام منصة برمجيات تطوير متكاملة.
- التعبير عن التصميم باستخدام لغة وصف العتاد.
- نقل كود التصميم إلى شريحة CPLD المستهدفة عبر كابل تنزيل، وهي عملية تُعرف باسم البرمجة «داخل النظام».
- إنشاء الملف الهدف المقابل الذي يحدد الوظائف المنطقية المطلوب تنفيذها بواسطة CPLD.
معمارية FPGA
في التصميم الأساسي لـ FPGA (مصفوفة البوابات القابلة للبرمجة ميدانيًا)، تُستخدم أربعة أنواع رئيسية من الوحدات: كتل أو وسادات الإدخال/الإخراج، وخطوط التوصيل، ومصفوفات المفاتيح، وكتل المنطق القابلة للبرمجة (CLBs). ويمكن للمستخدمين ربط هذه المكونات ببعضها بتهيئات متنوعة لإنشاء البنية المعمارية الأساسية لـ FPGA.
وظائف هذه الوحدات المعمارية في FPGA:
- كتلة CLB (كتلة المنطق القابلة للتهيئة): تُعد كتلة CLB الوحدة الأساسية المسؤولة عن تنفيذ العمليات المنطقية. وتتكون من عناصر منطقية وتوصيلات إدخال وإخراج رقمية. ويمكن للمستخدمين تهيئة كتل CLB لتنفيذ وظائف منطقية مخصصة حسب الحاجة لتطبيقاتهم المحددة.
- التوصيلات البينية: تعمل التوصيلات البينية كمسارات تنقل التعليمات والبيانات بين كتل المنطق المختلفة داخل FPGA. وتتيح هذه المسارات لكتل CLB التعاون في تنفيذ المنطق المحدد من قِبل المستخدم.
- مصفوفة المفاتيح: توفر مصفوفة المفاتيح الاتصالات والتوجيه القائمين على المنطق اللازمين بين المكونات داخل FPGA. كما تتيح التهيئة الديناميكية للاتصالات، مما يمنح FPGA مرونة للتكيف مع تصميمات منطقية مختلفة.
- وسادات الإدخال/الإخراج: تعمل وسادات الإدخال/الإخراج كواجهات بين FPGA والأجهزة الخارجية أو العالم الخارجي. وتتيح إجراء اتصالات مع العتاد الخارجي، مما يسمح بإرسال البيانات من FPGA وإليها.
تُعد القدرة على ربط هذه الوحدات في مصفوفات ثنائية الأبعاد وتهيئتها وفقًا لمتطلبات محددة سمة أساسية في مصفوفات FPGAs. وتجعل هذه المرونة وقابلية البرمجة مصفوفات FPGAs مناسبة لمجموعة واسعة من التطبيقات، بدءًا من معالجة الإشارات الرقمية وصولًا إلى تطبيقات العتاد القابلة للتخصيص.
أساسيات FPGA
تتكون كتلة CLB واحدة (كتلة منطق قابلة للتهيئة) داخل FPGA من كتل منطقية متعددة، يساهم كل منها في وظائف CLB. ومن الميزات المهمة في FPGA جدول البحث (LUT)، وهو عنصر مميز لهذه التقنية. تستطيع جداول LUT الاحتفاظ بقائمة محددة مسبقًا من المخرجات المنطقية لكل تركيبة ممكنة من المدخلات. وعادةً ما تأتي جداول LUT بإصدارات تحتوي على أربعة إلى ستة بتات إدخال. وتشمل العمليات المنطقية الشائعة التي يمكن تنفيذها باستخدام جداول LUT القلابات والجامعات الكاملة والمُبدِّلات المتعددة.
قد يختلف عدد المكونات داخل كتلة CLB وتهيئتها تبعًا لجهاز FPGA المحدد. وفي نسخة مبسطة، يمكن أن تتكون كتلة CLB من جدولَي LUT بثلاثة مدخلات (1)، وجامع كامل (3)، وقلاب من النوع D (5)، ومُبدِّل متعدد عادي (2)، ومُبدِّلين متعددين قابلين للبرمجة داخل FPGA.
يمكن لكتلة CLB مختصرة العمل بطريقتين مختلفتين. في الوضع الحسابي، يستقبل الجامع الكامل مدخلات من مخرجات جداول البحث (LUTs) ومدخل حمل من كتلة CLB أخرى. وفي الوضع العادي، تعمل جداول LUT والمُبدِّل المتعدد 2 معًا لإنشاء جدول LUT بأربعة مدخلات. ويحدد المُبدِّل المتعدد 4 ما إذا كان سيُستخدم خرج الجامع الكامل أم خرج جدول LUT. ويحدد القلاب D، عبر المُبدِّل المتعدد 6، ما إذا كانت العملية غير متزامنة أو متزامنة مع ساعة FPGA.
في مصفوفات البوابات المنطقية القابلة للبرمجة (FPGAs) من الجيل الحالي، تستطيع كتل المنطق القابلة للتهيئة (CLBs) الأكثر تقدمًا تنفيذ عمليات متعددة ضمن كتلة واحدة. ويمكن دمج هذه الكتل المتقدمة لتنفيذ مهام أكثر تعقيدًا، مثل عمليات الضرب والسجلات والعدادات وحتى أنشطة معالجة الإشارات الرقمية (DSP)، مما يجعل مصفوفات FPGAs متعددة الاستخدامات لمجموعة واسعة من التطبيقات.

مكونات FPGA
- تُستخدم كتلة الإدخال/الإخراج لتوصيل الشرائح.
- يتيح استخدام التوجيه القابل للبرمجة الاستفادة من الوظائف.
- يمكن تنفيذ الوظائف المنطقية باستخدام كتل منطق قابلة للبرمجة.
مزايا FPGA
- تُعد عملية تطوير FPGA أقل تكلفة من تطوير ASIC، لعدم وجود نفقات غير متكررة (NRE)، ولأنها تستخدم أدوات أقل تكلفة.
- تظل وحدات FPGA قابلة للبرمجة دائمًا على مستوى البرمجيات. ولذلك يمكن إعادة تهيئة دائرة FPGA المتكاملة أو إعادة استخدامها بلا حدود. كما يمكن برمجة وحدات FPGA عن بُعد.
- يمكن برمجة الدوائر المتكاملة FPGA بسهولة باستخدام شيفرة HDL، وهي متاحة على نطاق واسع. والنتيجة هي طرح الحل في السوق بسرعة أكبر.
- يتولى البرنامج في تصميم FPGA معالجة التوجيه والتوزيع والتوقيت. وهذا يتطلب عملًا يدويًا أقل. كما يلغي تدفق التصميم الحاجة إلى تخطيط الأرضية واعتبارات التوزيع والتوجيه والتوقيت التي تستغرق وقتًا وتكون صعبة.
- تمتلك وحدات FPGA القدرة على البرمجة على مستوى المنطق. ونتيجة لذلك، يمكنها استخدام معالجة إشارات أكثر توازيًا وأسرع. أما التنفيذ بواسطة وحدة المعالجة المركزية فهو صعب.
عيوب FPGA
- تُعد المعرفة الأساسية بالأنظمة الرقمية ولغتي البرمجة VHDL وVerilog متطلبات مسبقة لبرمجة وحدات FPGA. وتُعد البرمجة أكثر تعقيدًا من تلك المستخدمة في المعدات المعتمدة على المعالجات. بالإضافة إلى ذلك، يجب على المهندسين فهم كيفية استخدام برامج المحاكاة.
- يُقيَّد حجم التصميم وخصائصه بالموارد المتاحة على الدائرة المتكاملة للـFPGA بعد اختيارها واستخدامها في التصميم. ولمنع هذه المشكلة، يجب اختيار FPGA مناسب منذ البداية.
- يستهلك الـFPGA طاقة أكبر، ولا يملك المبرمجون سوى قدر محدود من التحكم في تحسين استهلاك الطاقة.
- اكتسبت FPGAs شعبية بفضل تعدد استخداماتها في مختلف التطبيقات.
- تشمل التطبيقات المحددة لـ FPGAs التعرف على الصوت، والتشفير، وترشيح الإشارات، وترميز الاتصالات، ووحدات التحكم في الأجهزة، والراديو المُعرَّف برمجيًا، والمنطق العشوائي، وإنشاء نماذج أولية لـ ASIC، والتصوير الطبي، ومحاكاة عتاد الحاسوب، ووحدات التحكم في الأجهزة.
- تُستخدم وحدات FPGA غالبًا في التطبيقات المتخصصة منخفضة الكمية، حيث تجعل اعتبارات الأداء والتكلفة منها خيارًا ملائمًا. وتناسب وحدات FPGA أعمال وضع النماذج الأولية والإنتاج منخفض الكمية. كما تزداد تكلفة الوحدة كلما زاد عدد وحدات FPGA المطلوب إنتاجها.
- تُعد وحدات FPGA (مصفوفات البوابات القابلة للبرمجة ميدانيًا) جزءًا من عائلة أجهزة المنطق القابلة للبرمجة، التي يُشار إليها غالبًا باسم العتاد القابل للبرمجة. ولا تمتلك وظيفة مدمجة بطبيعتها، لكنها يمكن أن تُبرمج لتتصرف كأي دائرة رقمية تقريبًا حسب الرغبة. وتُعد هذه الخاصية مميزة لأنها تتيح التهيئة السريعة دون الحاجة إلى اللحام أو التوصيلات المعقدة.
إليك كيفية عمل وحدات FPGA:
- التهيئة: تتم تهيئة وحدات FPGA عبر تحميل ملف تهيئة بتّي محدد إلى الجهاز. وتحدد هذه التهيئة التوصيلات البينية وسلوك عناصر المنطق داخل الـFPGA.
- تعدد الاستخدامات: بمجرد تهيئته، سيعمل الـFPGA كدائرة رقمية حسب المطلوب. ويمكن إعادة برمجته بسهولة لتنفيذ مهام مختلفة عبر تحميل تهيئة جديدة، مما يجعله متعدد الاستخدامات بدرجة كبيرة لمجموعة واسعة من التطبيقات.
- القائمة على RAM: تستخدم FPGAs تهيئة قائمة على RAM، مما يسمح بإعادة التهيئة ديناميكيًا. وهذا يعني إمكانية تحديث الجهاز وتعديله حسب الحاجة دون الحاجة إلى تغييرات مادية.
- التصميم القائم على الوصف: يتضمن التصميم لـ FPGAs عادةً وصف السلوك المطلوب بدلًا من إنشاء مخططات دوائر تقليدية. وتُستخدم لغات وصف العتاد (HDLs) عادةً لتحديد الوظائف، ثم تُستخدم الأدوات لإنشاء تهيئة العتاد المقابلة.
تطبيقات CPLD:
- تتناسب دوائر المنطق القابلة للبرمجة المعقدة جيدًا مع تطبيقات التحكم عالية الأداء والمتطلبة.
- يمكن استخدام دوائر CPLD في التصاميم الرقمية لتنفيذ وظائف محمّل الإقلاع.
- وتؤدي دورًا في تحميل بيانات التهيئة من الذاكرة غير المتطايرة إلى مصفوفات البوابات القابلة للبرمجة ميدانيًا.
- تُستخدم دوائر CPLD عادةً في مهام التصميم المباشرة مثل فك ترميز العناوين.
- يجعل حجمها المدمج واستهلاكها المنخفض للطاقة دوائر CPLD مناسبة للأجهزة المحمولة الحساسة للسعر والتي تعمل بالبطاريات.
تطبيقات FPGA:
- اكتسبت FPGAs شعبية بفضل تعدد استخداماتها في مختلف التطبيقات.
- تشمل التطبيقات المحددة لـ FPGAs التعرف على الصوت، والتشفير، وترشيح الإشارات، وترميز الاتصالات، ووحدات التحكم في الأجهزة، والراديو المُعرَّف برمجيًا، والمنطق العشوائي، وإنشاء نماذج أولية لـ ASIC، والتصوير الطبي، ومحاكاة عتاد الحاسوب، ووحدات التحكم في الأجهزة.
- غالبًا ما تُستخدم FPGAs في التطبيقات المتخصصة منخفضة الحجم، حيث تجعل ديناميكيات الأداء والتكلفة منها خيارًا ملائمًا.
FPGA مقابل CPLD
| FPGA | CPLD |
| أما FPGA فهو اختصار لعبارة مصفوفات البوابات القابلة للبرمجة ميدانيًا. | CPLD هو اختصار لعبارة أجهزة المنطق القابلة للبرمجة المعقدة. |
| FPGA هو شريحة منطق رقمي قائمة على ذاكرة RAM. | وعلى العكس، تعتمد دوائر CPLD على EEPROM. |
| تأخيرات CPLD أكثر قابلية للتنبؤ بكثير من تأخيرات FPGA. | نظرًا لأن CPLD يحتوي على ذاكرة غير متطايرة، فهو أكثر أمانًا من FPGA. |
| ينتمي FPGA إلى فئة الحبيبات الدقيقة. | وعلى العكس، ينتمي CPLD إلى النوع ذي الحبيبات الخشنة. |
| تتشابه مصفوفة البوابات مع FPGA. | أما CPLD فهو النظير لـ PAL. |
| يُعد التوجيه الداخلي موثوقًا لأنه لا يؤثر كثيرًا في أداء FPGA. | ومن ناحية أخرى، يختلف أداء CPLD ويعتمد على التوجيه. |
| يستهلك FPGA طاقة أكبر. | وبالمقارنة، يستهلك CPLD طاقة أقل. |
| يُعد FPGA مناسبًا للتطبيقات المعقدة. | ومع ذلك، يعمل CPLD بكفاءة أكبر في التطبيقات الأبسط. |
| يحتوي FPGA على ما يصل إلى 100,000 كتلة منطقية صغيرة. | أما دوائر CPLD فلا يمكنها، في المقابل، استيعاب سوى بضعة آلاف من الكتل المنطقية. |
| وعلى النقيض من ذلك، فإن FPGA هو نوع من الدوائر المتكاملة صُمم أساسًا ليُعدّله العميل أو المطوّر بعد تصنيعه. | تساعد دائرة متكاملة من نوع CPLD في تشغيل النظام الرقمي. |
معظم التطبيقات الرأسية لصفائف البوابات القابلة للبرمجة ميدانيًا (FPGAs) متخصصة ومنخفضة الحجم. تنفق أفضل الشركات على تكلفة الأجهزة لكل وحدة لهذه التطبيقات منخفضة الحجم. وقد ارتفع عدد التطبيقات العملية الآن نتيجة تحسن الأداء والتكلفة.
