השהיות שערים
חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 68 מתוך 90.
בשיעור הקודם למדנו על השהיות כלליות שמשתמשים בהן כך: #10 a = b;. הן ממתינות לפני ביצוע פקודה.
בשיעור הזה נעסוק בהשהיות שערים, הייחודיות לפרימיטיבים מובנים של שערים כמו and, or ו־not. השהיית שער מדמה את משך הזמן שלוקח לשער חומרה להפיק פלט לאחר שהכניסות שלו משתנות.
בחומרה אמיתית, שערים אינם מגיבים באופן מיידי. יש השהיה קצרה. כשמשתמשים בפרימיטיבים המובנים של שערים, אפשר להוסיף השהיה כדי לדמות את זמן ההתפשטות של השער. הפלט משתנה רק לאחר ההשהיה שצוינה.
ההבדל בין השהיה כללית להשהיית שער
| השהיה כללית | השהיית שער | |
|---|---|---|
| תחביר | #10 a = b; | and #5 (out, a, b); |
| מיקום | # לפני פקודה | # בתוך רכיב שער פרימיטיבי |
| מטרה | להמתין לפני הביצוע | למדל את זמן התפשטות השער |
תחביר:
gate_type #(delay) (output, input1, input2, ...);ה-#(delay) מציין כמה יחידות זמן נדרשות לשער כדי להגיב.
דוגמה פשוטה
and #5 (out, a, b);לשער AND הזה נדרשות 5 יחידות זמן כדי לשנות את הפלט שלו לאחר ש-a או b משתנים.
השהיית שער עם כמה כניסות
nand #8 (out, a, b, c, d); // שער NAND בעל 4 כניסות עם השהיה של 8 יחידות זמןכללים חשובים
| כלל | הסבר |
|---|---|
| השהיה מופיעה אחרי שם השער | and #5 (out, a, b) |
| ערך ההשהיה ביחידות זמן | מבוסס על ההנחיה timescale |
| כל הקלטים משפיעים על הפלט | כל שינוי בקלט מפעיל את ההשהיה |
| לא ניתן לסנתז | השהיות שערים מיועדות לסימולציה בלבד |
אתגר
הוסף למודול הזה את השהיות השערים החסרות. השתמש בהשהיה שונה לכל שער.
מה לעשות:
- שער AND: השהיה של 5 יחידות זמן
- שער OR: השהיה של 3 יחידות זמן
- שער NOT: השהיה של 2 יחידות זמן
נסו בעצמכם
module gate_delay_challenge;
reg a, b;
wire and_out, or_out, not_out;
// TODO: הוסף שער AND עם השהיה של 5 יחידות זמן (כניסות a, b)
// TODO: הוסף שער OR עם השהיה של 3 יחידות זמן (כניסות a, b)
// TODO: הוסף שער NOT עם השהיה של 2 יחידות זמן (כניסה a)
initial begin
$monitor("Time %0t: a=%b, b=%b | and=%b, or=%b, not=%b",
$time, a, b, and_out, or_out, not_out);
a = 1; b = 1;
#10 $finish;
end
endmoduleהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין