Menu
Coddy logo textTech

סיכום — Testbench מלא

חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 78 מתוך 90.

challenge icon

אתגר

האתגר הזה בודק את כל מה שלמדת על ספסלי בדיקה: גירויים, display, monitor, dumpfile, dumpvars ומשימות מערכת. נתון לך מודול שער XOR לבדיקה.
מה לעשות:

יש ליצור ספסל בדיקה מלא ש:

  1. מכריז על אותות (reg לקלטים, wire לפלט)
  2. יוצר מופע של שער XOR בשם dut
  3. יוצר קובץ צורת גל בשם xor_waveform.vcd
  4. שומר את כל האותות שבספסל הבדיקה
  5. מדפיס כותרת: "Testing XOR Gate"
  6. משתמש ב־$monitor כדי לעקוב אחר הזמן, x, y ו־z
  7. בודק את כל ארבעת צירופי הקלט (00, 01, 10, 11), עם השהיה של #10 בין כל צירוף
  8. מדפיס "Test complete" בסוף
  9. מסיים את הסימולציה באמצעות $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

כל השיעורים ביחידה יסודות

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