יצירת מופע של מודול
חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 33 מתוך 90.
יצירת מופע של מודול היא התהליך של יצירת עותק של מודול בתוך מודול אחר. כך בונים תכנונים גדולים יותר על ידי חיבור של רכיבים קטנים יותר.
לאחר שהגדרת מודול, תוכל להשתמש בו בתוך מודול אחר. פעולה זו נקראת יצירת מופע. כל יצירת מופע יוצרת מופע נפרד של אותו מודול. חשוב על כך כמו שימוש בתוכנית לבניית כמה עותקים של אותו רכיב.
תחביר בסיסי
module_name instance_name (connections);| חלק | משמעות |
|---|---|
module_name | שם המודול ליצירת מופע שלו |
instance_name | שם ייחודי לעותק הזה |
connections | האותות המחוברים ליציאות של המודול |
דוגמה פשוטה
שלב 1: הגדרת מודול
module and_gate (
input a,
input b,
output c
);
assign c = a & b;
endmoduleשלב 2: יצירת מופע שלו במודול אחר
module top (
input x,
input y,
output z
);
and_gate gate1 (x, y, z);
endmoduleהנה מה שקורה בקוד הזה:
and_gate: שם המודול שבו אנחנו רוצים להשתמש (חייב להתקיים במקום כלשהו)gate1: שם ייחודי שאנחנו נותנים למופע הספציפי הזה(x, y, z): האותות שאנחנו מחברים ליציאות המודול (באותו סדר שבו הן מופיעות בהגדרת המודול)
האות הראשון x מתחבר לפורט הראשון a. האות השני y מתחבר לפורט השני b. האות השלישי z מתחבר לפורט השלישי c.
עליך להעביר אותות למודול. הסוגריים אינם יכולים להיות ריקים. מספר האותות חייב להתאים למספר הפורטים.
מופעים מרובים
אפשר ליצור כמה עותקים של אותו מודול:
module top;
wire out1, out2;
wire sig1, sig2, sig3, sig4;
and_gate gate1 (sig1, sig2, out1);
and_gate gate2 (sig3, sig4, out2);
endmoduleלכל מופע יש שם משלו (gate1, gate2) וחיבורים משלו. הם פועלים באופן עצמאי.
מה קורה במהלך יצירת מופע
- נוצר עותק של החומרה
- לכל מופע יש קבוצת אותות משלו
- המופעים פועלים במקביל (בו-זמנית)
- האותות שאתה מעביר קובעים כיצד מופעים מתחברים לשאר התכנון שלך
כללים ליצירת מופע
| כלל | למה |
|---|---|
| שם המופע חייב להיות ייחודי | כדי להבחין בין עותקים |
| שם המודול חייב להתקיים | חייב להיות מוגדר במקום אחר |
| מספר החיבורים חייב להתאים למספר הפורטים | אחרת Verilog לא יודע מה מתחבר לאן |
| סדר החיבורים חייב להתאים לסדר הפורטים | האות הראשון מתחבר לפורט הראשון וכן הלאה. |
אתגר
השלימו את הקוד באמצעות יצירת מופע של המודול or_gate.
מה לעשות:
- צרו מופע של
or_gateבשםor1 - העבירו את האותות בסדר הנכון:
input_a,input_b,output_y
נסו בעצמכם
module or_gate (
input in1,
input in2,
output result
);
assign result = in1 | in2;
endmodule
module top (
input input_a,
input input_b,
output output_y
);
// TODO: צור מופע של or_gate בשם or1
// העבר את האותות לפי הסדר: input_a, input_b, output_y
// אל תשתמש בתחביר .port(signal)
endmoduleהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין