如何写好Verilog状态机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何写好Verilog状态机相关的知识,希望对你有一定的参考价值。

参考技术A 状态机描述主要有以下几个方面,即如何进行状态转移,状态转移的条件,每个状态的输出是什么;而最佳的状态机就是将三者分开,由组合逻辑和非组合逻辑搭配组成,这样程序易读,易维护,同时方便添加约束条件。
2
第一段状态,时序电路的always模块,用同步电路描述状态跳转的过程,这样可利用触发器消除不稳定状态。
3
第二段状态,组合逻辑always模块,用以描述状态转移的判断条件,利用组合逻辑实现,达到立即判断的效果,在下一时钟边沿同步变化
4
第三段状态,时序电路always模块,用以描述每一段状态的结果输出,使用时序电路实现,消除不稳定状态的变化,达到同步跳转的效果
5
三段式状态机做到了同步寄存器输出,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组,在FPGA的综合与布局布线效果更佳,提高电路运行时钟,加大布线成功率。

怎么定义Verilog状态机每个状态执行啥动作?

比如说状态一:八位循环右移,状态二:循环左移。菜鸡一枚,大家说的通俗一点,哭了哭了。

参考技术A 你可以找找sunburst design网站,在上面有几篇很经典的关于状态机的文章,你可以学习他们的三段式状态机设计。然后你就明白状态机和具体的执行应该如何设计verilog电路。有空好好的看看上面的复位设计,那个也是一个很经典的文章。

以上是关于如何写好Verilog状态机的主要内容,如果未能解决你的问题,请参考以下文章

verilog中的隐式状态机和显示状态机?

verilog状态机中的一个状态执行时间问题

verilog 三段式状态机 求助

verilog HDL中Moore 有限状态机 的初始状态。

如何用verilog设计有限状态机

verilog状态机检测110序列,急救!!!!!!!!!