网站大量收购独家精品文档,联系QQ:2885784924

SOC原理及應用实验指导书(修订实验4).doc

SOC原理及應用实验指导书(修订实验4).doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SOC原理及應用实验指导书(修订实验4)

实验四 有限状态机(FSM)的设计 一、实验目的 1.了解FSM的应用范围和两种类型的不同特点; 2.掌握FSM的电路结构和设计要点。 二、实验原理 FSM相关概念和设计要点 FSM适合于设计数字系统的控制模块。用Verilog HDL的case/if-else等语句能很好地描述基于状态机的设计。状态机可以认为是组合逻辑和时序逻辑的特殊组合。时序逻辑部分用于存贮状态,组合电路用于状态译码和产生输出信号。状态机的下一个状态不仅与输入信号有关,还与状态寄存器当前所处的状态有关。 状态机分为Mealy和Moore两种类型,前者的输出只是当前状态的函数,也就是状态的转换与输入信号无关,后者的输出则是当前状态和当前输入的函数,即状态的转换与输入信号有关。 状态机的表示方法:状态图、状态表和流程图。状态机设计要点: 一般采用同步时序方式,在时钟信号的触发下完成状态转移; 起始状态是指电路复位后所处的状态,选择一个合理的起始状态将使整个系统简洁、高效,有的综合器会自动为状态机的设计选择一个最佳的起始状态; 状态编码的方式主要有二进制编码、格雷编码和一位热码编码等: 二进制编码(Binary State Machine):采用普通的二进制数代表每个状态,如4个状态state0/state1/state2/state3对应编码为00/01/10/11。这种编码的缺点是相邻状态的转换有可能有多个比特发生变化(如01-10),瞬变次数多,容易产生毛刺,引起逻辑错误; 格雷编码(Gray Code State Machine): 4个状态state0/state1/state2/state3对应编码为00/01/11/10即为格雷编码方式。格雷码节省逻辑单元,而且在状态的顺序转换中相邻状态每次只有一个比特发生变化,这样减少了瞬变的次数,也减少了产生毛刺和一些暂态的可能。 一位热码编码(One-Hot State Machine Encoding):采用n位来编码具有n个状态的状态机 。如4个状态state0/state1/state2/state3对应编码为1000/0100/0010/0001。采用一位热码编码,虽然多用了触发器,但可以有效节省和简化组合电路。对于寄存器数量多而门逻辑相对缺乏的FPGA来说,采用一位热码编码可以有效地提高电路地速度和可靠性,也有利于提高器件资源的利用率。因此,对于FPGA器件,建议采用这种编码方式。采用这种编码会出现一些多余的状态,即一些无效的状态,需要增加default分支项,以便这些状态下能自动回到起始状态。 状态编码的定义可以用parameter或者`define语句。建议采用前者。尽量采用同步电路设计; `define state0 2’b00 //不要加分号 `define state1 2’b01 …. case (state) `state0: …; //不能少“`” …. 状态转换一般使用case/casex/casez描述。Case语句比if-else语句更清晰明了。此外,case语句的最后不要忘了default分支语句以避免锁存器的产生。 三、实验仪器 序号 名称 型号与规格 数量 备注 1 计算机系统(PC机) Intel奔腾系列,1G内存 1 2 Quarues 6.0以上 1 四、实验内容 状态机设计实例 设计一个控制A/D0809工作的状态机(Moore状态机) 参考例8-2 设计Mealy状态机 参考例8-5 五、思考题 Mealy和Moore两种类型的区别? 蚅肂 《SOC原理及应用》实验指导书 7

文档评论(0)

bmdj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档