أول Module لك
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 4 من 90.
وحدة (module) هي وحدة البناء الأساسية في Verilog. كل قطعة من كود Verilog تكون داخل module.
فكّر في الموديول كـ مكوّن يحتوي على:
- `inputs` (الإشارات القادمة للداخل)
- `outputs` (الإشارات الخارجة)
- `Behavior` (ما الذي يقوم به)
بناء جملة Module
module module_name ( inputs, outputs );
// كل شيء داخل هنا
endmoduleتبدأ كل وحدة بـ module وتنتهي بـ endmodule.
المدخلات والمخرجات (Inputs and Outputs)
module and_gate(
input a, // a يدخل إلى الوحدة
input b, // b يدخل إلى الوحدة
output c // c يخرج من الوحدة
);
// السلوك يذهب هنا
endmodule- input = تدخل الإشارة إلى الوحدة (module)
- output = تخرج الإشارة من الوحدة (module)
إضافة السلوك (Behavior)
الآن نجعل الـ module يقوم بعمل ما:
module and_gate(
input a,
input b,
output c
);
assign c = a & b; // c يكون 1 فقط عندما يكون a AND b هما 1
endmodule- يقوم
assignبتوصيل الجانب الأيمن بالجانب الأيسر بشكل مستمر - تعني
&العملية المنطقية AND في Verilog
التحدي
في هذا التحدي، عليك إنشاء وحدة بسيطة تقوم بإنشاء عملية OR.
ما يجب فعله:
- يجب تسمية وحدة
or_gate - يجب أن تحتوي على دخل يسمى
x - يجب أن تحتوي على دخل يسمى
y - يجب أن تحتوي على خرج يسمى
z - داخل وحدة
module، استخدمassignلجعلzمساوياً لـx OR y
رأس وحدة module والمنافذ الثلاثة لـ ports موجودة بالفعل في المحرر. السطر الذي تحتاج إلى إضافته هو عبارة assign داخل وحدة module.
ملاحظة: في لغة Verilog، يُكتب OR باستخدام رمز الأنبوب |. وهو يخرج 1 (صحيح) إذا كان واحد على الأقل من inputs يساوي 1 (صحيح).
جرّب بنفسك
// رأس الوحدة ومنافذها مكتوبة بالفعل من أجلك
module or_gate(
input x,
input y,
output z
);
// دورك: استخدم assign لتعيين z إلى x OR y
// في Verilog، تُكتب OR بالشكل |
endmodule
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة