Menu
Coddy logo textTech

מספרים שלמים וממשיים

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

בנוסף ל־wire ול־reg, ל־Verilog יש סוגי נתונים נוספים למספרים, בעלי מטרות שונות.

מספר שלם

integer הוא משתנה לשימוש כללי לספירה ולחישובים.

  • גודל ברירת המחדל הוא 32 סיביות
  • מספרים עם סימן (יכול לאחסן מספרים שליליים)
  • משמש בעיקר בספסלי בדיקה ובלולאות for

הכרזה על מספר שלם:

integer i;        // משתנה בעל סימן של 32 ביט
integer count;    // יכול לאחסן מספרים שליליים

שימוש ב-integer:

integer i;

initial begin
  i = 0;           // התחל מ-0
  i = i + 1;       // ספור כלפי מעלה
  i = -5;          // יכול לאחסן מספר שלילי
  $display("i = %d", i);  // מדפיס: i = -5
end

מספר ממשי

real מיועד למספרים בנקודה צפה (מספרים עם ספרות אחרי הנקודה העשרונית).

  • מאחסן ערכים שבריים
  • משמש בסביבות בדיקה לחישובים
  • לא ניתן לסנתז לחומרה

הכרזה על מספר ממשי:

real pi;           // משתנה מסוג נקודה צפה
real voltage;

שימוש ב-real:

real pi;

initial begin
  pi = 3.14159;               // ערך עשרוני
  pi = 22.0 / 7.0;            // תוצאת החלוקה
  $display("pi = %f", pi);    // מדפיס: pi = 3.142857
end

היכן להשתמש בהם

בסביבות בדיקה: משתמשים בדרך כלל במספרים שלמים ובמספרים ממשיים עבור מוני לולאות, חישובים ובדיקת ערכים צפויים. הם מקלים על כתיבת קוד בדיקה ועל הבנתו.

בחומרה: בדרך כלל אי אפשר לסנתז טיפוסים אלה, כלומר אי אפשר להפוך אותם למעגלים ממשיים. לחומרה שתוטמע ב-FPGA או בשבב, השתמשו במקום זאת ב-reg וב-wire.

challenge icon

אתגר

השלימו את הקוד כדי לגרום לספסל הבדיקה לפעול.

מה לעשות:

  1. הכריזו על מספר שלם בשם i (למונה של הלולאה)
  2. הכריזו על מספר ממשי בשם value (לחישוב)

נסו בעצמכם

module test;
  
  // הכריזו על משתנה שלם בשם i

  
  // הכריזו על משתנה ממשי בשם value

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
endmodule
quiz iconבחנו את עצמכם

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

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

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