Menu
CoddyTech

השהיות שערים

חלק מהיחידה יסודות במסלול ה-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 אונליין