有限状态机讲座2004130.PPT

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

* * 有限状态机基础知识及练习 辅导讲座 状态机一般定义 (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 ieee.std_logic_1164.ALL; 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 (clkEVENT 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; 自动门实例的方真(一) 状态机实例 自动门实例的方真(二) 状态机实例 通过 / 报警 投币 / 谢谢 加 锁 开 锁 投币 / 开锁 通过 / 加锁 异常处理优化 状态机实例 修改“加锁”状态的异常处理 初始状态 Φ / 加锁 投币 / 谢谢 加 锁 开 锁 投币 / 开锁 通过 / 加锁 异常处理优化 状态机实例 修改“加锁”状态的异常处理 初始状态 Φ / 加锁 一个更好的异常处理方案 投币 / 谢谢 加 锁 开 锁 投币 / 开锁 通过 / 加锁 初始状态 Φ / 加锁 违 例 通过 / 报警 通过 投币 解警

文档评论(0)

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

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

1亿VIP精品文档

相关文档