1 / 21
文档名称:

779-有限状态机基础知识及练习.ppt

格式:ppt   页数:21
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

779-有限状态机基础知识及练习.ppt

上传人:小玉儿 2012/2/3 文件大小:0 KB

下载得到文件列表

779-有限状态机基础知识及练习.ppt

文档介绍

文档介绍:有限状态机基础知识及练习
辅导讲座
状态机一般定义
(Finite State Machine,FSM)
◆状态机——一个离散数学模型。给定
一个输入集合,根据对输入的接受次序
来决定一个输出集合。(摩尔状态机)
◆状态——系统的基本数学特征。
◆有限状态机——输入集合和输出集合
都是有限的,并只有有限数目的状态。
输入集合 A
输出集合
X
状态记忆
输出形成
状态迁移
状态机一般结构
CLK
组合逻辑
时序逻辑
同步
当前状态
后续状态
S
a1 , a2 , …, an
x1 , x2 , …, xn
状态位置
状态名称
转移方向
输入集合
(触发事件)
输出集合
(执行动作)
状态等待
状态迁移图
nn
a1 , a2 , …, an
x1 , x2 , …, xn
状态位置
状态名称
转移方向
输入集合
(触发事件)
输出集合
(执行动作)
状态等待
状态迁移图
S
状态编码
状态机实例——自动门
有一自动门,它可以被锁上,也可以开锁。当门锁上时,某人可以在它的槽中塞进一枚硬币。这样,门就会自动开锁,转变到开锁的状态;人通过后,门就会自动锁上。
我们希望把自动门交给一个简单的 FSM管理。通过对这个简单 FSM 的分析, 了解FSM 的设计过程。
自动门的基本状态
加锁
开锁
投币/ 开锁
通过/ 加锁
初始状态
Φ/ 加锁
状态机实例
异常处理
通过/ 报警
投币/ 谢谢
加锁
开锁
投币/ 开锁
通过/ 加锁
初始状态
Φ/ 加锁
状态机实例
自动门的结构简图
状态机实例
声光报警
投币传感器
通过传感器
加锁执行
控制器
开锁执行
“谢谢”
时钟 CLK
自动门实例的VHDL描述
状态机实例
LIBRARY ieee;
USE ;
ENTITY door_contr IS
PORT (
clk,reset,coin,pass: IN std_logic;
door,alarm,thank: OUT std_logic
);
END door_contr;
ARCHITECTURE behavior OF door_contr IS
TYPE states IS (lock,unlock);
SIGNAL next_state: states;
BEGIN
PROCESS (clk)
BEGIN
IF (reset = '1') THEN
next_state <= lock;
alarm <= '0';
thank <= '0';
door <= '0';
ELSIF (clk'EVENT AND clk = '1') THEN
CASE next_state IS
WHEN lock =>
IF (coin = '1') THEN
next_state <= unlock;
door <= '1';
ELSIF (pass = '1') THEN
next_state <= lock ;
alarm <= '1';
door <= '0';
END IF;
WHEN unlock =>
IF (coin = '1') THEN
next_state <= unlock;
thank <= '1';
door <= '1';
ELSIF (pass = '1') THEN
next_state <= lock;
door <= '0';
END IF;
END CASE;
END IF;
END PROCESS;
END behavior;