Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

كتابة الـ Testbench

جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 45 من 90.

challenge icon

التحدي

الآن نحتاج إلى اختبار ما إذا كان الجامع النصفي (half adder) يعمل بشكل صحيح. أضف كود الاختبار داخل كتلة initial.

هام: قبل إضافة الاختبار، يجب عليك تغيير منافذ الوحدة (module ports) حتى يعمل الاختبار بشكل صحيح.

ما يجب فعله:

الخطوة 1: تغيير إعلانات المنافذ

  • قم بتغيير input a, b إلى reg a, b (استخدم الفاصلة المنقوطة)
  • قم بتغيير output sum, carry إلى wire sum, carry (استخدم الفاصلة المنقوطة)
  • قم بإزالة منافذ الوحدة بالكامل (يجب ألا تحتوي الوحدة على ( ))

الخطوة 2: إضافة كود الاختبار

  1. أضف كتلة initial begin
  2. داخل الكتلة، أضف:
$display("a b | sum carry"); 
a = 0; b = 0; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 0; b = 1; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 1; b = 0; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 1; b = 1; #1 $display("%d %d |  %d    %d", a, b, sum, carry);
    
  1. أضف $finish; لإنهاء الاختبار
  2. أضف end لإغلاق كتلة initial

جرّب بنفسك

module half_adder (
  input a,
  input b,
  
  output sum,
  output carry
);
  assign sum = a ^ b;
  assign carry = a & b;
  
endmodule

جميع دروس الأساسيات