Menu
CoddyTech

参考模型与评分

本课属于 Coddy Verilog 学习旅程的“RTL 设计与验证”单元。第 28 课,共 38 课。

自检测试平台会独立于设计输出计算预期行为。即使实现采用了不同的结构,参考模型也可以使用简单的算术运算。计分板会统计观测次数和不匹配次数。每个场景只初始化一次计数器,并且仅在设计输出稳定后进行比较。

相关片段;声明和连接将在挑战中提供。

expected = {1'b0,a} + {1'b0,b};
checked = checked + 1;
if(actual !== expected) errors = errors + 1;

期望值来自指定的输入行为,而不是复制 actual。

独立计算预期值,在指定时间采样,并跟踪每个检查过的结果。

challenge icon

挑战

中等

为无符号四位加法器实现参考检查。计算完整的五位数学结果 a+b,然后仅当 actual 在四态比较中与该结果完全匹配时,返回 ok=1。此模块包含一个由锁定的测试平台调用、仅用于仿真的 task。输出列:ok。

完成 design.v,并保留其模块名称和端口。锁定的 testbench.v 会提供输入变化,并在输入稳定后打印输出。它会使用模拟器参数(例如 +CASE=1)选择场景;不需要标准输入。打印和场景控制应保留在锁定的测试平台中;只需实现 task 函数体。每次观测的预期输出为一行十进制值,值之间以一个空格分隔,并以换行符结尾。

亲手试试

module dut;
    task check_sum;
        input [3:0] a,b;
        input [4:0] actual;
        output ok;
        reg [4:0] expected;
        begin
            // 完成检查任务。
            ok=0;
        end
    endtask
endmodule
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

RTL 设计与验证中的所有课

自己练习: Verilog 在线编译器