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

حلقة Repeat

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

تُنفِّذ حلقة repeat كتلة من البرمجة لـ عدد محدد من المرات. وعلى عكس حلقة for، فإنها لا تستخدم متغيِّر عداد للحلقة.

تنفذ حلقة repeat عددًا محددًا من المرات. أنت تعطيه قيمة ثابته أو تعبيرًا يحدد عدد التكرارات (iterations) المراد تنفيذها.

الصياغة (Syntax):

repeat (number) begin
  // الكود المراد تكراره
end

مثال بسيط

repeat (5) begin
  $display("Hello");
end

المخرجات:

Hello
Hello
Hello
Hello
Hello

يتم طباعة الرسالة 5 `times` بالضبط.

Repeat مع تعبير

integer count = 3;

repeat (count) begin
  $display("Looping");
end

المخرجات:

Looping
Looping
Looping

Repeat مقابل For Loop

 For LoopRepeat Loop
متغير العداد (Counter)نعم (صريح)لا
متى يُستخدمتحتاج إلى قيمة الفهرس (index)تحتاج فقط إلى التكرار
مثالfor (i=0; i<5; i=i+1)repeat (5)

توليد دورات ساعة متعددة

initial begin
  clk = 0;
  repeat (20) begin
    #5 clk = ~clk;
  end
end

يولّد هذا 20 حافة ساعة (10 دورات كاملة).

قواعد مهمة

القاعدةالشرح
يجب أن يكون `number` غير سالبلا يمكن التكرار لعدد مرات سالب
يمكن استخدام ثابتاً أو تعبيراًrepeat (10) أو repeat (count)
لا يتوفر متغير تكرار (`loop`)لا يمكن تتبع رقم `Iteration`
استخدم `begin`/`end` للعبارات المتعددةمطلوب لأكثر من سطر واحد
challenge icon

التحدي

ما الذي يجب فعله:

أضف حلقة repeat المفقودة لطباعة "Verilog" 4 مرات.

جرّب بنفسك

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: أضف حلقة repeat
    // كرر 4 مرات
    // في الداخل، اطبع "Verilog"
    
    $finish;
  end
endmodule
quiz iconاختبر نفسك

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

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