Verilog状态机设计技术

广义而论,只要涉及触发器的电路,无论电路大小都能归结为状态机。
有限状态机的优势:
  1. 高效的顺序控制模型,状态机的工作方式是根据控制信号按照预先设定的状态进行顺序进行的
  2. 容易利用现成的EDA工具进行优化设计。
  3. 性能稳定,容易构成性能良好的同步时序逻辑模块,消除电路中的毛刺现象,强化系统工作稳定性方面有更多的解决方案。
  4. 高速性能
  5. 高可靠性能
分类:
  • 从信号输出方式上分,有Mealy型和Moore型两种状态机
  • 从状态机的结构描述上来分,有单过程状态机和多过程状态机
  • 从状态的表达方式上来分,有符号化状态机和确定状态编码的状态机
  • 从状态机编码方式上分,有顺序编码、一位热码编码或其他编码方式状态机
1、状态机说明部分
包含状态转换变量的定义和所有可能状态的说明,必要时还要确定每一状态的编码形式。
typedef、enum
2、主控时序过程
负责状态机运转和在时钟驱动下负责状态转换的过程。状态机是随外部时钟信号以同步时序方式工作的。当时钟有效跳变到来时,时序过程只是机械的将代表次态的信号next_state中的内容送入现态的信号current_state中,而信号next_state中的内容完全由其他过程根据实际情况来决定。设计比较固定、单一和简单
3、主控组合过程
通过信号current_state中的状态值,进入相应的状态,并在此状态中根据外部的信号(state_inputs)发出控制信号,同时确定下一个状态的走向,即向次态信号next_state中赋相应的值。
也成为状态译码过程,根据外部输入的控制信号以及来自状态机内部其他主控的组合或时序过程的信号,或/和当前状态的状态值,确定下一个状态的取向,以及对外输出或对内部其他组合或时序过程输出控制信号的内容。
4、辅助过程
辅助过程用于配合状态及工作的组合过程或时序过程。
Moore型状态机及其设计(输出信号 = G(当前状态))
Mealy型状态机的输出是当前状态和所有输入信号的函数,它的输出是在输入变化后立即发生的,不依赖于时钟同步。Moore型状态机的输出仅为当前状态的函数,这类状态机在输入发生变化后还必须等待时钟的到来,时钟使状态发生变化时才导致输出的变化,所以比Mealy机要多等待一个时钟周期。
多过程状态机、序列检测器
Verilog状态机设计技术_第1张图片
Mealy型状态机及其设计(输出信号 = G(当前状态,输入信号))
Mealy机的组合过程结构中的输出信号使当前状态和当前输入的函数。

Verilog状态机设计技术_第2张图片

你可能感兴趣的:(EDA)