ملخص - Testbench كامل
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 78 من 90.
التحدي
يختبر هذا التحدي كل ما تعلمته حول منصات الاختبار (testbenches): المحفزات (stimulus)، والعرض (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: x و y لـ reg قم بتعريف
// TODO: z لـ wire قم بتعريف
// TODO: dut بالاسم xor_gate قم بإنشاء نسخة من
// Connect .x(x), .y(y), .z(z)
initial begin
// TODO: "xor_waveform.vcd" لـ $dumpfile أضف
// TODO: (0, testbench) لـ $dumpvars أضف
// TODO: "Testing XOR Gate" لـ $display أضف
// TODO: z و y و x و الوقت لـ $monitor أضف
// Format: "Time %0t: x=%b, y=%b, z=%b"
// TODO: أضف المحفزات لجميع المجموعات الأربع
// 00, 01, 10, 11 مع تأخير #10
// TODO: "Test complete" لـ $display أضف
// TODO: $finish أضف
end
endmoduleجميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات14أساسيات الـ Testbench
ما هو الـ Testbenchإنشاء المحفزاتالمهام Display و Monitorالمهام Dumpfile و Dumpvarsاستخدام مهام النظامملخص - Testbench كامل3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة