Menu
Coddy logo textTech

השוואות עם סימן

חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 7 מתוך 38.

אותה תבנית סיביות יכולה לייצג מספרים שונים עם סימן וללא סימן. הכרז על שני האופרנדים כ־signed כשמשווים ערכי משלים ל־2. ערבוב אופרנדים עם סימן וללא סימן יכול לשנות את אופן פירוש ההשוואה. שרשור הוא ביטוי ללא סימן, גם כשהוא מכיל אותות signed.

קטע רלוונטי; ההצהרות והחיבורים שמסביב מסופקים באתגר.

wire signed [7:0] a,b;
assign less = a < b;

ההצהרות signed גורמות לערכים שליליים להיות קטנים מערכים שאינם שליליים בהשוואה.

הקפד שאופרנדי ההשוואה יהיו תמיד signed, והרחב ערכי signed באמצעות ביט הסימן שלהם.

challenge icon

אתגר

בינוני

השווה בין signed של 8 סיביות a ו־b. הפלט less כאשר a קטן מ־b, ו־equal כאשר הם שווים. שתי הכניסות הן ערכי signed במשלים ל־2. עמודות הפלט: less, equal. כל ערכי העירור הם ערכים בינאריים ידועים.

השלם את design.v ושמור על שמות המודולים והיציאות שלו. ה־testbench.v הנעול מספק שינויי קלט ומציג את הפלטים לאחר התייצבותם. הוא בוחר תרחיש באמצעות ארגומנט סימולטור כגון +CASE=1; אין צורך בקלט סטנדרטי. אל תוסיף לתכנון הדפסות, השהיות או סיום סימולציה. הפלט הצפוי הוא שורה אחת של ערכים עשרוניים לכל תצפית, מופרדים ברווח יחיד ומסתיימים בשורה חדשה.

נסו בעצמכם

module dut (input signed [7:0] a, input signed [7:0] b, output less, output equal);
    // החליפו את מציין המקום הזה בתכנון שלכם.
    assign less = 0;
    assign equal = 0;
endmodule
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנון RTL ואימות

תרגלו בעצמכם: קומפיילר Verilog אונליין