我希望在输入更改后更改输出,但在此更改后,我的输出将在4个时钟周期内保持不变。经过4个时钟周期后,如果输入改变,输出将改变输出。总之,我希望在输出发生变化后的4个时钟周期内等待。
我可以用第二个时钟做,但我不想用这种方式。如何获得下面显示的重新开始?
我使用的是Quartus II 9.0网络版。
答案 0 :(得分:0)
您的输出信号需要3-bit counter
和1-bit register
。
在每个clk tick处,如果3位计数器大于011
,则取输入并存储在1位寄存器中。将计数器重置为000
。
此外,如果您的3位计数器不大于011
,请将其递增。
因此,3位计数器用作延迟,在输入4个时钟之前不用输入更新输出。
有了这个,你可以希望详细说明你自己的Verilog描述。
答案 1 :(得分:0)
您需要一个2位mod 4计数器来为1位数据寄存器生成使能选通。计数器从00到11正常计数并溢出。如果计数器等于00,则启用数据寄存器以存储接下来4个周期的输入值。
备注:强>