الرئيسيةبحث

مصفوفة البوابات المنطقية القابلة للبرمجة

فهرس

مقدمة:

نظرا للتطور الكبير الذي يشهده العالم. أدت الحاجة إلى اختصار أحجام الأجهزة الحاسوبية و المنطقية من معالجات و ذواكر و غيرها ... بالإضافة إلى الحاجة استخدام شريحة واحدة لتقوم بعدة عمليات و مهام تم اختراع ما يسمى FPGA.

هذه الفقرة تعطينا نظرة عامة عن كيف و متى تستخدم الأجهزة المنطقية القابلة للبرمجة.إنها تعطينا تاريخ موجز عن استخدام الأجهزة المنطقية القابلة للبرمجة - كان هناك في البداية رغبة في ان يستطيع المصمم أن يحقق ترابط بين جميع العناصر المنطقية و ذلك في عنصر واحد. فجاءت فكرة استخدام البوابات المنطقية (AND و OR ).

و بتحقيق ترابط معين بين هذه البوابات تم تشكيل بلوك و بتجميع هذه البلوكات تشكل مصفوفة بلوكات تدعى بـ PLD.

و بتطوير الـ PLD بطريقة معينة تم تشكيل FPGA : إن FPGA هي في النهاية شريحة تحتوي على مداخل و مخارج حيث نحدد المداخل و نعطي أمر الخرج فيظهر الخرج. و هذه العملية تتم عن طريق برمجة جهاز الـ FPGA بواسطة لغة برمجة خاصة هي VHDL.

-كما أننا من الممكن على شريحة FPGA واحدة تشكيل عدة دارات أو (أجهزة) فيمكن استخدام FPGA كمعالج أو ذاكرة و Micro Controller بنفس الوقت.

ما هي الـ PLD:

هي عبارة عن مصفوفات من بوابات AND و بوابات OR و هذه المصفوفة هي مصفوفة من البلوكات المنطقية حيث كل بلوك يحتوي مجموعة من هذه البوابات. و بترابط عناصر المصفوفة (البلوكات) مع بعضها البعض يتشكل لدينا ما يسمى بـ PLD بتحقيق ترابط معين بين هذه البلوكات بحيث يتشكل لدينا دارة تحقق التابع المطلوب. ويتم ترابط هذه البلوكات عن طريق فواصم منصهرة Buses حيث تنصهر هذه الفواصم لتحقق الـ interconnect بين هذه البلوكات.

CPLD: دعت الحاجة في برمجة الـ PLD إلى وجود ذاكرة لتحقيق المنطق التتابعي فتم ربط ذاكرة (BIT واحد) مع كل بلوك منطقي و تم ربط هذه الذواكر مع بعضها البعض (أيضا عن طريق الفواصم). و هذه الذاكرة هي باستخدام التغذية العكسية للـ FLIP-FLOP (FeedBack) كما يربط معه دخل نبضات ساعة.


ما هو الـ FPGA:هو Field Programmable Gate Array

هي عبارة عن دارة متكاملة تحتوي على مصفوفة من الخلايا المنطقية المتطابقة مع روابط بينية بين هذه الخلايا القابلة للبرمجة.

يمكن للمستخدم أن يبرمج التوابع المحققة بكل خلية منطقية والروابط بين هذه الخلايا.

- سير العمل في FPGA: استخدام الكمبيوتر لوصف "التابع المنطقي" المطلوب:

إما برسم مخطط الدارة (Schematic) أو بإنشاء ملف نصي يصف التابع (VHDL)

 Compile التابع المنطقي على الكمبيوتر باستخدام برامج مدعمة من قبل المنتج ، هذه البرامج تقوم بإنشاء ملف Binary يتم تحميله على FPGA .  وصل الـ FPGA مع الكمبيوتر بواسطة كبل لتحميل برنامج الـ Software .  الآن الـFPGA جاهز ليعمل وفق التابع المنطقي المطلوب.

الشركات المصنعة للـ FPGA: يوجد على الأقل خمس شركات في العالم تصنع الـ FPGA :  Xilinx: هي أكبر اسم في عالم الـ FPGA .  Altera: هي ثاني أكبر اسم في عالم الـ FPGA.  Latlice,Actel,QuickLogic و بعض الشركات الصغيرة.

FPGA's Pins: هناك نوعان من Pins : 1) Dedicated (تخصصية) أي محجوزة من قبل الشركة المصنعة. 2) User Pins . Dedicates Pins: حوالي 20-30% من الـ Pins للـ FPGA محجوزة لتنفيذ توابع خاصة و تصنف إلى ثلاثة أنواع: 1) Pins للطاقة (أرضي ، تغذية ) 2) Pins للتهيئة (تستخدم لتحميل برنامج الـ Software على الشريحة. 3) Pins مداخل نبضات ساعة . User Pins: هي تصنف إلى Pins تحكم و Pins وظيفية بالنسبة لتوابع معينة.

بنية FPGA:

يتألف من مجموعة من البلوكات المنطقية التي تترابط مع بعضها كما في CPLD ولكن هنا تكون مترابطة بشكل أعقد و الفارق الهام بين CPLD و FPGA هو أن FPGA قابلة للبرمجة أكثر من مرة ، حيث في CPLD كان يتم برمجتها عن طريق صهر الفواصم بين هذه البلوكات وفق طريقة و ترتيب معين ، أما في FPGA فتم استبدال الفواصم بقواطع الكترونية (SWITCHES) و هذه القواطع هي ترانزستورات تترابط مع بعضها و مع البلوكات المنطقية بشكل معقد جدا و بالتالي تشكل مع بعضها أيضا مصفوفة من السويتشات (SWITCHES) وبالتالي أصبحت تدعى البلوكات المنطقية القابلة للتهيئة : CLB Confugrable Logic Block حيث هذه الترانزستورات تصمم بحيث: • تقوم بتطبيقات متعددة. • تقوم بربط البلوكات بين بعضها. • تخصص للعمل بشكل منطقي (0,1) . - بارتباط الذواكر المنطقية و تنظيمها و جدولتها ينتج لدينا ذواكر مثل (SRAM-DRAM) و يتم التعامل معها بشكل نظامي من استجابة و استرجاع بيانات و تخزين و غيرها. يمكن ربط هذه الذواكر مع بعضها و مع أجزاء أخرى من FPGA كالمعالجات كما يمكن ربطها مع الوسط الخارجي .


كيف تتم برمجة FPGA يستخدم نوعين من لغات البرمجة: 1) بواسطة لغة الـ VHDL . 2) بواسطة لغات منخفضة المستوى. إن لغة VHDL لها بعض المشاكل حيث أن برمجة FPGA بطيئة من أجل التصميمات الضخمة المعقدة. سنتوسع فيما بعد لشرح لغة VHDL. ملاحظات: • يمكن برمجة FPGA في أي وقت ، فعند تحميل برنامج Software ظهر لدينا أخطاء يمكن إعادة تحميلها و عمل Re-Compile لها من جديد. • عند "تحميل" (Download) برنامج الـ Software يفقد الـ FPGA وظيفته بانقطاع التيار ، أما عند "برمجة" (Programming) الـ FPGA لا يفقد الـ FPGA وظيفته بانقطاع التيار.

المراجع :