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

هيكل الوحدة

جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 30 من 90.

تعتبر الوحدة (module) هي لبنة البناء الأساسية في Verilog. يتم بناء كل تصميم من وحدات تتصل ببعضها البعض لتكوين أنظمة أكبر.

الوحدة (Module) هي مكون مادي يحتوي على:

  • اسم
  • مدخلات (إشارات واردة)
  • مخرجات (إشارات صادرة)
  • منطق داخلي (ما تفعله الوحدة)

فكر في الوحدة البرمجية (module) كأنها رقاقة ذات دبابيس ودوائر داخلية.

هيكل الوحدة الأساسي

تتبع كل وحدة هذا الهيكل:

module module_name (
  input  signals,
  output signals
);
  
  // التصريحات الداخلية (wires، regs، إلخ.)
  // المنطق (جمل assign، بلوكات always، إلخ.)
  
endmodule

أجزاء الوحدة (Module)

الجزءالغرض
الكلمة المفتاحية moduleتبدأ تعريف الوحدة
module_nameاسم الوحدة
( )قائمة منافذ الإدخال والإخراج
input / outputالتصريح عن اتجاه المنفذ
جسم الوحدةالمنطق الداخلي والتوصيلات
endmoduleتنهي تعريف الوحدة

مثال بسيط للموديول

module and_gate (
  input a,
  input b,
  output c
);
  assign c = a & b;
endmodule

هذه الوحدة:

  • تسمى and_gate
  • لها مدخلان (a، b)
  • لها مخرج واحد (c)
  • تحتوي على عبارة assign واحدة تحدد المنطق

قواعد هيكلية الوحدة

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

التحدي

املأ الأجزاء المفقودة لإكمال هذه الوحدة (module).

ماذا يجب أن تفعل:

  1. أضف اسم الوحدة my_and
  2. أضف input لـ x
  3. أضف input لـ y
  4. أضف output لـ z
  5. أضف المنطق الداخلي باستخدام assign

ورقة مرجعية

تُعد الـ module (الوحدة) هي وحدة البناء الأساسية في Verilog — وهي مكون عتادي له مدخلات، ومخرجات، ومنطق داخلي.

module module_name (
  input  a,
  input  b,
  output c
);
  // المنطق الداخلي
  assign c = a & b;

endmodule
  • module / endmodule — بداية ونهاية التعريف
  • input — إشارة داخلة (للقراءة فقط داخل الوحدة)
  • output — إشارة خارجة (يمكن أن تكون reg أو wire)
  • assign — يُعرّف المنطق التوافيقي (combinational logic)

جرّب بنفسك

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

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

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