FPGA: كل شيء عن هذه الرقائق وبرمجتها

رقاقة FPGA

الكثير أصبحت FPGAs أكثر وأكثر شعبية في الاوقات الاخيرة. حتى بالنسبة للتطبيقات الاحترافية ، غالبًا ما يتم استخدام هذه الرقائق ، ولكن أيضًا لمصنعي DIY والصناع الذين يرغبون في تنفيذ دائرة منفصلة داخل شريحة مع جميع المزايا التي ينطوي عليها ذلك. ليس من السهل أو الرخيص العثور على مصنع لإرسال التخطيطات أو الأنماط الخاصة بك والحصول على شريحة مخصصة تم تصنيعها من أجلك.

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

ل الحل البديل لذلك هو شراء FPGA وبرمجة كل ما تريد تنفيذه داخل الشريحة ...

ما هو FPGA؟

خلايا قابلة للبرمجة

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

كان روس فريمان وبرنارد فونديرشميت ، مؤسسا Xilinx ، هم من اخترع FPGA في عام 1984. لقد فعلوا ذلك كتطور لرقائق CPLD في ذلك الوقت. تحتوي رقائق CPLD القابلة للبرمجة على بعض أوجه القصور التي حلت تصميمات FPGA الجديدة ومنذ ذلك الحين وهي تتطور حتى الآن.

سوق FPGA مثمر لدرجة أن الشركات تحبه Intel و Xilinx و Altera و Quick Logic و Lattice وما إلى ذلك.، لقد استثمروا الكثير لتطوير FPGAs أفضل وأيضًا بيئات البرمجة المدمجة أو IDEs لهم. وبالتالي توفير منصات جيدة جدًا لتسهيل مهمة المطورين أو الصناع.

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

ما يتم استخدامها ل؟

IDE لبرمجة FPGA

لذلك ، يمكن أن يكون FPGA مشابهًا لـ ASIC لكن ذلك يمكننا أن نختار ماذا سيكون. على سبيل المثال ، يمكننا إنشاء رمز لبرمجته وتحويله إلى وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU) أو أحد الأعمدة أو وحدة التحكم في الذاكرة أو أي دائرة منطقية أخرى مطبقة على شريحة واحدة.

الاحتمالات لا حصر لها. في الواقع ، أوصيك بزيارة الموقع opencores.org، موقع مخصص لتقديم العديد من المشاريع hardware libre. ستجد رموزًا في VHDL وVerligo وما إلى ذلك ذاكرة الوصول العشوائي ، وحدة المعالجة المركزية ، وحدة معالجة الرسومات ، وحدات التحكم ، ALUs ، FPUs ، أجهزة فك التشفير ، وما إلى ذلك..

كيف تتم برمجتها؟

مبرمج لـ FPGA

لبرمجة FPGA ، يمكننا القيام بذلك من نظام التشغيل المفضل لدينا ، مثل GNU / Linux و Windows و MacOS ، على الرغم من وجود المزيد من بيئات التطوير لنظام Windows. بشكل عام ، تقدم نفس الشركات التي تصنع FPGA ملف IDE كاملة جدا للعمل معها وأين تجد جميع الأدوات التي تحتاجها في نفس مجموعة البرامج.

ستحتاج أيضًا إلى رقاقة أو لوحة FPGA والكابل أو المبرمج الضروري التي يمكنك من خلالها توصيل FPGA بجهاز الكمبيوتر الخاص بك لتمرير الشفرة المكتوبة إلى FPGA وبالتالي يتم برمجتها. هذا شيء مشابه لما تفعله بلوحة Arduino ، حيث تقوم بكتابة برنامج Arduino IDE في ذاكرة وحدة التحكم الدقيقة القابلة للبرمجة.

فقط في حالة FPGA ، ما لدينا هو مصفوفة أو مصفوفة من المكونات الأولية مثل خلايا الذاكرة ، والبوابات ، و OR ، و NOT ، و Flip-flops ، وغيرها. العناصر الأساسية أو كتل الإلكترونيات الرقمية يمكننا استخدامها. مع البرنامج المكتوب ، ما سنفعله هو فرض الطريقة التي يتم بها تجميع هذه الكتل الأساسية معًا لتشكيل الدائرة الصغيرة التي نريدها ، مثل ALU.

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

السرعة التي تعمل بها سوف تعتمد على تردد الساعة التي قمنا بشراء أعمال FPGA لها. على سبيل المثال ، تعمل معظم الأجهزة الأساسية عادةً عند 50 ميجاهرتز ، بينما يعمل الآخرون بترددات أعلى بكثير. في حالة FPGA بسرعة 50 ميجا هرتز ، هذا يعني أنها ستعمل بمعدل 50.000.000،XNUMX،XNUMX مرة في الثانية. إذا واصلنا العمل مع الأفعى الذي قدمته كمثال ، فستتمكن من القيام بهذا المقدار من المبالغ في ثانية واحدة ...

الاستمرار في موضوع البرمجةبمجرد أن نعلم أنه يمكنك كتابة التعليمات البرمجية كما نفعل في Arduino IDE أو لتطوير أي برنامج آخر ، ومعرفة كيفية القيام بذلك على مستوى الأجهزة ، سأقول إنها في الحقيقة ليست برمجة على هذا النحو. بل هو وصف للأجهزة. في الواقع ، يتم استخدام لغات وصف الأجهزة مثل VHDL و Verilog وما إلى ذلك.

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

التكامل مع اردوينو

اردوينو FPGA

عادةً ما يتم استخدام FPGAs بشكل منفصل ، ولكن صحيح أن هناك العديد من الأدوات والأطقم في السوق التي ستجعل حياتك أسهل لدمجك FPGA مع منصة Arduino. مثال على لوحة لإحضار FPGAs إلى مشاريعك باستخدام Arduino هو MKR Vidor 4000 ، على الرغم من وجود آخرين.

MKR Viewer 4000 إنها لوحة بثلاث رقائق. واحد منهم هو FPGA ، وتحديداً Intel Cyclone 10. وهناك أيضًا شرائح أخرى لـ Bluetooth LE أو اتصال منخفض الطاقة وأيضًا التوافق مع WiFi. تكملة جيدة لتزويد Arduino الخاص بك بوظائف الاتصال ولتتمكن من تنفيذ ما تحتاجه في FPGA.

مع ذلك لديك أجهزة قابلة للتخصيص، تم تكوينه بنفسك للغرض الذي تريده. هذا يوفر احتمالات لا حصر لها.


كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.