الرئيسيةس .و .جبحـثالتسجيلدخول

شاطر | 
 

 الدارات عالية السعة و القابلة للبرمجة FPGA

اذهب الى الأسفل 
كاتب الموضوعرسالة
ALI15
عضو مميز
عضو مميز
avatar

رقم العضوية : 321
الحمل
عدد الرسائل : 133
العمر : 23
نقاط : 168
تاريخ التسجيل : 22/02/2010

مُساهمةموضوع: الدارات عالية السعة و القابلة للبرمجة FPGA   الأحد 28 فبراير 2010 - 6:31

نبذه :</SPAN>
فى هذا المقال سأحاول شرح بناء العناصر عالية السعة و القابلة للبرمجة high-capacity field-programmable devices أو كما تعرف إختصارا بالFPDs.

وسأبدأ بتعريف أنواع هذه العناصر من أنواع بسيطة SPLDs إلى أنواع معقدة CPLDs حتىالوصول للFPGA.
ثم سأتناول تطورها موضحا تفاصيل البناء الداخلى لمعظم الرقاقات المتاحة فى الأسواق مع إعطاء أمثلة لتطبيقات كل نوع.

مقدمة للعناصر عالية السعة و القابلة للبرمجة FPDs :</SPAN>

إن عملية تصميم الدارات الرقمية تغيرت على نحو مثير فى السنوات الأخيرة حيث كنا نعمل بمستوى التصميم على اللوحات boards مما لم يتناسب مع إحتياجات التطور كالحاجة لبناء دوائر أكثر تعقيدا وتحتوى على الملايين من البوابات مثل بناء معالج أو شريحة ذاكرة وكان علينا العمل لإبتكار مستوى جديد من التصميم يستوعب كل هذا الكم الهائل من البوابات ويكون رخيص الثمن عالى الكفاءة.

وكان هذا المستوى الجديد وهو FPDs بمميزاته التى منها سهولة التطوير وإنخفاض تكاليف البدأ فى تصنيعه وانخفاض المخاطرة المالية .

تعريفات متعلقة بالموضوع :

1- Field-Programmable Device
وتعرف إختصارا ب FPD وهو مصطلح يطلق على أى نوع من الدارات التكاملية التى تستخدم لبناء معدات رقمية و يمكن تشكيل وظائفها من قبل المستخدم لتحقيق تصميمات مختلفة.
وبرمجة هذه الشرائح تتم بوضع الشريحة فى وحدة برمجة خاصة (فى حين أن هناك أنواع يمكن برمجتها دون وحدة البرمجة الخاصة ).
ويطلق أيضا على الFPD أسم Programmable logic devices أو أختصارا ب PLD


2- Programmable Logic Array
وتعرف إختصارا ب PLA وهى شرائع FPD مصغرة وتحتوى فقط على نوعين من المكونات الأساسية التى يتم برمجتها وهما (بوابات AND و بوابات OR)

3- SPLD
وهى عبارة عن PLS بسيطة Simple التركيب.

4- CPLD
وهو وحدات PLD معقدة Complex حيث تتكون من قوالب متعددة من ال SPLD موصلين فى شريحة واحدة .
وأحيانا يطلق عليها EPLD حيث E أختصارا لكلمة Enhanced وتعنى المحسنة.
ويطلق عليها أيضا Super PAL و Mega PAL وأسماء أخرى كثيرة.

5- FPGA
وهى إختصار لمصطلح Field-Programmable GAte Array وهى FPD مصنعة بشكل يسمح بإحتواء أكبر عدد من الوحدات المنطقية وهى ذات إمكانيات أكبر بكثير من ال CPLDs

6- HCPLDs
أختصار ل high-capacity PLDs ويطلق على كلا من ال CPLDs والFPGAs .

7- Programmable Switch
(المفتاح المبرمج) ويمثل طريقة ما لوصل العناصر المنطقية داخل الشرائح لتكوين الدارة المبرمجة من قبل المستخدم.

8- Logic Block
(القوالب المنطقية) وهى مجموعة من الدارات تنسخ فى شكل مصفوفات داخل شريحة ال FPD.

9- Logic Capacity
وهى كمية العناصر (البوابات) المنطقية الموجودة فى شريحة FPD واحدة وفى بعض الأحيان تحسب ببوابات ال NAND</SPAN> ذات الدخلين “number of 2-input NAND gates”.

10- Logic Density
وهو عدد العناصر المنطقية فى وحدة المساحة داخل ال FPD.

11- Speed-Performance
تقيس السرعة القصوى التى تعمل بها الدارة التى كونت فى الFPD وويعبر عنها أيضا بأطول زمن يمكن أن تأخذه الإشارة داخل الشريحة خلال مرورها بأى مسار فى الشريحة.
وأحيانا تقاس بأكبرتردد لإشارة المذبذب(المؤقت) الذى يمكن أن تعمل عليه الشريحة بكفاءة.

