繁体   English   中英

在时钟周期内获得恒定的输出

[英]Get constant output during clock cycles

我想在输入更改时更改输出,但更改后,在4个时钟周期内输出将保持不变。 4个时钟周期后,如果更改输入,则输出将随输入而更改。 总之,我想在输出变化后的4个时钟周期内等待。

我可以用第二个时钟来做,但是我不想使用这种方式。 如何获得如下所示的结果?

我正在使用Quartus II 9.0 Web Edition。

在此处输入图片说明

您将需要一个与输出信号绑定的3-bit counter1-bit register 在每个时钟滴答声中,如果3位计数器大于011 ,则取该输入并存储在1位寄存器中。 将计数器重置为000

此外,如果您的3位计数器不大于011 ,则将其递增。

因此,在发生4个时钟之前,3位计数器用作不使用输入更新输出的延迟。

希望您可以详细说明自己的Verilog描述。

您需要一个2位mod 4计数器来为1位数据寄存器生成启用选通脉冲。 计数器从00到11正常计数并溢出。 如果计数器等于00,则启用数据寄存器以存储接下来4个周期的输入值。

笔记:

  • 您的时序图未显示所描述的行为。 在时钟的触发上升沿之前生成第二高输出周期。
  • 如果输入与时钟异步,则需要先对其进行同步以避免亚稳态。
  • 我们的(mcleod_ideafix和我的)解决方案在输入和输出之间产生1个周期的延迟。 如果无法忍受,请从摩尔模型切换至Mealy模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM