首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > 状态机学习心得

状态机学习心得

  • 资源大小:577 K
  • 上传时间:2024-04-08
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: 状态

资 源 简 介

  FSM 分两大类:米里型和摩尔型。   组成要素有输入(包括复位),状态(包括当前状态的操作),状态转移条件,状态的输出条件。   设计FSM 的方法和技巧多种多样,但是总结起来有两大类:第一种,将状态转移和状态的操作和判断等写到一个模块(process、block)中。另一种是将状态转移单独写成一个模块,将状态的操作和判断等写到另一个模块中(在Verilog 代码中,相当于使用两个“always” block)。其中较好的方式是后者。其原因   如下:   首先FSM 和其他设计一样,最好使用同步时序方式设计,好处不再累述。而状态机实现后,状态转移是用寄存器实现的,是同步时序部分。状态的转移条件的判断是通过组合逻辑判断实现的,之所以第二种比第一种编码方式合理,就在于第二种编码将同步时序和组合逻辑分别放到不同的程序块(process,block) 中实现。这样做的好处不仅仅是便于阅读、理解、维护,更重要的是利于综合器优化代码,利于用户添加合适的时序约束条件,利于布局布线器实现设计。显式的 FSM 描述方法可以描述任意的FSM(参考Verilog 第四版)P181 有限状态机的说明。两个 always 模块。其中一个是时序模块,一个为组合逻辑。时序模块设计与书上完全一致,表示状态转移,可分为同步与异步复位。
VIP VIP
0.183686s