המודול הראשון שלך
חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 3 מתוך 90.
מודול הוא אבן הבניין הבסיסית ב-Verilog. כל קטע קוד של Verilog נמצא בתוך מודול.
חשוב על מודול בתור רכיב עם:
- קלטים (אותות שנכנסים)
- פלטים (אותות שיוצאים)
- התנהגות (מה הוא עושה)
תחביר מודול
module module_name ( inputs, outputs );
// כל מה שנמצא כאן בפנים
endmoduleכל מודול מתחיל ב־module ומסתיים ב־endmodule.
קלטים ופלטים
module and_gate(
input a, // a נכנס למודול
input b, // b נכנס למודול
output c // c יוצא מהמודול
);
// ההתנהגות מוגדרת כאן
endmodule- קלט = האות נכנס למודול
- פלט = האות יוצא מהמודול
הוספת התנהגות
עכשיו נגרום למודול לעשות משהו:
module and_gate(
input a,
input b,
output c
);
assign c = a & b; // c הוא 1 רק כאשר גם a וגם b הם 1
endmoduleassignמחבר באופן רציף את הצד הימני לצד השמאלי&פירושו AND ב-Verilog
אתגר
באתגר הזה, עליך ליצור מודול פשוט שמבצע את פעולת OR.
מה לעשות:
- שם המודול צריך להיות
or_gate - צריך להיות לו קלט בשם
x - צריך להיות לו קלט בשם
y - צריך להיות לו פלט בשם
z - בתוך המודול, השתמש ב-
assignכדי להגדיר ש-zיהיה שווה ל-x OR y
כותרת המודול ושלוש היציאות שלו כבר מופיעות בעורך. עליך להוסיף את שורת פקודת ה-assign בתוך המודול.
הערה: ב-Verilog, OR נכתב באמצעות הסימן האנכי |. הוא מחזיר 1 (אמת) אם לפחות אחד מהקלטים הוא 1 (אמת).
נסו בעצמכם
// כותרת המודול והפורטים שלו כבר נכתבו עבורכם
module or_gate(
input x,
input y,
output z
);
// תורכם: השתמשו ב־assign כדי להגדיר את z כ־x OR y
// ב־Verilog, כותבים OR כך: |
endmodule
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין