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

حلقة التكرار

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

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

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

بناء الجملة:

repeat (number) begin
  // الكود المراد تكراره
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 loop مقابل Repeat loop

 For loopRepeat loop
متغير العدادنعم (صريح)لا
متى يُستخدمعند الحاجة إلى قيمة الفهرسعند الحاجة إلى التكرار فقط
مثال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 لعدد سالب من المرات
يمكن استخدام ثابت أو تعبيرrepeat (10) أو repeat (count)
لا يتوفر متغير loopلا يمكن تتبّع رقم Iteration
استخدم begin/end للعبارات المتعددةمطلوب لأكثر من سطر واحد
challenge icon

التحدي

ما يجب فعله:

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

جرّب بنفسك

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

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

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

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