Menu
CoddyTech

مراجعة - بناء وحدة

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

challenge icon

التحدي

يجمع هذا التحدي كل ما تعلمته في هذا الفصل. ستنشئ وحدة من الصفر وتُنشئ مثيلًا منها.

ما المطلوب:

الجزء 1: أنشئ وحدة باسم flipflop تتضمن:

  • مدخلًا بعرض 1 بت باسم clk
  • مدخلًا بعرض 1 بت باسم d
  • مدخلًا بعرض 1 بت باسم reset
  • مخرجًا بعرض 1 بت باسم q (استخدم reg، وأسند إليه قيمة في كتلة always)

يجب أن تعمل الوحدة كما يلي:

  • عندما تكون قيمة reset هي 1، تصبح قيمة q هي 0
  • وإلا، عند كل حافة للساعة، تصبح قيمة q مساوية لـ d

الجزء 2: أنشئ مثيلًا من الوحدة flipflop داخل الوحدة top باستخدام ربط المنافذ حسب الاسم

اربط المنافذ بالإشارات التالية:

  • المنفذ clk → الإشارة clock
  • المنفذ d → الإشارة data
  • المنفذ reset → الإشارة reset_signal
  • المنفذ q → الإشارة out

جرّب بنفسك

// الجزء 1: أنشئ الوحدة flipflop

  // TODO: أضف المنافذ

  // TODO: أضف كتلة always باستخدام posedge clk وposedge reset
  
  // إذا كانت قيمة reset هي 1، فاجعل q <= 0
  
  // وإلا فاجعل q <= d


// الجزء 2: الوحدة top مع إنشاء مثيل
module top (
  input clock,
  input data,
  input reset_signal,
  output out
);

  // TODO: أنشئ مثيلًا من flipflop باسم ff1
  
  // استخدم ربط المنافذ بالاسم: .clk(clock), .d(data), .reset(reset_signal), .q(out)

endmodule

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

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