Menu
CoddyTech

מבנה מודול

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