تبدو مصفوفات البوابة القابلة للبرمجة الميدانية معقدة، لكنها تفتح عالمًا جديدًا تمامًا للمطورين.
إذا سبق لك أن قرأت عن محاكاة الألعاب القديمة، فربما صادفت نوعًا من أشباه الموصلات يسمى مصفوفة البوابة القابلة للبرمجة ميدانيًا (FPGA). هذه دوائر متكاملة خاصة يمكنها إعادة تكوين نفسها بعد تصنيعها بفضل الكتل المنطقية القابلة للتكوين (CLB). بمعنى آخر، يمكنك إعادة برمجة مجموعة الشرائح بشكل أساسي لتعمل كأي نوع آخر من الدوائر الرقمية، والتي لها تطبيقات متعددة في الذكاء الاصطناعي وتصميم الشرائح ومجالات أخرى.
تحتوي FPGAs على العديد من حالات الاستخدام، وتستخدمها أجهزة مثل Analogue Pocket لدعم الأجهزة المحمولة المختلفة. ومع ذلك، تستخدم Microsoft أيضًا FPGAs لتشغيل Bing لأنها تسمح للشركة بإعادة برمجتها بسرعة لدعم الخوارزميات الجديدة أثناء تطويرها.
FPGA مقابل وحدات المعالجة المركزية التقليدية: ما الفرق؟
على النقيض من الشرائح القياسية — سناب دراجون 8 الجيل الثانيعلى سبيل المثال — لم يتم تصميم FPGA بحيث يمكن إعادة برمجته في الميدان. إنه نظام على شريحة (SoC) يتكون من أجزاء متعددة، بما في ذلك وحدة معالجة الرسومات (GPU) ووحدة المعالجة العصبية (NPU) ووحدة المعالجة المركزية (CPU). بمجرد شحنها، هذا ما سيحصل عليه المستهلكون والشركات.
ومع ذلك، تهدف FPGAs إلى أن تكون مرنة بحيث يمكن للمستخدم تغيير أجزاء من الشريحة دون تحمل أي تكاليف أو مخاطر إضافية. في الصناعات سريعة الحركة، مثل السيارات ذاتية القيادة، يمكن تقديم لوائح ومعايير جديدة في أي وقت لأي جانب من جوانب الجهاز. يمكن أن يسمح استخدام FPGA بتحديث OTA لإعادة برمجة الشريحة لدعم المعايير الجديدة.
أحد الاختلافات الكبيرة بين FPGAs ووحدات المعالجة المركزية التقليدية هو أنها مصممة لمعالجة البيانات بالتوازي بمقايضة بسرعة ساعة أقل بكثير. على سبيل المثال، يمكن لـ FPGA المزود بـ 10 خطوط أنابيب لمعالجة البيانات تنفيذ عمليات الضرب على رقمين لكل خط أنابيب، بضرب 20 رقمًا في كل دورة. يمكن لوحدة المعالجة المركزية التقليدية مضاعفة رقمين في كل دورة، ولكل نواة، وبترتيب تسلسلي.
كيف تعمل FPGAs للمحاكاة؟
غالبًا ما تُستخدم FPGAs لمحاكاة الأجهزة، والجزء المثير للاهتمام من عملية تصميم مجموعة الشرائح هو استخدام FPGAs لمحاكاة أجزاء مختلفة من SoC في الاختبار. يمكن لمصممي الشرائح استخدام العديد من FPGAs لإنشاء نموذج أولي لدائرة متكاملة خاصة بالتطبيقات (ASIC). يتم استخدام لغة وصف الأجهزة (HDL) لإنشاء تصميم الأجهزة، وهذه اللغة تخبر FPGA بكيفية ترتيب نفسها. في حالة الجيب التناظري، يتم توزيع هذه التصميمات في شكل "أنوية" مكتوبة عادةً بلغة Verilog، ويمكن للمستخدمين تنزيل نواة لإعداد الجهاز المحمول لوحدات تحكم معينة.
على سبيل المثال، يمكن لـ Analogue Pocket قراءة ألعاب Game Boy مباشرة في فتحة الخرطوشة الخاصة به وتشغيلها كما لو كانت وحدة التحكم الأصلية. ليس هذا فحسب، بل تضيف محولات الخرطوشة دعمًا إضافيًا للأجهزة الأخرى أيضًا، مثل Game Gear وAtari Lynx والمزيد. وهذا ممكن فقط بسبب الطبيعة القابلة لإعادة البرمجة لـ FPGA التي تستخدم محاكاة الأجهزة بدلاً من محاكاة البرامج لضمان إمكانية تشغيل الألعاب. MiSTer (الذي يستخدم لوحة DE-10 Nano FPGA كقاعدة ويتطلب وحدات إضافية فوقها) مشابه من حيث أنه يمكن استخدامه لمحاكاة وحدات التحكم مثل SNES وSega Genesis وحتى لعبة المكعب. تعد مضاهاة الأجهزة بشكل عام أكثر دقة من مضاهاة البرامج مع تقديم فوائد الأداء أيضًا.
في حين أن الأجهزة تتقادم ويمكن أن تصبح غير موثوقة بمرور الوقت، يمكن ببساطة إعادة برمجة FPGAs لمحاكاة نفس تجربة الأجهزة.
بالطبع، هذا لا يعني أن النوى هي تفسير مثالي لـ HDL واحد لواحد لمجموعة الشرائح. إنها قريبة جدًا، ولكن يتم إجراء الإصلاحات والتحسينات على النوى بمرور الوقت لإصلاح المشكلات التي قد يتم تحديدها في الاستخدام العادي. يتم تصنيع هذه النوى عن طريق الهندسة العكسية للشرائح التي تدخل في هذه الأجهزة، وتتطلب رسم خريطة لكل مكون على اللوحة الأم. في الشرائح المخصصة، يصبح الأمر أكثر صعوبة، حيث يحتاج المطورون في كثير من الأحيان إلى رؤيتهم شريحة "غير مغطاة" بمجهر لمعرفة ما يحدث بالضبط داخل الشريحة وتكرارها.
ولهذا السبب تعد FPGAs مهمة أيضًا للحفاظ على الأجهزة. في حين أن الأجهزة تتقادم ويمكن أن تصبح غير موثوقة بمرور الوقت، يمكن ببساطة إعادة برمجة FPGAs لمحاكاة نفس تجربة الأجهزة. ستعيد الشريحة ترتيب منطقها المادي داخل نفسها ليتوافق مع أي جوهر مُعطى لها. تم تصميم النظام البيئي openFPGA للمساعدة في الحفاظ على الأجهزة.
علاوة على ذلك، يمكنك الحصول على فائدة إضافية تتمثل في لعب تلك الألعاب بطريقة مشروعة ولكن على أجهزة أفضل بشكل عام. يمكنك الحصول على Analogue Pocket مقابل 220 دولارًا ولعب ألعاب Game Boy تمامًا كما كنت تفعل في الماضي، ولكن بجودة بناء أعلى وشاشة أفضل وحتى دعم للإرساء.
عيوب FPGAs
ومع ذلك، هناك بعض العيوب. في البداية، فهي تشغل مساحة أكبر بكثير من وحدات المعالجة المركزية التقليدية، كما أن إنتاجها أكثر تكلفة بكثير. تكلف أجهزة مثل Analogue Pocket وMiSTer FPGA الكثير من المال، حيث يكلفك الأخير أكثر من 500 دولار إذا اخترت بعض الوظائف الإضافية أيضًا. يفضل معظم الأشخاص فقط محاكاة الألعاب على هواتفهم الذكية أو أجهزة الكمبيوتر الخاصة بهم ولا يهتمون بالدقة المثالية للبكسل التي توفرها المحاكاة على مستوى الأجهزة.
وبطبيعة الحال، فإن FPGAs أيضًا في مهدها إلى حد ما فيما يتعلق بالمستهلك، مع زيادة شعبيتها في السنوات الأخيرة فقط. لقد كانت موجودة بالفعل لفترة طويلة في حالات الاستخدام الاحترافي من قبل العلماء ومهندسي الشرائح والذكاء الاصطناعي وما شابه، ولكن في السنوات الأخيرة فقط ظهرت الأجهزة الاستهلاكية وأصبحت قابلة للاستخدام بطرق غير رسمية أو متحمسة.
بالنسبة لمعظم الأشخاص الذين يرغبون في الدخول في عملية المحاكاة، فإن الراحة التي يوفرها جهاز مخصص يضمن لهم إن التجربة الحقيقية مغرية، ولكنها ليست شيئًا يحتاجه الجميع أو حتى يهتمون به. شخصيًا، إذا كنت أرغب في لعب لعبة مثل Super Mario Bros، يسعدني أن ألعبها على هاتفي أثناء التنقل. لا أحتاج إلى جهاز مخصص لذلك، ولكني أتفهم مدى جاذبية امتلاك جهاز.