تطور الدرات الرقمية القابلة للبرمجة لتكوين دارات رقمية :


أول نوع من تلك الدارات القابلة للبرمجة والتى يمكنها تمثيل دارات رقمية (العمل كدارات رقمية لها وظائف تعتمد على البرنامج المخزن فيها) كانت الذواكر القابلة للقراءة فقط Read only memory أو كما تعرف إختصارا بالPROM . حيث يمكن أن تمثل خطوط العناوين Address Lines كمداخل للدارة الرقمية وتمثل خطوط البيانات Data Lines كمخارج للدارة.
ولكن الPROM كانت إمكانياتها محدودة لمساعدتنا لتمثيل الدوال المنطقية للدارات المراد تنفيذها بها مما أدى لعدم كفائتها فى الإستخدام لغرض العمل كدوائر رقمية مبرمجة الوظيفة.

وبعد ذلك ظهرت دارات المصفوفات المنطقية القابلة للبرمجة Field-Programmable Logic Array أو كما تعرف إختصارا FPLA أو PLA للسهولة .
وهى مكونة من مستويين للبوابات الرقمية وهما مستوى بوابات AND القابل للبرمجة متبوعا بمستوى OR القابل للبرمجة بحيث يمكن لمستوى بوابات AND التشكل لإنتاج حاصل ضرب أى عدد من إشارات الدخل المنطقية . وبالمثل فى حالة مستوى الOR حيث يكون خرجه هو حاصل جمع (منطقى) لأى عدد من الإشارات المنطقية الداخلة إليه.

وبهذه الطريقة يكون الPLA قادرا على تمثيل أى دارة رقمية (منطقية) مكونة من البوابات الرئيسية AND , OR

وقد ظهر الPLA فى بدايات السبعينيات بواسطة شركة فيلبس Philips وكان من أهم عيوبه هو إرتفاع تكلفة تصنيعه وعدم قدرته على العمل بسرعات عالية. وكلا العيبين ناتجين عن وجود مستويى الAND , OR وذلك لصعوبة تصنيع هذه الكمية من البوابات مع التحكم فى زمن التأخير Delay خلالها.
ولمعالجة هذه العيوب ظهرت ال Programmable Array Logic Devices أو PAL وهى دارات تحتوى على مستوى واحد وقابل للبرمجة وهو مستوى الAND ويربط فى خرجه بوابات OR غير قابلة للبرمجة. </SPAN>


وأنتجت الPALs بأعداد مختلفة من المداخل والمخارج وأحجام مختلفة من بوابات OR وضمت فى الغالب قلابات flip-flops متصلة بمخارج بوابات الOR مما سهل تمثيل الدارات بها.
ولقد أثرت الPALs بحق على تصميم العتاد الرقمى . وأصبحت كل المنتجات المصنعة باستخدام تقنيات الPAL مسماه إختصارا بالSPLDs وهى تشتهر برخص ثمنها وسرعتها العالية
very high pin-to-pin speed-performance

وتمثلت الصعوبة فى بناء الSPLDa فى الزيادة الغير خطية لحجم المستويات المنطقية بالنسبة للزيادة فى عدد المداخل . ولكن لأن التقنية لا تتوقف فإنه أصبح من الممكن بناء دارة متكاملة واحدة تحتوى العديد من وحدات الSPLDs مع دعم القدرة على برمجة الوصلات بينها .
وبذلك تكونت عناصر جديدة أكثر تعقيدا Complex أطلق عليها CPLDs .

وبدأ تطوير الCPLDs بواسطة شركة Altra فى شكل عائلة تعرف ب Classic EPLDs ثم توالت السلالات سريعا بأسماء مثل MAX5000 , MAX7000 , MAX9000 ثم تجرأت بعض الشركات الأخرى للدخول فى سوق الإنتاج لهذه القطع.

وللعلم فإن الCPLDs دعمت أستيعاب Capacity يساوى 50 مرة مما كانت تستوعبه الSPLDs ولكن كان من الصعب التوسع فى بنائها أكثر من ذلك بسبب كثافة مكوناتها العالية وكان يجب أن تبتكر تقنية جديدة.

وأعلى الدارات المتكاملة إستيعابا الأن يطلق عليها Mask-Programmable Gate Arrays أو MPGAs وهى تحتوى على مصفوفة من الترانزستورات بحيث يمكن تعديل الوصلات بينها بواسطة المستخدم ولكن ذلك التعديل يحدث أثناء عملية الصناعة أى أن المستخدم عليه أن يطلب تنفيذ تصميمه من الششركة المصنعة وهذا بالطبع يتكلف كثيرا من الوقت والمال.
ولكن الMPGAs لا تتبع عائلة الFPDs ولكنى ذكرتها هنا لأنها أحد العناصر القابلة للبرمجة.

