- 1
- 0
- 约9.21千字
- 约 85页
- 2021-03-11 发布于广东
- 举报
2021/2/11 * 2021/2/11 * 简洁的序列信号检测器: 2021/2/11 * 2021/2/11 * 三 存储器设计 1、ROM 2021/2/11 * 2021/2/11 * 2、SRAM 2021/2/11 * 2021/2/11 * 仿真结果: 2021/2/11 * * FSM有限状态机(简称状态机) 将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功能的过程,任何时序电路都可以表示为有限状态机。 FSM改善了纯硬件数字系统顺序方式控制的不灵活性。 状态机具有相对简单、易于排错的结构模式。 状态机容易构成性能良好的同步时序逻辑模块。 在实现可靠性方面,状态机有其巨大的优势。 状态机设计思想可广泛应用于诸多领域。 3.10 状态机的VHDL设计 有限状态机的组成 * 次态逻辑 状态寄存器 输出逻辑 输入 输出 状态 反馈 状态机=组合逻辑(次态逻辑+输出逻辑)+寄存器 组合逻辑又分为次态逻辑和输出逻辑两部分。次态逻 辑用来确定状态机的下一个状态,输出逻辑用来确定 有限状态机的输出。 组合逻辑又分为次态逻辑和输出逻辑两部分。次态逻 辑用来确定状态机的下一个状态,输出逻辑用来确定 有限状态机的输出。 用来存储状态机的内部状态 2021/2/11 * 状态机的VHDL设计 ·采用枚举类型来定义状态机的各个状态 ·采用多个进程描述状态机的内部逻辑 2021/2/11 * FSM 进程的VHDL描述方式: 2021/2/11 * 状态机的分类: 摩尔型状态机(Moore) --输出信号仅和当前状态有关并且仅在系统时钟同步下发生变化。 米勒型状态机(Mealy) --输出信号为当前状态、当前输入值、当前输出值的函数。 2021/2/11 * 3.10.1 摩尔状态机的VHDL设计 摩尔型状态机的输出仅与当前状态有关 次态 逻辑 状态 寄存器 输出 逻辑 复位信号 时钟信号 输入 次态 当前状态 输出 2021/2/11 * 摩尔型状态机真值表: 当前状态 下一状态 输出 X=0 X=1 S0 S0 S2 0 S1 S0 S2 1 S2 S2 S3 1 S3 S3 S1 0 2021/2/11 * 定义状态机 2021/2/11 * 2021/2/11 * 2021/2/11 * 2021/2/11 * 3.10.2 米勒状态机的VHDL设计 米勒型状态机的输出不仅是当前状态的函数,也是输入信号的函数。 次态 逻辑 状态 寄存器 输出 逻辑 复位信号 时钟信号 输入 次态 当前状态 输出 2021/2/11 * 米勒型状态机真值表: 当前状态 下一状态 输出 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 2021/2/11 * 定义状态机 2021/2/11 * 2021/2/11 * 2021/2/11 * 2021/2/11 * 有限状态机的容错设计: 状态机的容错设计主要是针对未定位状态(或称为剩余状态)。状态机的每一状态对应着一个用二进制表示的状态编码,因此,若需要的状态数不足2N(N为状态编码的二进制位数),则必然会有一些状态编码未使用,即剩余状态。系统一旦进入此状态,状态机的行为将出错。 例如:定义了S0,S1,S2,S3,S4,S5五个状态,分别用000,001,010,011,100表示,则剩余的编码101,110,111未被使用。 2021/2/11 * 剩余状态处理: 为了使系统进入未定义状态后能够回复正常工作,一般使用以下两种方法: 1、单独设计一个状态(如ERROR),用于处理状态机出错时的情况: WHEN OHTERS = state = ERROR;
原创力文档

文档评论(0)