【FGPA】有限状态机

时序电路描述

【FGPA】有限状态机

【FGPA】有限状态机

【FGPA】有限状态机

【FGPA】有限状态机

时序电路分类

时序电路按照信号输出方式分: Mealy型 Moore型

【FGPA】有限状态机

【FGPA】有限状态机

从结构上分:

单进程和多进程.

从状态表达方式分:

符号化状态机和确定状态编码的状态机.

从状态编码方式分:

顺序编码、一位热码编码和其他编码方式状态机

有限状态机(Finite-state machine, FSM)

Moore Machine

输出仅是当前状态的函数

Mealy Machine

输出是当前状态和输入的函数

 【FGPA】有限状态机

 【FGPA】有限状态机

 【FGPA】有限状态机


带有记忆的任何电路都是一个有限状态机

计算机可被视为多个状态机的一个集合

有限状态机的设计包括

定义状态

定义状态之间的转换方式

状态机输出

状态机的数据类型必须是枚举的:

TYPE enume_name IS (value1, value2, value3,… valueN);

当前状态值必须是

signal: SIGNAL current_state: state_type;

为确定状态转移,

需要: 在IF-THEN语句中使用CASE语句检查时钟条件

为确定状态机输出:

使用条件或选择信号赋值语句 或者使用CASE语句

数据类型

标准数据类型(预定义数据类型):bit、std_logic、…

自定义数据类型:枚举类型、自定义整数类型… 枚举类型

【FGPA】有限状态机

 【FGPA】有限状态机

Moore FSM 例子

 【FGPA】有限状态机

 【FGPA】有限状态机

【FGPA】有限状态机

 【FGPA】有限状态机

 【FGPA】有限状态机

Moore FSM评述

三部分

状态声明

  Type state_type is (s0, s1, s2, s3);

  Signal state : state_type;

状态转移进程

  Case 语句用来检查 current state.

  IF-THEN-ELSE 用来确定 next state.

组合逻辑进程

  输出信号取决于 current state.

  只有状态出现在敏感表中,因为 Moore FSM 的输出仅取决于 current state.

三进程的Moore FSM

【FGPA】有限状态机

【FGPA】有限状态机

 【FGPA】有限状态机

【FGPA】有限状态机

 【FGPA】有限状态机

 【FGPA】有限状态机


【FGPA】有限状态机

 【FGPA】有限状态机

【FGPA】有限状态机

【FGPA】有限状态机


Mealy FSM

【FGPA】有限状态机

【FGPA】有限状态机

Just like the Moore FSM except a slight difference.

The output is related to not only the current state, but also the input.

【FGPA】有限状态机


A Moore FSM 例子

Moore FSM that Recognizes Sequence “10”

【FGPA】有限状态机

【FGPA】有限状态机

A Mealy FSM

Mealy FSM that Recognizes Sequence “10”

【FGPA】有限状态机

【FGPA】有限状态机

相关推荐