回顾:可复用的位掩码
本课属于 Coddy Verilog 学习旅程的“RTL 设计与验证”单元。第 15 课,共 38 课。
挑战
中等构建一个 WIDTH 位的位清除电路,并使用命名的 generate 循环:每个输出位都等于对应位置的 a 位与 b 的反码进行 AND 运算。b 是清除掩码。WIDTH 为正数。锁定的测试平台会实例化 WIDTH 值为 1、4 和 8 的电路,对于较窄的实例使用 a 和 b 的低位。输出列依次为十进制的 y1、y4 和 y8。
完成 design.v,并保留其模块名称和端口。锁定的 testbench.v 会提供输入变化,并在信号稳定后输出结果。它会使用模拟器参数(例如 +CASE=1)选择场景;无需标准输入。不要在设计中添加打印语句、延迟或仿真终止语句。预期输出为每次观测对应一行十进制值,以一个空格分隔,并以换行符结尾。
亲手试试
module dut #(parameter WIDTH=4) (input [WIDTH-1:0] a,b, output [WIDTH-1:0] y);
// 实现参数化电路。
assign y = 0;
endmoduleRTL 设计与验证中的所有课
自己练习: Verilog 在线编译器