المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تقنيه الfpga


Eng Kasper
17-12-2007, 06:23 PM
FPGA



ماهي تقنية الFPGA

وماذا تعني؟
وما استخداماتها؟
وكيف تخدم هذه التقنية علم الالكترونيات؟
وكيف يمكنني الحصول عليها؟
كل هذه أسئلة بحاجة الى اجابة ومن لديه أي اضافات فلا يبخل علينا
ولنبدأ في الابحار في بحر الالكترونيات



اجابة السؤال الاول : ماهي تقنية الـFPGA وماذا تعني؟


كلمة FPGA هي اختصار لجملة Field Programmable Gate Arrays وهي تعني مصفوفات البوابات المنطقية القابلة للبرمجة ، وهي عبارة عن دوائر متكاملة تتكون من صفوف من البوابات المنطقية كل بوابة يمكن التحكم في نوعها وتحويلها من نوع الى أخر مثلا من AND الى NAND ومن NOR الى NOTالى أخره ويمكن أيضا التحكم في توصيل كل بوابة بالبوابات الاخرى فيمكن عمل التوصيل الذي نريده ويمكن بذلك تحويل الدائرة المتكاملة من نوع الى أخر عن طريق البرنامج الخاص ببرمجتها.


أما فيم تستخدم :
فهي يمكن أن تستخدم في أي شئ وكل شئ وخاصة الاجهزة الالكترونية التي تحتاج الى تغيير دوائرها باستمرار وبينما كان ذلك صعبا في الماضي فانه الان يمكن أن يحدث بمجرد انزال برنامج جديد يغير من تركيب الدائرة.


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

وأحب هنا أن أنقل ملخصا لما نشر عن هذا الموضوع فى مجلة العلوم الأمريكية فى المجلد 15 العددان 6،7 يونيو/يوليو 1999 صفحة 32 وهذه المجلة هى ترجمة لمجلة (scintific american) تصدر عن مؤسسة الكويت للتقدم العلمى .
فقد نشر فى هذا العدد موضوع بعنوان " الحوسبة التشكلية (المطاوعة)" "configurable computing" ، وسنحاول تلخيص الموضوع وتبسيطه فى السطور التالية لنقربه الى الاذهان .


