IBM MCGA Gate Array الهندسة العكسية
إن MCGA (مصفوفة الرسومات متعددة الألوان) من IBM عبارة عن مجموعة شرائح فيديو منخفضة التكلفة تم تقديمها مع طرازي PS/2 25 و30. يستخدم Epson Equity 1e فيديو متوافق مع MCGA ولكنه لا يستخدم نفس الرقائق. تتكون مجموعة شرائح IBM من مصفوفة بوابة وحدة التحكم في الذاكرة ومصفوفة بوابة منسق الفيديو. تم تصنيع بعض الأمثلة على ذلك باستخدام عملية مصفوفة بوابة داخلية لشركة IBM، بينما استخدم البعض الآخر جزء مصفوفة بوابة خارجية بواسطة Seiko. مصفوفة بوابة وحدة التحكم بالذاكرة (72X8300) تحتوي مصفوفة البوابة هذه على تطبيق لمولد المزامنة MC6845 IC، وتدير واجهة ذاكرة الوصول العشوائي للفيديو إلى ناقل ISA، وتدير واجهة ذاكرة الوصول العشوائي للأحرف، وبعض الوظائف المتنوعة الأخرى بما في ذلك اختيار الساعة وقراءة معرف الشاشة. تم تنفيذ المثال الذي قمت بتصميمه عكسيًا باستخدام مصفوفة بوابة Seiko SLA6430. تحتوي على 4342 خلية أساسية (BCs) تحتوي كل منها على 4 ترانزستورات. يتم ترتيب BCs في 167 صفًا و 26 عمودًا. هذه عملية 2um CMOS مع طبقتين معدنيتين. الصورة مأخوذة من 72×8300-sla6430j ويمكن العثور على المخطط والتخطيط الهندسي العكسي في الدليل الفرعي mcga72x8300flat. مصفوفة بوابة منسق الفيديو (72X8205) تقوم مصفوفة بوابة المنسق بفك تشفير ذاكرة ISA وعناوين منفذ الإدخال والإخراج، وإدارة واجهة RAMDAC، وإنشاء بيانات البكسل في كل من وضعي الرسومات والنص. هناك صورتان لهذا IC. يبدو أن الأول، 72×8205-gl14105fs، موجود في عملية صفيف بوابة IBM الداخلية. ولسوء الحظ، أثناء عملية فك الغطاء، تمت إزالة الطبقة المعدنية العلوية، لذلك لا يمكن استخراج قائمة الشبكة. أما الثاني، 72×8205-sla6330j، فقد تمت هندسته بشكل عكسي: راجع الدليل الفرعي mcga72x8205flat. إنها مجموعة بوابة Seiko SLA6330. تحتوي على 3312 خلية أساسية تحتوي كل منها على 4 ترانزستورات. يتم ترتيب BCs في 144 صفًا و 23 عمودًا. 72×8300 (صفيف بوابة وحدة التحكم بالذاكرة) ملاحظات بناءً على جهود الهندسة العكسية، تم اكتشاف معلومات جديدة حول MCGA. يمكن لـ MCGA ربط إشارات HSYNC وVSYNC الخارجية. يتم إخراج هذه الإشارات إلى موصل الفيديو: الطرف 12 (ID1) هو VSYNC والطرف 11 (ID0) هو HSYNC. لتمكين هذا الوضع، اكتب 1 إلى بت 3 من السجل 0x12 (واجهة مولد الأحرف وقطبية المزامنة، أو إحساس العرض). في الدليل المرجعي الفني لطراز PS/2 30، تم إدراج هذا البت كـ “محجوز = 0”. من المفترض أن وضع genlock هذا يتطلب ساعة PLL خارجية متصلة بإدخال الساعة 25 ميجا هرتز أو 14 ميجا هرتز. تسجيل 0x10 (التحكم في الوضع) البت 3، “التوافق”، يؤثر فقط على أوضاع النص 80×25. يؤدي إلى ضرب سجلات التوقيت الأفقية بـ 2 (وزيادتها بواحد، في حالة 0x00، الإجمالي الأفقي، وطرحها بواحد، في حالة 0x02، بدء المزامنة الأفقية). تسجيل 0x10 (التحكم في الوضع) البتة 2، “الساعة = 1″، يتحكم في الساعة التي تقوم بتشغيل دوائر الفيديو. في الحالة الافتراضية، تستخدم معظم دوائر الفيديو تردد الساعة 25.175 ميجاهرتز. يمكنك ضبط تردد الساعة على دخل 14.318 ميجاهرتز عن طريق تغيير هذه البتة إلى 0. تسجيل 0x10 (التحكم في الوضع) البتة 6، “محجوز = 0″، لم يتم فهمه بالكامل بعد. السجل 0x20 (محجوز) هو سجل وضع اختبار التصنيع. وظيفة البت 7 وضع الساعة البديل 14.318 ميجاهرتز (غير معروف) 6 الوضع البديل VCK pin (عادةً ما ينتقل VCKIN فقط إلى VCK) 5 وضع التسريع: غير معروف 4 وضع التسريع: عداد مرتفع لموضع المؤشر 3 وضع التسريع: موضع المؤشر منخفض/عداد شار 2 وضع التسريع: عداد الضبط الإجمالي العمودي 1 وضع التسريع: عداد عمودي 0 وضع التسريع: عداد أفقي تقوم أوضاع تسريع العداد بشكل أساسي بإدخال إشارة ساعة في الجزء العلوي أربع بتات من كل عداد بالإضافة إلى البتات الأربع السفلية، لذلك ينفد العداد بشكل أسرع. هذه أداة مساعدة لاختبار المصنع في جهاز اختبار الرقائق. 72×8205 (صفيف بوابة منسق الفيديو) ملاحظات يحتوي سجل الوضع الموسع، 0x1A، على بتتين غير موثقتين: وظيفة البت 1 غير معروفة، قد تفرض وضع 256 لونًا حتى مع الدقة الأخرى. 0 غير معروف، قد يفرض لون الحدود على الشاشة بأكملها. تتوفر سجلات اختبار تصنيع إضافية عن طريق الوصول إلى المواقع التالية: سجل 0x19 – عنوان سجل التصنيع سجل 0x18 – بيانات سجل التصنيع للوصول إلى سجل اختبار تصنيع معين، قم بتحميل عنوان في السجل 0x19 واقرأ المحتويات أو اكتبها في 0x18. سجلات اختبار التصنيع هي: سجل العناوين 0 غير مطبق 1 للقراءة فقط. يحتوي على أحدث محتويات البيانات التي يتم إرسالها إلى RAMDAC (دبابيس P(7:0)). 2 القراءة فقط. يحتوي على أحدث محتويات البيانات التي يتم تلقيها من VRAM (دبابيس CP(7:0)). 3 القراءة فقط. يحتوي على بيانات وضع 16 لونًا غير معروفة من منطق التنسيق. 4 اكتب التسجيل فقط، انظر أدناه للتشغيل. يقوم سجل الكتابة فقط في العنوان 4 بتنفيذ البتتين التاليتين فقط: وظيفة البت 0 تصنيع إعادة التعيين الثابت المكافئ لدبوس إعادة التعيين. اكتب “1” لإعادة ضبط الجهاز، واكتب “0” لإخراجه من إعادة التعيين. 1 اكتب “1” لتعطيل عدد كبير من المخرجات، بما في ذلك تلك التي تذهب إلى RAMDAC. معلومات عملية الهندسة العكسية تم تغيير حجم الصورة مقاس 72×8300 من 21808×21778 إلى 10904×10889. تم ضبط ملف jpg الناتج على ضغط بنسبة 85% لتوفير المساحة، وتم ضبطه على 48 نقطة في البوصة، وتم استيراده إلى KiCAD بعامل مقياس قدره 0.103170. ينتج عن هذا تباعد BC-to-BC بمقدار “3 مم” في وحدات KiCAD. تم إنشاء آثار أقدام المكتبة لكل نوع من أنواع الخلايا الأساسية حيث تم تحديدها وربطها بالرموز التخطيطية. تم وضع جميع الوسادات في المنتصف بحيث يمكن تدوير البصمة، نظرًا لأن العديد من BCs الموجودة في الأصل تم عكسها. تستخدم مصفوفة البوابة طبقتين من المعدن، وقد يكون من الصعب فهم الروابط بين الطبقات. بشكل عام، لا يوجد سوى عدد قليل من الاتصالات المسموح بها: المعدن 1 إلى المعدن 2 المعدن 2 إلى البولي سيليكون (البوابة) المعدن 2 للانتشار يحتوي كل عمود على سلكين متوازيين على المعدن 2 يحملان VCC (على اليمين) وGND (على اليسار). ولذلك، فإن الترانزستورين الأيسرين في كل BC هما NMOS والترانزستوران الأيمنان هما PMOS. في BC، يتشارك ترانزستوران في بوابة واحدة، ولكل بوابة ثلاث منصات متصلة. يمكن لجهات الاتصال توصيل VCC أو GND بمناطق الانتشار على اتصال القناة المشتركة بين ترانزستورين، أو اتصال القناة المعزولة على ترانزستور واحد أو الآخر أو كليهما. عادةً ما يتم توصيل الإشارات الخارجية التي تدخل أو تخرج من البوابة المنطقية باستخدام آثار أفقية تعبر الخلية بأكملها على المعدن 1. عادةً ما تتم الأسلاك الداخلية للبوابة المنطقية على المعدن 2. إلى جانب الأسلاك المتوازية الرأسية على المعدن 2 التي تحمل الطاقة والأرض، هناك مجموعة أخرى من الأسلاك الأفقية (على المعدن 1) التي تحمل أيضًا الطاقة والأرض. لا يحتوي تخطيطي ذو الهندسة العكسية على آثار موضوعة أعلى هذه الخطوط لأنها ليست خطوط إشارة. تم وضع الآثار بدءًا من لوحة البصمة، متتبعة المعدن الأساسي، وربطها بجميع الوسادات المتصلة الأخرى، مع إعطاء اسم شبكي، ثم نشرها مرة أخرى إلى المخطط (عكس عملية KiCAD المعتادة). فكر في إنشاء Verilog من قائمة KiCAD netlist
تم النشر: 2026-06-27 06:17:00
مصدر: github.com








