FSM 分两大类:米里型和摩尔型。 组成要素有输入(包括复位),状态(包括当前状态的操作),状态转移条件,状态的输出条件。 设计FSM 的方法和技巧多种多样,但是总结起来有两大类:第一种,将状态转移和状态的操作和判断等写到一个模块(process、block)中。另一种是将状态转移单独写成一个模块,将状态的操作和判断等写到另一个模块中(在Verilog 代码中,相当于使用两个“always” block)。其中较好的方式是后者。其原因 如下: 首先FSM 和其他设计一样,最好使用同步时序方式设计,好处不再累述。而状态机实现后,状态转移是用寄存器实现的,是同步时序部分。状态的转移条件的判断是通过组合逻辑判断实现的,之所以第二种比第一种编码方式合理,就在于第二种编码将同步时序和组合逻辑分别放到不同的程序块(process,block) 中实现。这样做的好处不仅仅是便于阅读、理解、维护,更重要的是利于综合器优化代码,利于用户添加合适的时序约束条件,利于布局布线器实现设计。显式的 FSM 描述方法可以描述任意的FSM(参考Verilog 第四版)P181 有限状态机的说明。两个 always 模块。其中一个是时序模块,一个为组合逻辑。时序模块设计与书上完全一致,表示状态转移,可分为同步与异步复位。
标签: 状态
上传时间: 2015-01-02
上传用户:aa17807091
速检测器设直流电机PWM调速及转计
上传时间: 2013-10-18
上传用户:穿着衣服的大卫
欧姆龙最新PLC CPH1系列hostlink应用例子,用于编写上位机控制软件,通过串口直接控制PLC。用vc编写,方便转化为其他语言。 包括内容: 1:自封装串口类(来源于网络,做了适当修改) 2:多线程,线程间同步,通讯等。 3:生产者消费者模型应用,环形缓冲队列应用 4:欧姆龙hostlink通讯通讯同步处理,FCS校验值计算,各种hostlink指令使用示例。 5:线程消息处理类封装。 6:windows程序中带console调试界面,可把调试信息输出到控制台窗口及文件。 7:windows界面调试工具。(win32多线程程序设计一书中WM_COPYDATA例子封装,运行程序前启动目录中CopyRecv程序。) 8:自封装高精度计时器。(QueryPerformanceFrequency,QueryPerformanceCounter) 9:其他详见代码,此测试程序对初学者非常有帮助,而请大虾多指教。 e-mail:m__point@163.com
上传时间: 2013-12-25
上传用户:gaome
Some Aspects of Chess Programming,老外写的关于棋类人工智能程序设计的书。 1.overall look on chess programming 2.typical structure of a chess program 3.implementation of my own chess program 4.experiments
标签: Programming Aspects Chess Some
上传时间: 2016-01-22
上传用户:685
数据结构课程设计时,所需的封面及任务书版面,希望对大家有点用!
上传时间: 2016-08-01
上传用户:as275944189
基于Symbian os c++的手机电话薄毕业论文,从同学搞来的,写的很详细,任务书,论文齐全,这方面资源很少,希望需要的朋友喜欢。
上传时间: 2014-01-22
上传用户:wfeel
王元汉,李丽娟,李银平,结构分析的有限元法与程序设计 一书源程序
标签: 汉
上传时间: 2016-10-12
上传用户:hasan2015
这是一个由JAVA语言编写的程序.. 含有论文程序源代码,还有任务书
上传时间: 2014-01-24
上传用户:banyou
or1200开源risc cpu的verilog描述实现,cpu源代码分析与芯片设计一书的源码
上传时间: 2017-02-28
上传用户:litianchu
利用汇编语言编写电子钟程序,可以做微机原理的课程设计任务!我做的就是这个!
上传时间: 2017-04-04
上传用户:gaome