كتابة الـ Module
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 43 من 90.
التحدي
نصف الجامع (half adder) هو دائرة تقوم بجمع بتين منفردين وتخبرك بـ:
- sum — النتيجة (0 أو 1)
- carry — إذا كان هناك تجاوز (1 عندما يكون كلا المدخلين 1)
مثال
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | لا يوجد تجاوز |
| 0 | 1 | 1 | لا يوجد تجاوز |
| 1 | 0 | 1 | لا يوجد تجاوز |
| 1 | 1 | 0 | تجاوز (carry = 1) |
عندما تجمع 1 + 1 بالنظام الثنائي، تكون النتيجة 0 مع حمل (carry) قدره 1 (تماماً مثل 5 + 5 = 0 مع حمل قدره 1 في النظام العشري).
قبل أن نضيف المنطق، نحتاج إلى إنشاء حاوية الوحدة (module container) — الهيكل الفارغ الذي سيحتوي على دائرة نصف الجامع الخاصة بنا.
بالنسبة لنصف الجامع، هذه هي المهام:
- أنشئ وحدة (module) تسمى
half_adder - أضف مدخلين:
aوb - أضف مخرجين:
sumوcarry
جرّب بنفسك
// المهمة 1: إنشاء وحدة باسم half_adder
// المهمة 2: إضافة مدخلين: a و b
// المهمة 3: إضافة مخرجين: sum و carry
// سيتم إضافة المنطق لاحقاً
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة