Menu
CoddyTech

Viết testbench

Thuộc phần Kiến thức nền tảng trong hành trình Verilog của Coddy. Bài học 45 trên 90.

challenge icon

Thử thách

Giờ chúng ta cần kiểm tra xem bộ cộng bán phần có hoạt động chính xác không. Thêm code kiểm tra vào bên trong khối initial.

Quan trọng: Trước khi thêm phần kiểm tra, bạn cần thay đổi các cổng của module để phần kiểm tra hoạt động chính xác.

Cần làm:

Bước 1: Thay đổi khai báo cổng

  • Thay input a, b bằng reg a, b (dùng dấu chấm phẩy)
  • Thay output sum, carry bằng wire sum, carry (dùng dấu chấm phẩy)
  • Xóa toàn bộ các cổng của module (module không nên có ( ))

Bước 2: Thêm code kiểm tra

  1. Thêm khối initial begin
  2. Bên trong khối, thêm:
$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. Thêm $finish; để kết thúc phần kiểm tra
  2. Thêm end để đóng khối initial

Tự làm thử

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

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Verilog online