Menu
Coddy logo textTech

השהיות שערים

חלק מהיחידה יסודות במסלול ה-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
כל הקלטים משפיעים על הפלטכל שינוי בקלט מפעיל את ההשהיה
לא ניתן לסנתזהשהיות שערים מיועדות לסימולציה בלבד
challenge icon

אתגר

הוסף למודול הזה את השהיות השערים החסרות. השתמש בהשהיה שונה לכל שער.

מה לעשות:

  1. שער AND: השהיה של 5 יחידות זמן
  2. שער OR: השהיה של 3 יחידות זמן
  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
quiz iconבחנו את עצמכם

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

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

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