אופרטורי השוואה
חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 21 מתוך 90.
אופרטורי השוואה משווים בין שני ערכים ומחזירים 1 (אמת) או 0 (שקר).
אופרטורי השוואה זמינים
| אופרטור | משמעות |
|---|---|
== | שווה ל־ |
!= | לא שווה ל־ |
> | גדול מ־ |
< | קטן מ־ |
>= | גדול או שווה ל־ |
<= | קטן או שווה ל־ |
דוגמת קוד
module comparison_demo;
reg [3:0] a, b;
reg result;
initial begin
a = 5;
b = 3;
result = (a == b);
$display("5 == 3 : %d", result); // 0 (שקר)
result = (a != b);
$display("5 != 3 : %d", result); // 1 (אמת)
result = (a > b);
$display("5 > 3 : %d", result); // 1 (אמת)
result = (a < b);
$display("5 < 3 : %d", result); // 0 (שקר)
result = (a >= 5);
$display("5 >= 5 : %d", result); // 1 (אמת)
result = (a <= 3);
$display("5 <= 3 : %d", result); // 0 (שקר)
$finish;
end
endmoduleפלט:
5 == 3 : 0
5 != 3 : 1
5 > 3 : 1
5 < 3 : 0
5 >= 5 : 1
5 <= 3 : 0שימוש בהשוואות בתנאים
לעיתים קרובות משתמשים בהשוואות במשפטי if:
if (count == 10)
$display("Reached maximum");
if (value > threshold)
$display("Value is too high");הערות חשובות
- תוצאות ההשוואה הן ערכים של סיבית אחת (0 או 1)
- השוואות פועלות עם כל רוחב סיבית
- יש להיזהר עם
==ועם!=כאשר האותות מכילים X או Z (הם יחזירו X)
אתגר
כתבו את ביטויי ההשוואה הנכונים עבור כל משימה.
מה צריך לעשות:
- בדקו אם
aשווה ל־bושמרו את התוצאה ב־eq - בדקו אם
aגדול מ־bושמרו את התוצאה ב־gt - בדקו אם
aקטן מ־bאו שווה לו ושמרו את התוצאה ב־le
נסו בעצמכם
module comparison_challenge;
reg [3:0] a, b;
reg eq, gt, le;
initial begin
a = 4'd7;
b = 4'd7;
eq = ______; // a שווה ל-b
gt = ______; // a גדול מ-b
le = ______; // a קטן מ-b או שווה לו
$display("a = %d, b = %d", a, b);
$display("a == b : %d", eq);
$display("a > b : %d", gt);
$display("a <= b : %d", le);
$finish;
end
endmoduleהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין