משימות בדיקה לשימוש חוזר
חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 27 מתוך 38.
task ב-Verilog מקבץ עבודה פרוצדורלית ויכול להחזיר תוצאות באמצעות ארגומנטים מסוג output או inout. משימות ב-testbench מצמצמות בדיקות כפולות. בניגוד ל-function קומבינטורית, task יכול לכלול בקרות תזמון כשמתאים, אך משימות הבדיקה האלה מבצעות רק השוואות שאורכן אפס זמן. השתמש במשימות אוטומטיות אם קריאות מקבילות נפרדות זקוקות לאחסון מקומי עצמאי; הקריאות שסופקו כאן הן סדרתיות.
קטע רלוונטי; ההצהרות והחיבורים מסביב מסופקים באתגר.
task check_value;
input [7:0] actual,expected;
output ok;
begin ok = (actual === expected); end
endtaskהפונקציה הקוראת מקבלת את תוצאת הבדיקה באמצעות ארגומנט פלט מפורש.
הגדירו את כיווני הארגומנטים של task ואפסו משתני תוצאה בכל קריאה לפני איסוף הכשלים.
אתגר
בינוניממשו את check_value כך ש־ok יהיה אחד כאשר actual ו־expected תואמים לפי השוואה בארבעה מצבים, ואפס אחרת. המודול הזה מכיל task שמיועד לסימולציה בלבד, ונקרא על ידי סביבת הבדיקה הנעולה. עמודות הפלט: ok.
השלימו את design.v ושמרו על שמות המודולים והיציאות שלו. testbench.v הנעול מספק שינויים בקלט ומדפיס את הפלטים לאחר התייצבותם. הוא בוחר תרחיש באמצעות ארגומנט סימולטור כגון +CASE=1; אין צורך בקלט סטנדרטי. השאירו את ההדפסה ואת בקרת התרחישים בסביבת הבדיקה הנעולה; ממשו רק את גוף ה־task. הפלט הצפוי הוא שורה אחת של ערכים עשרוניים לכל תצפית, מופרדים ברווח אחד ומסתיימים בשורה חדשה.
נסו בעצמכם
module dut;
task check_value;
input [7:0] actual,expected;
output ok;
begin
// השלימו את משימת הבדיקה.
ok=0;
end
endtask
endmoduleהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנון RTL ואימות
1RTL קומבינטורי אמין
ערכי ברירת מחדל מונעים נעילותמקודדי עדיפותאימות One-Hotפענוח Case בטוחסיכום - נתב בקשות2רוחבי מילה ואריתמטיקה עם סימן
שימור ביטי נשאהשוואות עם סימןהזזות ימינה אריתמטיותגלישה ורוויהסיכום - הפרש עם סימן3RTL לשימוש חוזר
פונקציות קומבינטוריותפרמטרים בטוחים מבחינת רוחבלולאות GenerateGenerate מותנהסיכום - מסכת ביטים לשימוש חוזר6סביבות בדיקה עם בדיקה עצמית
בדיקות בארבעה מצביםמשימות בדיקה לשימוש חוזרמודלי ייחוס וניקודכיסוי מקרי קצה ובקרהסיכום - בדיקת מחברתרגלו בעצמכם: קומפיילר Verilog אונליין