Menu
Coddy logo textTech

לולאת for

חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 58 מתוך 90.

לולאות ב-Verilog מאפשרות לך להריץ בלוק קוד מספר פעמים. הן שימושיות במיוחד בסביבות בדיקה ליצירת דפוסי בדיקה חוזרים, לאתחול זיכרון ולמעבר על מערכים. בניגוד לתיאורי חומרה שפועלים במקביל, לולאות רצות ברצף, ולכן הן אידיאליות לסימולציה ולבדיקה.

הלולאה הנפוצה ביותר היא <strong>for</strong> לולאה, שחוזרת על עצמה מספר מסוים של פעמים. לולאת for מבצעת שוב ושוב בלוק של קוד, עם משתנה לולאה שמשתנה בכל איטרציה. אתה קובע בדיוק כמה פעמים היא תרוץ.

תחביר:

for (initialization; condition; increment) begin
  // קוד שיש לחזור עליו
end
חלקמה הוא עושהדוגמה
initializationקובע ערך התחלתיi = 0
conditionמתי לעצורi < 10
incrementמשתנה בכל איטרציה של הלולאהi = i + 1

דוגמה פשוטה

integer i;

for (i = 0; i < 5; i = i + 1) begin
  $display("i = %d", i);
end

פלט:

i = 0
i = 1
i = 2
i = 3
i = 4

הלולאה רצה 5 פעמים (i = 0, 1, 2, 3, 4).

לולאת for בספסלי בדיקה

לולאות for משמשות בדרך כלל לבדיקת כל צירופי הקלט:

integer test_value;

for (test_value = 0; test_value < 16; test_value = test_value + 1) begin
  $display("test_value = %d", test_value);
end

כך נבדקים כל 16 הערכים האפשריים של אות בן 4 סיביות.

לולאת For עם מערכים

reg [7:0] memory [0:9];
integer i;

initial begin
  for (i = 0; i < 10; i = i + 1) begin
    memory[i] = i * 8;
  end
end

פעולה זו מאתחלת 10 מיקומי זיכרון.

כללים חשובים

כללהסבר
משתנה הלולאה חייב להיות integer או reg הוא לא יכול להיות wire
יש להשתמש ב-begin/end עבור כמה פקודותנדרש עבור יותר משורה אחת
יש להימנע מלולאות אינסופיותיש לוודא שהתנאי יהפוך בסופו של דבר לשקר
הכי מתאים לשימוש בספסלי בדיקהרוב הלולאות אינן ניתנות לסינתזה
challenge icon

אתגר

מה לעשות:

הוסף את לולאת for החסרה כדי להדפיס מספרים מ-0 עד 3.

נסו בעצמכם

module for_challenge;
  integer i;
  
  initial begin
    $display("Printing 0 to 3:");
    
    // TODO: הוסף לולאת for
    // אתחל את i = 0
    // המשך בלולאה כל עוד i < 4
    // הגדל את i = i + 1
    // בתוך הלולאה, הדפס באמצעות: $display("i = %d", i);
    
    $finish;
  end
endmodule
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Verilog אונליין