Mô hình tham chiếu và điểm số
Thuộc phần Thiết kế và xác minh RTL trong hành trình Verilog của Coddy. Bài học 28 trên 38.
Một testbench tự kiểm tra sẽ tính toán hành vi mong đợi độc lập với đầu ra của thiết kế. Mô hình tham chiếu có thể dùng phép tính số học đơn giản ngay cả khi phần triển khai dùng cấu trúc khác. Scoreboard đếm số lần quan sát và số điểm không khớp. Khởi tạo các bộ đếm một lần cho mỗi kịch bản và chỉ so sánh sau khi đầu ra của thiết kế đã ổn định.
Đoạn trích liên quan; các khai báo và kết nối xung quanh được cung cấp trong thử thách.
expected = {1'b0,a} + {1'b0,b};
checked = checked + 1;
if(actual !== expected) errors = errors + 1;Giá trị mong đợi dựa trên hành vi đầu vào đã chỉ định, không phải từ việc sao chép actual.
Tính các giá trị mong đợi một cách độc lập, lấy mẫu tại một thời điểm xác định và theo dõi mọi kết quả đã kiểm tra.
Thử thách
Trung bìnhHãy triển khai phép kiểm tra đối chiếu cho bộ cộng không dấu bốn bit. Tính đầy đủ tổng toán học năm bit a+b, sau đó chỉ trả về ok=1 nếu actual khớp chính xác với kết quả đó trong phép so sánh bốn trạng thái. Mô-đun này chứa một task chỉ dùng trong mô phỏng, được testbench khóa gọi. Các cột đầu ra: ok.
Hoàn thiện design.v và giữ nguyên tên mô-đun cùng các cổng. testbench.v bị khóa sẽ cung cấp các thay đổi đầu vào và in đầu ra sau khi chúng ổn định. Testbench chọn một tình huống bằng đối số của trình mô phỏng như +CASE=1; không cần đầu vào tiêu chuẩn. Giữ nguyên phần in và điều khiển tình huống trong testbench bị khóa; chỉ triển khai phần thân task. Đầu ra mong đợi là một hàng giá trị thập phân cho mỗi lần quan sát, các giá trị cách nhau một dấu cách và kết thúc bằng ký tự xuống dòng.
Tự làm thử
module dut;
task check_sum;
input [3:0] a,b;
input [4:0] actual;
output ok;
reg [4:0] expected;
begin
// Hoàn thiện task kiểm tra.
ok=0;
end
endtask
endmoduleBài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Thiết kế và xác minh RTL
1RTL tổ hợp đáng tin cậy
Giá trị mặc định ngăn chốtBộ mã hóa ưu tiênKiểm tra one-hotGiải mã case an toànÔn tập: Bộ định tuyến yêu cầu2Độ rộng bit và số học có dấu
Bảo toàn các bit nhớPhép so sánh có dấuDịch phải số họcTràn số và bão hòaÔn tập: hiệu có dấu3RTL có thể tái sử dụng
Hàm tổ hợpTham số an toàn về độ rộngVòng lặp generateGenerate có điều kiệnÔn tập: mặt nạ bit có thể tái sử dụng6Testbench tự kiểm tra
Kiểm tra bốn trạng tháiTác vụ kiểm tra có thể tái sử dụngMô hình tham chiếu và điểm sốĐộ bao phủ biên và điều khiểnÔn tập: kiểm tra bộ cộngTự luyện tập: Trình biên dịch Verilog online