Menu
Coddy logo textTech

מבנה מודול

חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 30 מתוך 90.

מודול הוא אבן הבניין הבסיסית ב-Verilog. כל תכנון בנוי ממודולים שמתחברים יחד ליצירת מערכות גדולות יותר.

מודול הוא רכיב חומרה עם:

  • שם
  • קלטים (אותות נכנסים)
  • פלטים (אותות יוצאים)
  • לוגיקה פנימית (מה המודול עושה)

חשבו על מודול בתור שבב עם פינים ומעגלים פנימיים.

מבנה בסיסי של מודול

כל מודול פועל לפי המבנה הזה:

module module_name (
  input  signals,
  output signals
);
  
  // הצהרות פנימיות (wires, regs וכו׳)
  // לוגיקה (פקודות assign, בלוקים של always וכו׳)
  
endmodule

חלקי מודול

חלקמטרה
מילת המפתח moduleמתחילה את הגדרת המודול
module_nameשם המודול
( )רשימת יציאות הקלט והפלט
input / outputמצהירות על כיוון היציאה
גוף המודוללוגיקה פנימית וחיבורים
endmoduleמסיימת את הגדרת המודול

דוגמה פשוטה למודול

module and_gate (
  input a,
  input b,
  output c
);
  assign c = a & b;
endmodule

המודול הזה:

  • נקרא and_gate
  • יש לו שתי כניסות (a, b)
  • יש לו יציאה אחת (c)
  • מכיל פקודת assign אחת שמגדירה את הלוגיקה

כללים למבנה מודולים

  1. מודול אחד לכל קובץ הוא נוהג נפוץ
  2. שם המודול צריך לתאר את תפקידו
  3. היציאות מופיעות בסוגריים אחרי השם
  1. קלטים הם תמיד input (אי אפשר לכתוב בתוכם)
  2. פלטים הם output (יכולים להיות reg או wire)
  3. <strong>endmodule</strong> חייב לסגור את המודול
challenge icon

אתגר

השלימו את החלקים החסרים כדי להשלים את המודול הזה.

מה צריך לעשות:

  1. הוסיפו את שם המודול my_and
  2. הוסיפו input עבור x
  3. הוסיפו input עבור y
  4. הוסיפו output עבור z
  5. הוסיפו את הלוגיקה הפנימית באמצעות assign

נסו בעצמכם

module ______ (   // הוסיפו את שם המודול
  input x,       // הוסיפו קלט
  input y,       // הוסיפו קלט
  output z       // הוסיפו פלט
);
  // הוסיפו כאן פקודת assign (z = x & y)
  
endmodule
quiz iconבחנו את עצמכם

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

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

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