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

Recap - Build A Module

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

challenge icon

التحدي

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

ما يجب فعله:

Part 1: أنشئ module باسم <strong>flipflop</strong> مع:

  • مدخل بعرض 1-bit يُسمى clk
  • مدخل بعرض 1-bit يُسمى d
  • مدخل بعرض 1-bit يُسمى reset
  • مخرج بعرض 1-bit يُسمى q (استخدم reg، وعيّنه في always block)

يجب أن يعمل module كما يلي:

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

Part 2: أنشئ مثيلًا من module <strong>flipflop</strong> داخل module <strong>top</strong> باستخدام mapping للمنافذ حسب الاسم

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

  • Port clk → الإشارة clock
  • Port d → الإشارة data
  • Port reset → الإشارة reset_signal
  • Port q → الإشارة out

جرّب بنفسك

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

  // TODO: أضف ports

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


// الجزء 2: الوحدة top مع الـ instantiation
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 عبر الإنترنت