جدول المحتويات:
- الخطوة 1: المواصفات
- الخطوة 2: نظرة عامة على الموافقة المسبقة عن علم
- الخطوة الثالثة: تصميم وتنفيذ RTL
- الخطوة 4: الملاحظات الهامة والملفات المرفقة
فيديو: تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
أنا غارق في نوع الردود التي أحصل عليها في هذه المدونة. شكرًا يا رفاق على زيارة مدونتي وتحفيزهم على مشاركة معرفتي معكم. هذه المرة ، سأقدم تصميم وحدة أخرى مثيرة للاهتمام نراها في جميع 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
يؤكد تصميم 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 الكامل.
إنه تصميم مفتوح المصدر … لا تتردد في استخدامه …
لأية استفسارات ، في أي وقت:
ميتو راج
موصى به:
[الماوس القابل للارتداء] وحدة تحكم الماوس القابلة للارتداء القائمة على Bluetooth لنظامي التشغيل Windows 10 و Linux: 5 خطوات
[الماوس القابل للارتداء] جهاز التحكم بالماوس القابل للارتداء المستند إلى Bluetooth لنظامي التشغيل Windows 10 و Linux: لقد صنعت وحدة تحكم بالماوس تستند إلى Bluetooth يمكن استخدامها للتحكم في مؤشر الماوس وإجراء العمليات المتعلقة بالماوس على الكمبيوتر أثناء التنقل ، دون لمس أي أسطح. يمكن استخدام الدوائر الإلكترونية المضمنة في قفاز لتتبع h
تصميم وحدة تحكم بسيطة في ذاكرة التخزين المؤقت رباعية الاتجاهات في VHDL: 4 خطوات
تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة رباعية الاتجاهات في VHDL: في التعليمات السابقة الخاصة بي ، رأينا كيفية تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة ومباشرة. هذه المرة ، نتقدم خطوة للأمام. سنقوم بتصميم وحدة تحكم بسيطة في ذاكرة التخزين المؤقت الترابطية رباعية الاتجاهات. مميزات ؟ معدل تفويت أقل ، ولكن على حساب الأداء
تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة في VHDL: 4 خطوات
تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة في VHDL: أكتب هذه التعليمات ، لأنني وجدت أنه من الصعب بعض الشيء الحصول على بعض رموز VHDL المرجعية للتعلم والبدء في تصميم وحدة تحكم ذاكرة التخزين المؤقت. لذلك صممت وحدة تحكم في ذاكرة التخزين المؤقت بنفسي من البداية ، واختبرتها بنجاح على FPGA. لدي ص
تصميم وحدة تحكم VGA بسيطة في VHDL و Verilog: 5 خطوات
تصميم وحدة تحكم VGA بسيطة في VHDL و Verilog: في هذه التعليمات ، سنقوم بتصميم وحدة تحكم VGA بسيطة في RTL. وحدة تحكم VGA هي الدائرة الرقمية المصممة لتشغيل شاشات VGA. يقرأ من Frame Buffer (VGA Memory) الذي يمثل الإطار المراد عرضه ، ويولد
أحذية FireBlinks RGB LED القابلة للبرمجة: 6 خطوات
أحذية FireBlinks RGB LED القابلة للبرمجة: • إن ركلات وميض النار DIY عبارة عن أحذية رياضية عالية الارتفاع مدمجة مع WS2812 LED القابل للعنونة مع متحكم attiny85. • مصابيح LED قابلة للبرمجة وإعادة البرمجة بسهولة لتخصيصات لا حصر لها للألوان يمكن أن تنتج ما يصل إلى 16 مليون ج