Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

هيكل الوحدة

جزء من قسم الأساسيات في رحلة 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)

  1. وحدة واحدة لكل ملف هي الممارسة الشائعة
  2. يجب أن يصف اسم الوحدة وظيفتها
  3. يتم إدراج المنافذ (Ports) بين قوسين بعد الاسم
  1. المدخلات تكون دائمًا input (لا يمكن الكتابة إليها من الداخل)
  2. المخرجات تكون output (يمكن أن تكون reg أو wire)
  3. <strong>endmodule</strong> يجب أن يغلق الـ module
challenge icon

التحدي

أكمل الأجزاء المفقودة لاكتمال هذا الـ module.

الخطوات المطلوبة:

  1. أضف module_name وهو my_and
  2. أضف input لـ x
  3. أضف input لـ y
  4. أضف output لـ z
  5. أضف الـ logic الداخلي باستخدام assign

جرّب بنفسك

module ______ (   // أضف اسم الوحدة
  input x,       // أضف مدخلاً
  input y,       // أضف مدخلاً
  output z       // أضف مخرجاً
);
  // أضف عبارة assign هنا (z = x & y)
  
endmodule
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات