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

Module Structure

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

الوحدة هي لبنة البناء الأساسية في Verilog. يُبنى كل تصميم من وحدات تتصل معًا لتشكيل أنظمة أكبر.

الوحدة هي مكوّنًا عتاديًا يتضمّن:

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

اعتبر الوحدة شريحة ذات دبابيس ودوائر داخلية.

البنية الأساسية للوحدة

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

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

أجزاء الوحدة

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

مثال على وحدة بسيطة

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

هذه الوحدة:

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

قواعد بنية module

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

التحدي

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

ما يجب فعله:

  1. Add اسم module my_and
  2. Add input لـ x
  3. Add input لـ y
  4. Add output لـ z
  5. Add المنطق الداخلي باستخدام assign

جرّب بنفسك

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

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

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

تدرّب بنفسك: مترجم Verilog عبر الإنترنت