Menu
Coddy logo textTech

שימור ביטי נשא

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

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

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

wire [8:0] total;
assign total = {1'b0,a} + {1'b0,b};

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

בחרו את רוחב התוצאה הנדרש והרחיבו את האופרנדים לפני ביצוע פעולות חשבון.

challenge icon

אתגר

בינוני

חבר את a ו־b ללא סימן, בני 8 סיביות, בלי לאבד את סיבית הנשיאה. החזר את הסכום המלא בן 9 הסיביות ב־total. הרחב במפורש את שני האופרנדים לתשעה סיביות. עמודות הפלט: total. כל ערכי הגירוי הם ערכים בינאריים ידועים.

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

נסו בעצמכם

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

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

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

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