وهنا نأتى لتقنية الFPGA أو Field-Programmable Gate Arrays وهى تشبه إلى حد كبير الMPGAs وهى تتضمن مصفوفة من عناصر الدارات المختلفة تعرف كل منها ب Logic block وتتميز عن الMPGAs بأن المستخدم الأخير يمكنه برمجتها بنفسه وارتفع فيها عدد البوابات المكافئة (NAND) إلى 40000 ويزيد - أنظر الشكل المرفق .
</SPAN>


تقنيات المفاتيح القابلة للبرمجة :

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

ففى الCPLDs و SPLDs طبقت تقنية الترانزستورات المعتمدة على EEPROM أو EPROM (وهى ترانزستورات بها وحدات تخزين للحفاظ على حالتها من حيث الفتح والغلق ) كما هو موضح بالشكل التالى . </SPAN>


أما الFPGA فيستخدم تقنية المفاتيح التى تتحكم فيها ذواكر SRAM (ذواكر الSRAM تتحكم فى بوابة الترانزستور أو تختار أحد أطراف الmultiplexers لإختيار المجوعة المنطقية المراد التحكم فيها )
</SPAN>

نوع أخر من التقنيات المفتاحية والذى يستخدم فى الFPGA هى تقنية Antifuse ويكون المفتاح المصمم بهذه التقنية مفتوح طبيعيا Normally-Opened ويتم قفله عند البرمجة.
ومفاتيح الAntifuse مناسبة جدا للFPGA لأنها يمكن بنائها بواسطة تقنية الCMOS وكمثال عليها إليكم الشكل التالى والذى يمثل بناء المفتاح Antifuse والمصمم بواسطة شركة Actel ويطلق عليه PLICE[</SPAN>

</SPAN>
حيث نرى المفتاح من نوع Antifuse موضوع بين سلكين ويتكون من ثلاث طبقات . الطبقتين العليا والسفلى عبارة عن مادتين موصلتين أما الطبقة المتوسطة فهى عازلة. وعند برمجة هذا المفتاح تتحول مقاومة الطبقة العازلة من قيمتها الكبيرة إلى قيمة صغيرة. </SPAN>
التصميم بمساعدة الحاسب CAD</SPAN> للوحدات القابلة للبرمجة FPDs :</SPAN>
عند تصميم دارات تحتوى على وحدات قابلة للبرمجة يكون من المهم تطوير برامج خاصة لتستخدم فى برمجة هذه الوحدات ويوضح الشكل التالى مخطط التدفق لعملية برمجة هذه الوحدات.

حيث يتم إدخال البرنامج إما بصورة نصية عن طريق أحد لغات البرمجة الخاصة ( مثل H</SPAN>ardware D</SPAN>e--SS--ion L</SPAN>anguage والتى تعرف إختصارا ب HDL</SPAN> ) أو بصورة رسومية . ثم يتم تنفيذ بعض العمليات على ذلك البرنامج لتحويله إلى صورة مناسبة (صورة منطقية) . ثم تتم عملية محاكاة Simulation لعمل الدارة بعد تطبيق البرنامج عليها لمعرفة ما إذا كان هناك خطأ أو تعديل مطلوب فى البرنامج . وإذا كان هناك خطأ يتم الرجوع لمرحلة كتابة البرنامج (تغذية عكسية) أما إذا كان البرنامج صحيحا فيحمل فى وحدة برمجة خاصة تثبت عليها الدارة التكاملية المطلوب برمجتها.
وبالطبع كلما زاد تعقيد الدارة المتكاملة كلما أحتجنا إلى برامج أكثر تخصصا ومراحل متعددة وقد تأخذ عملية البرمجة وقتا أطولا (عدة ساعات مثلا).
الرجوع الى أعلى الصفحة اذهب الى الأسفل
زائر
زائر



مُساهمةموضوع: رد: الدارات عالية السعة و القابلة للبرمجة FPGA   الأحد 28 فبراير 2010 - 11:17

الرجوع الى أعلى الصفحة اذهب الى الأسفل
لهيب الشوق
شخصيات هامه
avatar

رقم العضوية : 125
الثور
عدد الرسائل : 985
العمر : 30
نقاط : 1260
تاريخ التسجيل : 09/07/2009

مُساهمةموضوع: رد: الدارات عالية السعة و القابلة للبرمجة FPGA   الثلاثاء 2 مارس 2010 - 2:58

الله يعطيك الف الف الف عافية ع المجهود الرائع

****________++++++mourad39++++++_________****


الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://www.chat-aldoha.com/vb/index.php
زائر
زائر



مُساهمةموضوع: رد: الدارات عالية السعة و القابلة للبرمجة FPGA   الخميس 4 مارس 2010 - 11:43

الله يعطيك العافية
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
الدارات عالية السعة و القابلة للبرمجة FPGA
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
mourad_39 :: *~`¤-المنتديات التقنية والعلمية -¤`~* :: *~`¤-قسم العلوم-¤`~*-
انتقل الى: