إن بطاقة تسريع الرسومات 3dfx Voodoo، التي لا تزال مشهورة في أجهزة الكمبيوتر ودوائر الألعاب القديمة، "تعود" الآن إلى المسرح في شكل تطبيق FPGA جديد. على أساس أن العديد من أجهزة محاكاة DOS وأجهزة الكمبيوتر الشخصية كانت قادرة على إعادة إنتاج أداء Voodoo بشكل جيد، اختار أحد المطورين إعادة بناء هذه الشريحة الكلاسيكية من القرن الماضي مباشرة على أجهزة قابلة للبرمجة.

استحوذت Nvidia على العلامة التجارية 3dfx في عام 2000 واختفت في النهاية، لكن بطاقات تسريع سلسلة Voodoo الخاصة بها لا تزال "البطاقات السحرية" في قلوب العديد من اللاعبين وعشاق الرسومات ثلاثية الأبعاد، وهي أيضًا مكونات أساسية في العديد من مشاريع التعديل القديمة وحلول أجهزة الألعاب القديمة. في الوقت الحاضر، تمت محاكاة رقائق Voodoo بالكامل تقريبًا في العديد من أجهزة المحاكاة مثل DOSBox-X وPCem و86Box، ويحاول مشغلو الأجهزة باستمرار مشاريع التعديل بناءً على الرقائق الأصلية أو الحلول محلية الصنع.
اختار فرانسيسكو أيالا لو برون، كبير مسؤولي التكنولوجيا في شركة VideowindoW الهولندية، إيجاد مسار "تناسخ" جديد للفودو من خلال FPGA. استخدم SpinalHDL، وهي لغة وصف الأجهزة، لوصف بطاقة الرسومات Voodoo 1 بشكل كامل ثم قام بتحويلها إلى نموذج دائرة رقمية يمكن تشغيله على مصفوفة بوابة حديثة قابلة للبرمجة ميدانيًا (FPGA).
أكد Le Brun في الوصف الفني أنه على الرغم من أن Voodoo 1 قديم جدًا، إلا أنه ليس تصميمًا بسيطًا للرقاقة بأي حال من الأحوال. على عكس وحدات معالجة الرسومات الحديثة، لا تحتوي على أجهزة تحويل وإضاءة أو وظائف تظليل قابلة للبرمجة. جميع إمكانيات الرسومات "مشفرة بشكل ثابت" في شريحة السيليكون في شكل وظائف ثابتة، بما في ذلك خط أنابيب كامل من حسابات التدرج لتظليل Gouraud، وأخذ عينات النسيج، وتخطيط mipmaping، وتصفية النسيج متعدد المستويات (ثنائي الخط وثلاثي الخطوط)، وقص ألفا، وحسابات القطع، وما إلى ذلك.


في عملية عرض الرسومات المستندة إلى 3dfx، تكون وحدة المعالجة المركزية مسؤولة عن إكمال العمليات الحسابية المعقدة المطلوبة لوصف المشهد ثلاثي الأبعاد، بينما يرسم مسرع Voodoo مثلثات مزخرفة على الشاشة في أسرع وقت ممكن. وأشار لو برون إلى أن تقسيم المسؤوليات "الذي يبدو بسيطًا" يمكن أن يقود الناس بسهولة إلى الاعتقاد بأن بنية الأجهزة بسيطة جدًا أيضًا. في الواقع، حتى لو تم عرض مثلث واحد فقط، يجب إكمال سلسلة من العمليات مثل استيفاء الألوان وأخذ عينات الملمس واختيار مستوى mip والتصفية ومقارنة العمق والاقتصاص وتأثيرات الضباب داخل الشريحة. علاوة على ذلك، فهذه ليست عمليات قابلة للبرمجة بالمعنى الحديث، ولكنها يتم ترسيخها في الشريحة على شكل دوائر ثابتة.
في عملية إعادة بناء Voodoo 1، احتاج Le Brun إلى كشف التعقيد الخفي بداخله: إعادة تنظيم مسار التحكم، وتسجيل الدلالات وتصميم توقيت خط الأنابيب "العميق" للغاية، بحيث يمكن لهذا المسرع ثلاثي الأبعاد المبكر أيضًا تقسيم مهام العرض المعقدة بالبكسلات على FPGA كما فعل في ذلك الوقت، ومعالجة خطوط الأنابيب على مراحل متعددة، وبالتالي تحقيق قدرات إنتاجية البيانات التي تتجاوز بكثير تلك الخاصة بعرض البرامج الخالصة.
بمساعدة الأدوات الحديثة مثل SpinalHDL وتصميم مستوى نقل التسجيل (RTL)، قام Le Brun "بتشفير" مفاهيم Voodoo المعمارية في تنفيذ FPGA دون فقدان التفاصيل. أطلق على هذا المشروع اسم "SpinalVoodoo" وجعله مفتوح المصدر على GitHub. حاليًا، لم يكتمل سوى جزء صغير من وظائف شريحة Voodoo الأصلية.

على الرغم من أن المشروع قد أثار ضجة كبيرة بين مجتمع المتحمسين للأجهزة القديمة، إلا أن Le Brun لم يُظهر بعد اهتمامًا بإطلاق وبيع أجهزة FPGA الجاهزة للاستخدام في SpinalVoodoo. بالنسبة لمحبي 3dfx واللاعبين القدامى، لا يزال هذا التنفيذ مفتوح المصدر يوفر مسارًا جديدًا جذابًا لمشاريع الأجهزة المستقبلية أو بطاقات DIY أو حلول التعديل.
يتعلم أكثر:
https://noquiche.fyi/voodoo