סיכום — Testbench מלא
חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 78 מתוך 90.
אתגר
האתגר הזה בודק את כל מה שלמדת על ספסלי בדיקה: גירויים, display, monitor, dumpfile, dumpvars ומשימות מערכת. נתון לך מודול שער XOR לבדיקה.
מה לעשות:
יש ליצור ספסל בדיקה מלא ש:
- מכריז על אותות (
regלקלטים,wireלפלט) - יוצר מופע של שער XOR בשם
dut - יוצר קובץ צורת גל בשם
xor_waveform.vcd - שומר את כל האותות שבספסל הבדיקה
- מדפיס כותרת: "Testing XOR Gate"
- משתמש ב־
$monitorכדי לעקוב אחר הזמן, x, y ו־z - בודק את כל ארבעת צירופי הקלט (00, 01, 10, 11), עם השהיה של
#10בין כל צירוף - מדפיס "Test complete" בסוף
- מסיים את הסימולציה באמצעות
$finish
נסו בעצמכם
module xor_gate (
input x,
input y,
output z
);
assign z = x ^ y;
endmodule
module testbench;
// TODO: הצהירו על reg עבור x ו-y
// TODO: הצהירו על wire עבור z
// TODO: צרו מופע של xor_gate בשם dut
// חברו את .x(x), .y(y), .z(z)
initial begin
// TODO: הוסיפו $dumpfile "xor_waveform.vcd"
// TODO: הוסיפו $dumpvars (0, testbench)
// TODO: הוסיפו $display "Testing XOR Gate"
// TODO: הוסיפו $monitor עבור הזמן, x, y, z
// פורמט: "Time %0t: x=%b, y=%b, z=%b"
// TODO: הוסיפו גירויים עבור כל ארבעת הצירופים
// 00, 01, 10, 11 עם השהיה של #10
// TODO: הוסיפו $display "Test complete"
// TODO: הוסף $finish
end
endmoduleכל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים14יסודות ה־Testbench
מהו Testbenchיצירת אותות גירויהצגה וניטורDumpfile ו־Dumpvarsשימוש במשימות מערכתסיכום — Testbench מלא3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין