הנחיית Timescale
חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 70 מתוך 90.
ההנחיה timescale מגדירה את יחידת הזמן ואת דיוק הזמן עבור סימולציה. היא אומרת לסימולטור כיצד לפרש ערכי השהיה כמו #10.
בשיעורים הקודמים השתמשנו בהשהיות כמו #10 בלי לציין מה פירוש "10". האם מדובר ב־10 ננושניות? ב־10 פיקושניות? ההנחיה timescale עונה על השאלה הזאת.
תחביר:
`timescale time_unit / time_precision| חלק | משמעות | דוגמה |
|---|---|---|
time_unit | יחידת הבסיס לעיכובים | 1ns |
time_precision | רמת הדיוק של הסימולציה | 1ps |
התו backtick ` לפני timescale פירושו שזו הנחיית קומפיילר.
דוגמה
`timescale 1ns / 1pstime_unit = 1ns→#10פירושו 10 ננו־שניותtime_precision = 1ps→ הסימולציה מעגלת לפיקו־שנייה הקרובה ביותר
ערכי סולם זמן נפוצים
| יחידת זמן | דיוק | מקרה שימוש |
|---|---|---|
1ns / 1ns | ננו־שנייה | סימולציות פשוטות |
1ns / 1ps | פיקו־שנייה | מדויק יותר |
1ps / 1ps | פיקו־שנייה | תכנונים במהירות גבוהה |
1us / 1ns | מיקרו־שנייה | סימולציות איטיות |
איך זה משפיע על השהיות
`timescale 1ns / 1ps
initial begin
#10 a = 1; // ממתין 10 ננו־שניות
endללא timescale, יש סימולטורים שמניחים ערך ברירת מחדל (לעיתים קרובות 1ns). עדיף לציין אותו תמיד.
כללים חשובים
| כלל | הסבר |
|---|---|
| חייב להיות מחוץ למודולים | מוצב לפני כל הגדרת מודול |
| סימן גרש נטוי לאחור | `timescale ולא 'timescale |
| יחידת הזמן ≥ דיוק הזמן | 1ns / 1ps תקין, 1ps / 1ns לא |
| משפיע על כל ההשהיות בקובץ | השהיות כלליות, השהיות שער, השהיות השמה |
אתגר
מה לעשות:
הוסף את הוראת timescale החסרה כדי שההשהיות ייצגו 10ns, 20ns ו-30ns.
נסו בעצמכם
// TODO: הוסף את הנחיית timescale (1ns / 1ps)
module timescale_challenge;
initial begin
$display("Time %0t", $time);
#10 $display("Time %0t (10ns = 10000ps)", $time);
#10 $display("Time %0t (20ns = 20000ps)", $time);
#10 $display("Time %0t (30ns = 30000ps)", $time);
$finish;
end
endmoduleהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין