有限状态机

有限状态机功能强大,但是不代表提倡;借助综合工具实现电路功能,对状态转移图或者verilog描述过程产生错误或者错误理解的话可能会出问题。

 

对状态转移图充分理解

 

有限状态机的状态不能太多,要尽可能小。

设计一个

 

 

三大方程:输出方程、状态转移方程、激励方程;

moore型速度快,仅受限于输出逻辑决定,mealy受输入信号和输出逻辑影响。

 

有限状态机是唯一可以不用知道相关的电路结构,

 

 

编码方式:二进制编码(功耗大,还存在竞争冒险,最简化);格雷码(相邻状态跳转时仅有一个bit发生变化);one-hot编码(任意状态跳转只有2个bit变化)

 

写法:两段式 (状态转移方程,输出方程&激励方程),三段式(状态转移方程,输出方程,激励方程)

 

因为仅有状态转移方程在存储电路中进行

使用case将状态隔离,

 

不建议,电路中可能会出问题,即使语法没问题:next_state=x 初始化,使得系统进入正确状态;

在if-else或者case语句中,状态一定要写完整,即使状态没有发生变化也要写上,分支一定要写全,每个分枝条件下状态和输出都要进行赋值,即使转态没有发生变化

 

两段式状态机

优点:把状态码的指定与状态机控制的输出联系起来,把状态的变化直接用作输出,可以提高输出信号的开关速度,并节省电路器件。

缺点:输出开关的维持时间必须与状态的维持时间一致。

posted @ 2020-01-07 11:32  Pent°  阅读(856)  评论(0编辑  收藏  举报