第三章VHDL程序设计3辨析.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2、SRAM * * 仿真结果: * FSM有限状态机(简称状态机) 将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功能的过程,任何时序电路都可以表示为有限状态机。 FSM改善了纯硬件数字系统顺序方式控制的不灵活性。 状态机具有相对简单、易于排错的结构模式。 状态机容易构成性能良好的同步时序逻辑模块。 在实现可靠性方面,状态机有其巨大的优势。 状态机设计思想可广泛应用于诸多领域。 3.10 状态机的VHDL设计 有限状态机的组成 * 次态逻辑 状态寄存器 输出逻辑 输入 输出 状态 反馈 状态机=组合逻辑(次态逻辑+输出逻辑)+寄存器 组合逻辑又分为次态逻辑和输出逻辑两部分。次态逻 辑用来确定状态机的下一个状态,输出逻辑用来确定 有限状态机的输出。 组合逻辑又分为次态逻辑和输出逻辑两部分。次态逻 辑用来确定状态机的下一个状态,输出逻辑用来确定 有限状态机的输出。 用来存储状态机的内部状态 * * 状态机的VHDL设计 ·采用枚举类型来定义状态机的各个状态 ·采用多个进程描述状态机的内部逻辑 * FSM 进程的VHDL描述方式: 状态机的分类: 摩尔型状态机(Moore) --输出信号仅和当前状态有关并且仅在系统时钟同步下发生变化。 米勒型状态机(Mealy) --输出信号为当前状态、当前输入值、当前输出值的函数。 3.10.1 摩尔状态机的VHDL设计 摩尔型状态机的输出仅与当前状态有关 次态 逻辑 状态 寄存器 输出 逻辑 复位信号 时钟信号 输入 次态 当前状态 输出 摩尔型状态机真值表: 当前状态 下一状态 输出 X=0 X=1 S0 S0 S2 0 S1 S0 S2 1 S2 S2 S3 1 S3 S3 S1 0 定义状态机 3.10.2 米勒状态机的VHDL设计 米勒型状态机的输出不仅是当前状态的函数,也是输入信号的函数。 次态 逻辑 状态 寄存器 输出 逻辑 复位信号 时钟信号 输入 次态 当前状态 输出 米勒型状态机真值表: 当前状态 下一状态 输出 X=0 X=1 X=0 X=1 S0 S0 S2 0 1 S1 S0 S2 0 0 S2 S2 S3 1 0 S3 S3 S1 0 1 定义状态机 * 有限状态机的容错设计: 状态机的容错设计主要是针对未定位状态(或称为剩余状态)。状态机的每一状态对应着一个用二进制表示的状态编码,因此,若需要的状态数不足2N(N为状态编码的二进制位数),则必然会有一些状态编码未使用,即剩余状态。系统一旦进入此状态,状态机的行为将出错。 例如:定义了S0,S1,S2,S3,S4,S5五个状态,分别用000,001,010,011,100表示,则剩余的编码101,110,111未被使用。 * 剩余状态处理: 为了使系统进入未定义状态后能够回复正常工作,一般使用以下两种方法: 1、单独设计一个状态(如ERROR),用于处理状态机出错时的情况: WHEN OHTERS = state = ERROR; 2、直接回到已设定的状态。如果系统对状态机的容错性要求不高,那么可以不对状态机出错进行处理,直接回到某一确定状态(如初始状态 S0)。 * 第3章 习题四 1、给触发器复位的方法有哪两种?如果时钟进程 中用了敏感信号表,哪种复位方法要求把复位 信号放在敏感信号表中? 2、设计一个任意 n 分频的分频器。 3、设计一个用于时钟(分、秒)计数的 60进制 的计数器(分个、十位)。 4、设计一个用于时钟(小时)计数的 24进制的 计数器(分个、十位)。 5、给定一个参考晶振频率 f = 1MHz,设计一个 数字电子表。 人有了知识,就会具备各种分析能力, 明辨是非的

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档