FSM 分两大类:米里型和摩尔型。
组成要素有输入(包括复位),状态(包括当前状态的操作),状态转移条件,状态的输出条件。
设计FSM 的方法和技巧多种多样,但是总结起来有两大类:第一种,将状态转移和状态的操作和判断等写到一个模块(process、block)中。另一种是将状态转移单独写成一个模块,将状态的操作和判断等写到另一个模块中(在Verilog 代码中,相当于使用两个“always” block)。其中较好的方式是后者。其原因
如下:
首先FSM 和其他设计一样,最好使用同步时序方式设计,好处不再累述。而状态机实现后,状态转移是用寄存器实现的,是同步时序部分。状态的转移条件的判断是通过组合逻辑判断实现的,之所以第二种比第一种编码方式合理,就在于第二种编码将同步时序和组合逻辑分别放到不同的程序块(process,block) 中实现。这样做的好处不仅仅是便于阅读、理解、维护,更重要的是利于综合器优化代码,利于用户添加合适的时序约束条件,利于布局布线器实现设计。显式的 FSM 描述方法可以描述任意的FSM(参考Verilog 第四版)P181 有限状态机的说明。两个 always 模块。其中一个是时序模块,一个为组合逻辑。时序模块设计与书上完全一致,表示状态转移,可分为同步与异步复位。
资源简介: FSM 分两大类:米里型和摩尔型。 组成要素有输入(包括复位),状态(包括当前状态的操作),状态转移条件,状态的输出条件。 设计FSM 的方法和技巧多种多样,但是总结起来有两大类:第一种,将状态转移和状态的操作和判断等写到一个模块(process、bl...
上传时间: 2013-10-23
上传用户:yupw24
资源简介: FSM 分两大类:米里型和摩尔型。 组成要素有输入(包括复位),状态(包括当前状态的操作),状态转移条件,状态的输出条件。 设计FSM 的方法和技巧多种多样,但是总结起来有两大类:第一种,将状态转移和状态的操作和判断等写到一个模块(process、bl...
上传时间: 2015-01-02
上传用户:aa17807091
资源简介:VHDL状态机学习笔记,对初学者有很重要的帮助意义
上传时间: 2014-01-03
上传用户:zhenyushaw
资源简介:1.设计目的 (1)设计交通灯控制器; (2)学习状态机的设计方法; (3)学习原理图、状态机等多种的设计方法进行混合设计; (4)熟练掌握器件设计输入、编译、仿真和编程的过程。 2.设计内容 位于十字路口的交通灯,在A方向和B方向各有红、黄...
上传时间: 2016-03-13
上传用户:mikesering
资源简介:这是马潮老师最新力做< AVR单片机潜入式系统原理与应用实践>>中有关用状态机方法编写的按键去抖动的C程序,用CVAVR编译,对想熟悉和学习AVR单片机的朋友一定有用.注释详细,一看就懂.
上传时间: 2014-01-06
上传用户:努力努力再努力
资源简介:经典双进程状态机(含test beach),很好的内容,供大家学习交流
上传时间: 2014-01-12
上传用户:yzhl1988
资源简介:人民邮电出版社<<设计与验证verilog hdl >>一书的配套光盘,包含书上所有原代码,特别是状态机部分,值得学习
上传时间: 2013-12-27
上传用户:jichenxi0730
资源简介:红帽版linux下串口通讯kermit文件传输协议简单版源码.想学习kermit的可以看看,里面关于状态机用的比较精彩.先解压成rpm,再在linux下解压.
上传时间: 2017-01-04
上传用户:asdfasdfd
资源简介:音频DA tlv5636的接口程序 经过硬件测试的成功 学习状态机对器件编程的经典
上传时间: 2014-01-08
上传用户:plsee
资源简介:键盘输入接口与状态机编程
上传时间: 2013-10-21
上传用户:520