( فى طريقهم لايجاد التوازن الملائم بين سرعة المعالجات وتعدد الاستعمالات يواجه مصممى الحاسوب تحد مستمر ، فهم قادرون على بناء معالجات متعددة الاستعمالات يمكنها أن تقوم بوظائف متنوعة لكن ببطئ نسبى .وفى المقابل فإنهم قادرون على ابتكار معالجات سريعة جدا لكن تقوم بمهمة محددة .
ولنعطى مثالا للتوضيح . فمثلا معالجات بنتيوم intel pentium الموجودة حاليا فى الحواسيب الشخصية هى معالجات ذات استخدامات عامة ، فهو لم يكن مصمما خصيصا لتشغيل ميكروسوفت وورد microsoft word أولعبة كوماندوز comandos الا أنه يستطيع تشغيل كلا التطبيقين .
وبالمقابل فإن الدوائر المصممة لمهام محددة ( الغير قابلة للبرمجة) والمعروف باسم (الدوائر المتكاملة المحددة التطبيقات) (application-specific integrated circuits ( ASIC
تؤمن بدقة الأداء الوظيفى اللازم لمهمة معينة فقط وبسرعة عالية جدا.
فيستطيع مصممو الحاسبات إنتاج معالجات أصغرحجما وأقل تكلفة واكثر سرعة وتستهلك طاقة أقل من المعالجات القابلة للبرمجة ، فمعالج رسومات graphics من نوع VGA يستطيع
أن يرسم خطوطا أو يلون صورا على الشاشة اسرع من معالج وحدة معالجة مركزية عامة الاستخدام بعشرة أضعاف أو مائة ضعف .
ولكن الان ثمة تطور جديد فى الدوائر المتكاملة يقدم خيارا ثالثا ، وهى صفيفات بوابات منطقية قابلة للبرمجة FPGAs Field-Programmable Gate Arrays .وهى دوائر الكترونية عالية الكفاءة يمكن تعديلها فى أى مرحلة أثناء التشغيل . وتتكون الدوائر هذه من صفوف من الوحدات المنطقية القابلة للتشكل configurable ، والقادرة على تنفيذ الوظائف المنطقية للبوابات مثل AND , NAND , NOR, OR, XOR . إن الوظائف المنطقية للبوابات فى معظم المكونات المستخدمة فى الحواسيب الان ثابتة ولايمكن تغييرها ، اما فى صفيفات البوابات القابلة للبرمجة FPGA فان كلا من الوظائف المنطقية والتوصيلات مابين هذه الوحدات يمكن تغييرها، وذلك بارسال بعض الاشارات الى الشريحة الالكترونية .
تركيب الFPGA:
تتكون من عدد كبيرجدا من الوحدات المنطقية القابلة للتشكيل ، ومن شبكة توصيلات قابلة للبرمجة يمكن ان تربط هذه الوحدات بأى نمط يختاره المصمم.وهناك نوعان من دوائر الFPGA
1-الدوائر "الخشنة الحبيبات " coarse-grained :
وهى تتكون من عدد قليل من الوحدات المنطقية الكبيرة والقوية ، فكل وحدة تعتبر دائرة مكونة من عدة بوابات منطقية ، ويمكن لكل عنصر أن يكون قادرا على جمع أو مقارنة عددين كاملين.
2-الدوائر "الناعمة الحبيبات" fine-grained:
وهى تتكون من عدد كبير من الوحدات المنطقية البسيطة يكون كل عنصر قادرا فقط على مقارنة رقمين ثنائيين أى يمكن اعتباره فعلا بوابة منطقية واحدة.


إستخدامات FPGA:
1-البث الفيديوى :
تم بناء نظام بث فيديوى من دائرة متكاملة واحدة قادرة على اعادة تشكيل نفسها أربع مرات لكل صورة frame فيديوية واحدة ، لذا فإنها تتطلب فقط ربع الدوائر التى يمكن أن نحتاج اليها لبناء مثل هذا لنظام بدوائر الASIC . فأولا تقوم الدائرة FPGA يتخزين الاشارة الفيديوية فى الذاكرة ثم تقوم بتحويلين مختلفين لمعالجة الصورة ، وفى النهاية تحول الى موديم لارسال الاشارة الى المرحلة التالية .
2-التعرف على الصور :
يمكن لشريحة FPGA الخاصة بالتعرف على الصور وأن تهيئ نفسها بمجرد رؤية الشئ الذى تنظر اليه ، فإذاكانت الصورة تحتوى على سيارة أوشاحنة ،فإن أجزاء الدائرة المصممة أصلا لتتبع الطائرات السريعة أو الاشخاص البطيئى الحركة ، يمكن أن تعيد تشكيل نفسها بحيث تركز بدلا من ذلك على الاليات البرية .
ويوجد العديد من التطبيقات الاخرى مثل مقارنة الخطوط والتعرف على الاشخاص والاشياء المحيطة وتشفير الرسائل والتشفير المعقد جدا وتعرف الاهداف الحربية والاتصالات بالغة التعقيد.الخ


مستقبل الحوسبة التشكلية FPGA:

تبشر دوائر الFPGA بتطبيقات واعدة فى المستقبل ستجعلك ليس فقط تتحكم فى البرامج soft ware ولكنك أيضا سوف تتحكم فى شكل ووظيفة المكونات الصلبة hard ware وذلك بتحميل البرنامج الخاص بالتطبيق الذى تريده ، فكما تقوم اليوم بتحميل برامج من شبكة الانترنت ، فإن أجهزة المستقبل يمكنها تحميل تشكيلات جديدة للدوائر كلما استدعى الامر ذلك)

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

وللحديث بقيه ان شاء الله......
منقول

elsayed abd elall
17-12-2007, 06:26 PM
الله عليك ياكاسبر باشا تسلم اديدك يابنى والله

Eng Kasper
18-12-2007, 12:00 PM
بسم الله الرحمن الرحيم

سابدا حديثى بمثال توضيحى
فمثلا لو أن لدينا أربع بوابات NAND موصلين لكي تكون دائرتهم النطاط FILP_FLOP (انظر الصورة1)،ونريد أن نحوله إلى بوابة AND ذات أربع مداخل فتحدث الخطوات التالية

http://ahmedarblog.jeeran.com/1.gif
يتم أولا إعطاء أمر للبرنامج الخاص بالـ FPGA بفصل كل البوابات عن بعضها .
انظر الصورة2
http://ahmedarblog.jeeran.com/2.gif
ثم يعطى امر بتحويل جميع البوابات من NAND إلى AND.
انظر الصورة3
http://ahmedarblog.jeeran.com/3.gif
ثم يعطى امر بتوصيل خرجي بوابتين بدخلي بوابة أخرى وإهمال البوابة الرابعة
الصورة 4
http://ahmedarblog.jeeran.com/4.gif
وهكذا تتحول من دائرة إلى أخرى بأوامر يتم اعطائها بلغة برمجة خاصة تسمىVHDL سنتعرض لها لا حقا ان شاء الله
ــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــ ـــــــــ

وهذا مثال لfpga

CPLD
طريقك الى تصميم الدوائر المتكاملة الخاصة بك
من نوع LSI (Large Scale Integration)




http://hobby_elec.piclist.com/picture/cpld1.jpg
ما هو CPLD؟
CPLDاختصار(Complex Programmable Logic Device) ومعناها (الدوائر المتكاملة المنطقية المعقدة القابلة للبرمجة).


http://hobby_elec.piclist.com/picture/cpld1_1.jpghttp://hobby_elec.piclist.com/picture/cpld1_2.jpg

الدوائر المتكاملة من نوع CPLD هي نوع مصغر من FPGA وهي تحتوي على عدد أقل من البوابات المنطقية وهي متوفرة في الاسواق وبسعر أقل ويمكنك استخدامها بسهولة وأقل تعقيدا ويمكنك عن طريقها عمل العديد من الدوائر المتكاملة المنطقية في ICواحد فقط.
مثال : على سبيل المثال في حالة الدائرة المتكاملة رقم7400 والتي تحتوي على أربع بوابات منطقية من نوع NAND ، والدائرة المتكاملة من نوع 7404والتي تحتوي على ستة بوابات من نوع NOT
وكل منهما دائرة متكاملة منفصلة ، فاذا اردنا توصيلهما ببعضهما البعض فاننا نحتاج الى توصيلهما على لوحة مطبوعة بتوصيلات خارجية.
أما في حالة الCPLD فاننا نوصل بين البوابات داخل الدائرة المتكاملة عن طريق برنامج خاص وبذلك تقل كثيرا التوصيلات الخارجية في اللوحة المصبوعة ، انظر الشكل التالي:

http://hobby_elec.piclist.com/gif/cpld1_1e.gif

وطبعا نحن هنا قدمنا مثالا بسيطا لدائرتين متكاملتين فقط ، ولكن في الواقع فان هذه التقنية تحل محل عشرات وربما مئات الدوائر المتكاملة ، وذلك نظرا لاحتوائها على عدد كبير من البوابات المنطقية تصل الى مئات أو ألاف وبها عدد كبير من أطراف الدخل والخرج ، ولكن بالطبع تقف عند حدود معينة حسب عدد البوابات والاطراف.
في تدريبنا هذا سندرس الشرائح من عائلة XC9500 والتي تنتجها شركة XILINIX زيلينيكس وهي عائلة مغلفة في شكل PLCC وهي تعني(Plastic Leaded Chip Carrier)ومعناها بالعربية الشريحة المغلفة بالبلاستيك المدعم بالرصاص .
وفي الجدول التالي سوف نعرض بعض أنواع العائلة XC9500


http://www.electvillage.com/up06/up/untitled.GIF
PLCC : الشريحة المغلفة بالبلاستيك المدعم بالرصاص Plastic Leaded Chip Carrier
FB: وهي تعني عدد الوظائف التي يمكن أن تقوم بها Function Block فمثلا عندما يكتب 2FB غان ذلك يعني أنه يمكن القيام بوظيفتين في نفس الوقت.
Gates: تعني عدد البوابات الموجودة في الشريحة.
Macrocells: الماكرو هو وحدة متكاملة يمكن ان تقوم بعملية منطقية كاملة مثل الجامع الكامل full adder أو المسجلات registers.
Pin:عدد الاطراف.


http://www.electvillage.com/up06/up/xillinix.JPG
مثلها مثل المتحكمات الدقيقة الميكروكنترولر فان الCPLD لها عدد مرات محدود للبرمجة ، وذلك لأن البرنامج يكتب على ذاكرة من نوع فلاش flash memory . وفي حالة العائلة من XC9500 فان عدد مرات الكتابة هي 10000مرة.
وأخيرا من أحد مميزات هذا النوع أنه يمكن اعادة كتابته اثناء وجوده في الدائرة وأثناء عملها ولا يحتاج الى ازالته من الدائرة للبرمجة .
ملحوظة:الدائرة المتكاملة رقم XC9572 التي تحتوي على 1600بوابة و84 طرف متوفرة بالسوق المصري بسعر 75 جنيه مصري(حوالي12.5$ ).

منقول

elsayed abd elall
18-12-2007, 12:18 PM
الله عليك يادسوقى متعنا يابنى ووريهم الفن

AsTrOMiDO
18-12-2007, 03:19 PM
ايوه كدا هو دا الشرح ولا بلاش

shms
01-05-2009, 12:01 AM
مشكور بس يعني الاجهزة الوقتي فيها التقنية دي والا لسة

ابراهيم اسماعيل
16-07-2009, 06:12 PM
انا منتسب جديد و عندى بحث ماجستير فى F P G A و اريد المساعدة مع العلم انى مبتدى في ال F P G A

Eng. Hala
16-07-2009, 06:14 PM
تسلم ياكاسبر وجزاك الله خيرا

Dreamily EnG
15-07-2011, 09:31 PM
جزااااااك الله كل خيييير