هيكل الوحدة
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 30 من 90.
الموديل (module) هو وحدة البناء الأساسية في Verilog. يتم بناء كل تصميم من موديلات تتصل ببعضها لتشكيل أنظمة أكبر.
الموديل (module) هو مكون مادي (hardware component) يحتوي على:
- اسم (name)
- مدخلات (signals قادمة)
- مخرجات (signals خارجة)
- منطق داخلي (Internal logic، ما يقوم به الموديل)
فكر في الـ module على أنه شريحة (chip) تحتوي على دبابيس (pins) ودوائر إلكترونية داخلية.
الهيكل الأساسي لـ module
كل module يتبع هذا الهيكل:
module module_name (
input signals,
output signals
);
// التصاريح الداخلية (wires, regs, إلخ.)
// المنطق (assign statements, always blocks, إلخ.)
endmoduleأجزاء الـ Module
| الجزء | الغرض |
|---|---|
الكلمة المفتاحية module | تبدأ تعريف الـ module |
module_name | اسم الـ module |
( ) | قائمة منافذ الـ input والـ output |
input / output | تحديد اتجاه المنافذ |
| جسم الـ Module | الـ Internal logic والروابط (connections) |
endmodule | تنهي تعريف الـ module |
مثال على وحدة بسيطة
module and_gate (
input a,
input b,
output c
);
assign c = a & b;
endmoduleهذه الـ module:
- تسمى
and_gate - تحتوي على مدخلين (
a,b) - تحتوي على مخرج واحد (
c) - تحتوي على
statementواحدة من نوعassignتحدد المنطق
قواعد بنية الوحدة (Module Structure)
- وحدة واحدة لكل ملف هي الممارسة الشائعة
- يجب أن يصف اسم الوحدة وظيفتها
- يتم إدراج المنافذ (Ports) بين قوسين بعد الاسم
- المدخلات تكون دائمًا
input(لا يمكن الكتابة إليها من الداخل) - المخرجات تكون
output(يمكن أن تكونregأوwire) <strong>endmodule</strong>يجب أن يغلق الـ module
التحدي
أكمل الأجزاء المفقودة لاكتمال هذا الـ module.
الخطوات المطلوبة:
- أضف
module_nameوهوmy_and - أضف
inputلـx - أضف
inputلـy - أضف
outputلـz - أضف الـ logic الداخلي باستخدام
assign
جرّب بنفسك
module ______ ( // أضف اسم الوحدة
input x, // أضف مدخلاً
input y, // أضف مدخلاً
output z // أضف مخرجاً
);
// أضف عبارة assign هنا (z = x & y)
endmoduleيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة