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

לולאת repeat לעומת לולאת 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 אונליין