Menu
CoddyTech

挑战:奇偶流程

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

challenge icon

挑战

中等

构建一个两级奇偶校验流水线。首先捕获字节数据和 in_valid。在随后的非复位时钟边沿,如果前一拍的有效信号为高,输出奇偶校验值就是前一拍捕获字节的归约异或结果,否则为零。out_valid 是延迟一拍的有效信号。同步 rst 会清除两个阶段和输出。输出列:parity、out_valid。所有控制信号和数据都要在每个上升时钟边沿之前保持稳定;之后观察结果。

完成 design.v,并保留其模块名称和端口。锁定的 testbench.v 会提供输入变化,并在信号稳定后打印输出。它会使用模拟器参数(例如 +CASE=1)选择场景;不需要标准输入。不要在设计中添加打印、延迟或仿真终止操作。预期输出是每次观察对应一行十进制值,值之间用一个空格分隔,并以换行符结尾。

亲手试试

module dut (input clk, input rst, input in_valid, input [7:0] data, output reg parity, output reg out_valid);
    // 用你的设计替换此处的占位内容。
    initial parity = 0;
    initial out_valid = 0;
endmodule

RTL 设计与验证中的所有课

自己练习: Verilog 在线编译器