מספרים שלמים וממשיים
חלק מהיחידה יסודות במסלול ה-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.
אתגר
השלימו את הקוד כדי לגרום לספסל הבדיקה לפעול.
מה לעשות:
- הכריזו על מספר שלם בשם i (למונה של הלולאה)
- הכריזו על מספר ממשי בשם value (לחישוב)
נסו בעצמכם
module test;
// הכריזו על משתנה שלם בשם i
// הכריזו על משתנה ממשי בשם value
initial begin
i = 7;
value = i * 0.5;
$display("i = %0d, value = %f", i, value);
$finish;
end
endmoduleהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין