סיכום - בדיקת מחבר
חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 30 מתוך 38.
אתגר
בינוניממשו בדיקה עבור מחבר לא־חתום בן ארבע סיביות. צברו את checked ואת errors כמו בשיעור על לוח הניקוד, ושמרו על סיביות הכיסוי: סיבית 0 מסמנת a=b=0, סיבית 1 מסמנת a=b=15, וסיבית 2 מסמנת כל זוג קלט אחר. השוו את actual לסכום המלא בן חמש הסיביות באמצעות אי־שוויון בארבעה מצבים. הקורא מאתחל את כל המונים והדגלים. מודול זה מכיל task לשימוש בסימולציה בלבד, שנקראת על ידי ספסל הבדיקה הנעול. עמודות הפלט: checked, errors, seen.
השלימו את design.v ושמרו על שמות המודולים והיציאות שלו. testbench.v הנעול מספק שינויי קלט ומדפיס את הפלטים לאחר שהם מתייצבים. הוא בוחר תרחיש באמצעות ארגומנט של הסימולטור, כגון +CASE=1; אין צורך בקלט רגיל. השאירו את ההדפסה ואת בקרת התרחישים בספסל הבדיקה הנעול; ממשו רק את גוף ה־task. הפלט הצפוי הוא שורה אחת של ערכים עשרוניים לכל תצפית, מופרדים ברווח יחיד ומסתיימים בשורה חדשה.
נסו בעצמכם
module dut;
task audit;
input [3:0] a,b;
input [4:0] actual;
inout integer checked,errors;
inout [2:0] seen;
reg [4:0] expected;
begin
// השלימו את משימת הבדיקה.
checked=checked;errors=errors;seen=seen;
end
endtask
endmoduleכל השיעורים ביחידה תכנון RTL ואימות
1RTL קומבינטורי אמין
ערכי ברירת מחדל מונעים נעילותמקודדי עדיפותאימות One-Hotפענוח Case בטוחסיכום - נתב בקשות2רוחבי מילה ואריתמטיקה עם סימן
שימור ביטי נשאהשוואות עם סימןהזזות ימינה אריתמטיותגלישה ורוויהסיכום - הפרש עם סימן3RTL לשימוש חוזר
פונקציות קומבינטוריותפרמטרים בטוחים מבחינת רוחבלולאות GenerateGenerate מותנהסיכום - מסכת ביטים לשימוש חוזר6סביבות בדיקה עם בדיקה עצמית
בדיקות בארבעה מצביםמשימות בדיקה לשימוש חוזרמודלי ייחוס וניקודכיסוי מקרי קצה ובקרהסיכום - בדיקת מחברתרגלו בעצמכם: קומפיילר Verilog אונליין