תכנון מרבב 4 ל־1
חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 65 מתוך 90.
אתגר
מרבב 4 ל־1
למרבב 4 ל־1 יש ארבע כניסות נתונים (in0, in1, in2, in3), שתי סיביות בחירה (sel[1:0]) ויציאה אחת (out). שתי סיביות הבחירה קובעות איזו כניסה תועבר ליציאה:
- כאשר
sel = 2'b00, היציאה היאin0 - כאשר
sel = 2'b01, היציאה היאin1 - כאשר
sel = 2'b10, היציאה היאin2 - כאשר
sel = 2'b11, היציאה היאin3
תבנו את המרבב הזה בשתי דרכים: תחילה באמצעות פקודות if-else, ולאחר מכן, בשיעור הבא, באמצעות פקודת case. שתי השיטות עובדות, אבל case לרוב נקייה יותר כשיש אפשרויות רבות.
מרבב 4 ל־1 בוחר אחת מארבע כניסות ומעביר אותה ליציאה בהתאם לאות בחירה בן 2 סיביות.
טבלת אמת
| sel1 | sel0 | out |
|---|---|---|
| 0 | 0 | out = in0 |
| 0 | 1 | out = in1 |
| 1 | 0 | out = in2 |
| 1 | 1 | out = in3 |
כאשר sel הוא 00, היציאה עוקבת אחר in0. כאשר sel הוא 01, היציאה עוקבת אחר in1. כאשר sel הוא 10, היציאה עוקבת אחר in2. כאשר sel הוא 11, היציאה עוקבת אחר in3.
מה לעשות:
- צרו מודול בשם
mux4to1 - הוסיפו כניסה
in0(סיבית אחת) - הוסיפו כניסה
in1(סיבית אחת) - הוסיפו כניסה
in2(סיבית אחת) - הוסיפו כניסה
in3(סיבית אחת) - הוסיפו כניסה
sel(2 סיביות) - הוסיפו יציאה
out(סיבית אחת, מסוגreg) - הוסיפו בלוק
always @(*) - בתוכו, הוסיפו פקודת
if-elseשבודקת אתsel:- אם
sel == 2'b00, הגדירוout = in0 - אחרת, אם
sel == 2'b01, הגדירוout = in1 - אחרת, אם
sel == 2'b10, הגדירוout = in2 - אחרת, הגדירו
out = in3
- אם
- סיימו באמצעות
endmodule
נסו בעצמכם
// שלב 1: צרו מודול בשם mux4to1
// שלב 2: הוסיפו קלט in0
// שלב 3: הוסיפו קלט in1
// שלב 4: הוסיפו קלט in2
// שלב 5: הוסיפו קלט in3
// שלב 6: הוסיפו קלט sel (2 ביטים)
// שלב 7: הוסיפו פלט out (מסוג reg)
// שלב 8: הוסיפו בלוק always @(*)
// שלב 9: הוסיפו פקודת if-else
// אם sel == 2'b00, אז out = in0
// אחרת, אם sel == 2'b01, אז out = in1
// אחרת, אם sel == 2'b10, אז out = in2
// אחרת, out = in3
// שלב 10: Endmoduleכל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין