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

أول 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
challenge icon

التحدي

في هذا التحدي، عليك إنشاء وحدة بسيطة تقوم بإنشاء عملية OR.

ما يجب فعله:

  1. يجب تسمية وحدة or_gate
  2. يجب أن تحتوي على دخل يسمى x
  3. يجب أن تحتوي على دخل يسمى y
  4. يجب أن تحتوي على خرج يسمى z
  5. داخل وحدة 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
quiz iconاختبر نفسك

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

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