Menu
CoddyTech

حلقة التكرار

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

تنفّذ حلقة repeat كتلة من التعليمات البرمجية عددًا ثابتًا من المرات. بخلاف حلقة for، لا تستخدم متغيرًا لعدّاد الحلقة.

تتكرر حلقة repeat عددًا محددًا من المرات. تعطيها ثابتًا أو تعبيرًا يحدد عدد مرات التكرار التي ستُنفَّذ.

الصياغة:

repeat (number) begin
  // Code to repeat
end

مثال بسيط

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

المخرجات:

Hello
Hello
Hello
Hello
Hello

تُطبع الرسالة 5 مرات بالضبط.

التكرار باستخدام تعبير

integer count = 3;

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

الناتج:

Looping
Looping
Looping

التكرار مقابل حلقة For

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

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

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

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

قواعد مهمة

القاعدةالتوضيح
العدد 0 أو أقل يتخطى جسم الحلقةيُترجم repeat (-5) إلى تعليمات برمجية ويُنفَّذ صفر مرة
يمكن استخدام ثابت أو تعبيرrepeat (10) أو repeat (count)
لا يتوفر متغير للحلقةلا يمكن تتبّع رقم التكرار
استخدم 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اختبر نفسك

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

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

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