جدول المحتويات:

تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: 4 خطوات
تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: 4 خطوات

فيديو: تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: 4 خطوات

فيديو: تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: 4 خطوات
فيديو: Design Up_Down_Counter on 7 Segment Display using Spartan 6 Development Board & Xilinx(VHDL Code 2024, شهر نوفمبر
Anonim
تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL
تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL

أنا غارق في نوع الردود التي أحصل عليها في هذه المدونة. شكرًا يا رفاق على زيارة مدونتي وتحفيزهم على مشاركة معرفتي معكم. هذه المرة ، سأقدم تصميم وحدة أخرى مثيرة للاهتمام نراها في جميع SOCs - Interrupt Controller.

سنقوم بتصميم وحدة تحكم بسيطة لكنها قوية في المقاطعة القابلة للبرمجة. إنه تصميم قابل للتكوين ومخصص تمامًا ومحمول عبر الأنظمة الأساسية. لقد صممت هذا بعد قراءة الكثير عن بعض أبنية وحدة التحكم في المقاطعة الشائعة مثل NVIC ، و 8259a ، و RISC-V PLIC ، و Microblaze's INTC وما إلى ذلك ، آمل أن تجدوا هذه المدونة مفيدة وتساعدك في الحصول على نكهة حول كيفية معالجة المقاطعات بواسطة المعالج بمساعدة وحدة تحكم المقاطعة.

الخطوة 1: المواصفات

فيما يلي مواصفات IP:

  • واجهة AHB3-Lite.
  • معلمات قابلة للتكوين بشكل ثابت:

    • عدد مصادر المقاطعة الخارجية ؛ يدعم ما يصل إلى 63 مقاطعة.
    • عدد مستويات الأولوية ؛ يدعم ما يصل إلى 63 مستوى.
    • عدد مستويات التعشيش ؛ يدعم ما يصل إلى 8 مستويات التعشيش. 
    • عرض الحافلة؛ 32 أو 64.
  • المقاطعات القابلة للقناع عالميًا ومحليًا.
  • مستوى الأولوية القابل للتكوين ديناميكيًا لكل مقاطعة.
  • وضعان للتشغيل - الوضع المتداخل بالكامل ووضع الأولوية المتساوية.
  • يدعم المقاطعات النشطة عالية المستوى الحساسة.

يتم استخدام آلية مصافحة المقاطعة المستوحاة من RISC-V PLIC في التصميم.

تم استلهام المقاطعة من 8259a

قراءات أخرى: Microblaze INTC ، NVIC

الخطوة 2: نظرة عامة على الموافقة المسبقة عن علم

نظرة عامة على الموافقة المسبقة عن علم
نظرة عامة على الموافقة المسبقة عن علم

تستقبل وحدة التحكم في المقاطعة القابلة للبرمجة (PIC) مقاطعات متعددة من الأجهزة الطرفية الخارجية وتدمجها في إخراج مقاطعة واحد إلى قلب معالج مستهدف.

يتم التحكم في الموافقة المسبقة عن علم من خلال سجلات التحكم والحالة. جميع سجلات PIC هي ذاكرة معيَّنة ، ويمكن الوصول إليها من خلال واجهة ناقل AHB3-Lite.

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

يستخدم سجل التكوين لضبط طريقة تشغيل الموافقة المسبقة عن علم. يمكن أن تعمل إما في الوضع المتداخل بالكامل أو وضع الأولوية المتساوية.

يمكن تعيين أولويات كل مقاطعة وإخفائها بشكل فردي. يتم أيضًا دعم الإخفاء الشامل لجميع المقاطعات.

يتفاعل بنك السجل مع محلل الأولوية و BTC (Binary-Tree-Comparator) لحل أولويات المقاطعات المعلقة وتأكيد مقاطعة المعالج وفقًا لذلك. يحتوي سجل المعرف على معرف المقاطعة المعلقة ذات الأولوية القصوى.

الخطوة الثالثة: تصميم وتنفيذ RTL

تصميم وتنفيذ RTL
تصميم وتنفيذ RTL

يؤكد تصميم PIC على تقليل زمن الوصول لحل الأولويات ، وهو الجزء الأكثر أهمية في التصميم. نظرًا لأن التصميم يحل الأولويات في دورة ساعة واحدة ، فإن الأداء يتدهور مع زيادة عدد المصادر مع تعقيد Log2.

تم تنفيذ التصميم بنجاح والتحقق من التوقيت حتى الترددات التالية على Artix-7 FPGAs.

  • ما يصل إلى 15 مصدرًا: 100 ميجا هرتز
  • ما يصل إلى 63 مصدرًا: 50 ميجا هرتز

وقت استجابة المقاطعة الذي تمت إضافته بواسطة PIC وحده هو 3 دورات على مدار الساعة (باستثناء وقت تبديل السياق للمعالج وأول وقت جلب تعليمات ISR).

الخطوة 4: الملاحظات الهامة والملفات المرفقة

ملاحظات هامة:

  • إذا كانت واجهة AHB3-Lite غير مرغوبة ، يمكنك تغيير الوحدة العلوية واستخدام التصميم الهيكلي للموافقة المسبقة عن علم. ومع ذلك ، فإن منصة الاختبار المتوفرة مخصصة لـ IP مع واجهة AHB3-Lite.
  • PIC IP v1.0 هو تصميم RTL قابل للحمل بالكامل.
  • تم التحقق وظيفيًا للعمل على كلا الوضعين.

الملفات المرفقة:

  • رموز التصميم و testbench في VHDL.
  • توثيق IP الكامل.

إنه تصميم مفتوح المصدر … لا تتردد في استخدامه …

لأية استفسارات ، في أي وقت:

ميتو راج

موصى به: