挑战:模式事件
本课属于 Coddy Verilog 学习旅程的“RTL 设计与验证”单元。第 37 课,共 38 课。
挑战
中等检测被接受的输入采样中的位模式 101。en=1 时,在上升沿接受 bit_in;en=0 时,保留部分匹配状态,并产生 hit=0。只有在接受的位完成 101 匹配时,才将寄存器 hit 设为 1。允许匹配重叠:10101 会产生两个脉冲。同步 rst 会清除状态和 hit,且优先级高于 en。输出列:hit。所有控制信号和数据在每个时钟上升沿之前都保持稳定;之后观察结果。
完成 design.v,并保留其模块名称和端口。锁定的 testbench.v 会提供输入变化,并在信号稳定后打印输出。它使用模拟器参数(例如 +CASE=1)选择场景;不需要标准输入。不要在设计中添加打印、延迟或仿真终止语句。预期输出为每次观测一行十进制值,值之间以一个空格分隔,并以换行符结束。
亲手试试
module dut (input clk, input rst, input en, input bit_in, output reg hit);
// 用你的设计替换这里的占位代码。
initial hit = 0;
endmoduleRTL 设计与验证中的所有课
自己练习: Verilog 在线编译器