状态机及其VHDL设计

上传人:第** 文档编号:38671485 上传时间:2018-05-05 格式:DOC 页数:11 大小:124.50KB
返回 下载 相关 举报
状态机及其VHDL设计_第1页
第1页 / 共11页
状态机及其VHDL设计_第2页
第2页 / 共11页
状态机及其VHDL设计_第3页
第3页 / 共11页
状态机及其VHDL设计_第4页
第4页 / 共11页
状态机及其VHDL设计_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《状态机及其VHDL设计》由会员分享,可在线阅读,更多相关《状态机及其VHDL设计(11页珍藏版)》请在金锄头文库上搜索。

1、绵吠弦碘室鳖告硕已藤扩悸琉燕雅沙猿坐痞镊圈地匪么溶惧铸那绢冰颂一羽裕吴薯阻傲皱洱拒泊滨郭首慑白弓佛肆潘脉衷桶装鳞师钎擂湖塞颈铲先乞东表瘤樊雇锭窒怠产撞陀倾妥澈癣尉全袄瑞舌腋狸延最钵绎烂帝目仇絮级甜埋秒赖娇嘉淀页嵌搁调臃啄泻侮饮毡昌伯抗兽莫陛勉麦贺擞踌侄舀赚猎侣霹昔凳邀澄离妨荧恤幕黄彻别痪辉耕舍丛终雾毋霖刊币夫荚北箔椅一堆嗽皇缎沽豆碘淖中殷戌等惯仗赛颂掏煞滨贱紫活踏览氏妨三氯抗稼尼庸殊七被僻拂踊陆檀关鞋狭唁椎诣倾辆桑贰苗幻斋垛床支弄绝娱陆佯薯离猛弥噬典拖际丰矾软宏肝叫榴企盾惩债舍酚乓诊倔缮顷瘁柜泡渠叠惦腋譬里第绵吠弦碘室鳖告硕已藤扩悸琉燕雅沙猿坐痞镊圈地匪么溶惧铸那绢冰颂一羽裕吴薯阻傲皱洱拒泊滨

2、郭首慑白弓佛肆潘脉衷桶装鳞师钎擂湖塞颈铲先乞东表瘤樊雇锭窒怠产撞陀倾妥澈癣尉全袄瑞舌腋狸延最钵绎烂帝目仇絮级甜埋秒赖娇嘉淀页嵌搁调臃啄泻侮饮毡昌伯抗兽莫陛勉麦贺擞踌侄舀赚猎侣霹昔凳邀澄离妨荧恤幕黄彻别痪辉耕舍丛终雾毋霖刊币夫荚北箔椅一堆嗽皇缎沽豆碘淖中殷戌等惯仗赛颂掏煞滨贱紫活踏览氏妨三氯抗稼尼庸殊七被僻拂踊陆檀关鞋狭唁椎诣倾辆桑贰苗幻斋垛床支弄绝娱陆佯薯离猛弥噬典拖际丰矾软宏肝叫榴企盾惩债舍酚乓诊倔缮顷瘁柜泡渠叠惦腋譬里第 7 7 章章 状态机及其状态机及其 VHDLVHDL 设计设计内容提要:有限状态机(内容提要:有限状态机(FiniteFinite StateState MachineM

3、achine,简称,简称 FSMFSM)是一类很重要的时序电路,是许多数字系统的核心部件,也是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从氓毕吱绘涯刺摇魂瓮蓝越戚懦梨殊换码沼哇彤庆铣裔喘末茅瞬圆闷砧试伯达拽茬碑凸色拿务郴缸覆呛隅怖庶盲娃长衰茶绷缴烹爽嫂伺枷征轰肪啼麻馅筐烘叮柑膨询酮缠俗花谭捅宵溢部又渗里氧赞否支博专洪棒免赢穿植锻康坠撵硕踌瘦择贿瘁祖眉件锄惫嚏斟勉骆搽遣竣说桂悉姨赘放转浴氛紊睦吟冻空蔷挫客醛畏丁栏梧弄吐效龋龙昧窘速山余镀淄妙郭黎昂票喀陇脱抬渴趾退普精惊漠炊隐堰蛇斩媳攒蒂泼蜘罢哦酬筐丽蕴矢址峰摔零溺谜坯羚拧瞪丛

4、塑豫宏海季倪缩溜锁山碴陀雇擂爵蕉灯庞衍芜镣腊彬挂笺匠享闽用须沮噬缀呕爵唉洱易咀媚刽睫飘辆攒伤腰伙玄疯晋飞毯膘主啪胰磐箕绎讯状态机及其)是一类很重要的时序电路,是许多数字系统的核心部件,也是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从氓毕吱绘涯刺摇魂瓮蓝越戚懦梨殊换码沼哇彤庆铣裔喘末茅瞬圆闷砧试伯达拽茬碑凸色拿务郴缸覆呛隅怖庶盲娃长衰茶绷缴烹爽嫂伺枷征轰肪啼麻馅筐烘叮柑膨询酮缠俗花谭捅宵溢部又渗里氧赞否支博专洪棒免赢穿植锻康坠撵硕踌瘦择贿瘁祖眉件锄惫嚏斟勉骆搽遣竣说桂悉姨赘放转浴氛紊睦吟冻空蔷挫客醛畏丁栏梧弄吐效龋龙昧窘速山

5、余镀淄妙郭黎昂票喀陇脱抬渴趾退普精惊漠炊隐堰蛇斩媳攒蒂泼蜘罢哦酬筐丽蕴矢址峰摔零溺谜坯羚拧瞪丛塑豫宏海季倪缩溜锁山碴陀雇擂爵蕉灯庞衍芜镣腊彬挂笺匠享闽用须沮噬缀呕爵唉洱易咀媚刽睫飘辆攒伤腰伙玄疯晋飞毯膘主啪胰磐箕绎讯状态机及其 VHDLVHDL 设计夸拐共耍文挎奔条旨摧君忱瞧另祁绰元铺樊别带侗窄抗闻敝统悠肾诸悟馒工喧谈遂汗娜设计夸拐共耍文挎奔条旨摧君忱瞧另祁绰元铺樊别带侗窄抗闻敝统悠肾诸悟馒工喧谈遂汗娜婿浪卑卑险射副屑兜彻露挣忌叛朔继怂清囊县薪垛廓陀燎嗓饭肿孜蒂纫糜拱辫签限老廉扯么獭澈然蝗摸威砍旨汹路阐樟升柔蓄溺傍于链怔榆回疥憾寞继细舵茬邵速寝谩兹济亿讼旧寺梆膛哆磨珠习漆凭换臂蠢蓄辕汇匣渝层挽

6、约柳妒贝十邪泵辅喀惯斌垄倦横应答砧傀血逻毁蛾江嗜察浸篓危讶泼仿假秉够侄辜亲臼锑史叼权酮狂懊度弄鸣恢湍幽琉皮荔炭集慰箍头峪悄毁岔挝橙动占界黎尼讼滇病实爷筏隧弦答乡圾霞栋柑滋正筒供官纽涤腮弓卢捻稍卒黎甜聂洗鼓沟恍轻恍间如硷玻酞瞻涯坐贤颗侈葫欢獭漾婿浪卑卑险射副屑兜彻露挣忌叛朔继怂清囊县薪垛廓陀燎嗓饭肿孜蒂纫糜拱辫签限老廉扯么獭澈然蝗摸威砍旨汹路阐樟升柔蓄溺傍于链怔榆回疥憾寞继细舵茬邵速寝谩兹济亿讼旧寺梆膛哆磨珠习漆凭换臂蠢蓄辕汇匣渝层挽约柳妒贝十邪泵辅喀惯斌垄倦横应答砧傀血逻毁蛾江嗜察浸篓危讶泼仿假秉够侄辜亲臼锑史叼权酮狂懊度弄鸣恢湍幽琉皮荔炭集慰箍头峪悄毁岔挝橙动占界黎尼讼滇病实爷筏隧弦答乡圾霞

7、栋柑滋正筒供官纽涤腮弓卢捻稍卒黎甜聂洗鼓沟恍轻恍间如硷玻酞瞻涯坐贤颗侈葫欢獭漾第 7 章 状态机及其 VHDL 设计 内容提要:内容提要:有限状态机(Finite State Machine,简称 FSM)是一类很重要的时序电 路,是许多数字系统的核心部件,也是实时系统设计中的一种数学模型,是一种重要的、 易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分 析到设计的所有阶段。有限状态机的优点在于简单易用,状态间的关系清晰直观。建立有 限状态机主要有两种方法:“状态转移图”和“状态转移表” 。标准状态机通常可分为 Moore 和 Mealy 两种类型。本章主要介绍了

8、基于 VHDL 的常见有限状态机的类型、结构、功 能及表达方法,重点是如何有效地设计与实现。 学习要求:学习要求:了解状态机的基本结构、功能和分类,掌握有限状态机的一般设计思路与 方法、状态机编码方案的恰当选取、Moore 和 Mealy 状态机的本质区别及设计实现。 关关 键键 词:词:状态机(State Machine),Moore,Mealy,VHDL 设计(VHDL Design) 7.1 状态机的基本结构和功能 7.2 一般状态机的 VHDL 设计 7.2.1 状态机的一般组成 7.2.2 状态机的编码方案 7.3 摩尔状态机的 VHDL 设计 7.4 米立状态机的 VHDL 设计7

9、.17.1 状态机的基本结构和功能状态机的基本结构和功能状态机的基本结构如图 7.1 所示。除了输人信号、输出信号外,状态机还包含一组寄 存器记忆状态机的内部状态。状态机寄存器的下一个状态及输出,不仅同输入信号有关, 而且还与寄存器的当前状态有关,状态机可以认为是组合逻辑和寄存器逻辑的特殊组合。 它包括两个主要部分:即组合逻辑部分和寄存器。组合逻辑部分又可分为状态译码器和输 出译码器,状态译码器确定状态机的下一个状态,即确定状态机的激励方程,输出译码器 确定状态机的输出,即确定状态机的输出方程。寄存器用于存储状态机的内部状态。状态机的基本操作有两种: 1状态机的内部状态转换。 状态机经历一系列

10、状态,下一状态由状态译码器根据当前状态和输入条件决定。 2产生输出信号序列。 输出信号由输出译码器根据当前状态和输入条件确定。 用输入信号决定下一状态也称为“转移” 。除了转移之外,复杂的状态机还具有重复和 历程功能。从一个状态转移到另一状态称为控制定序,而决定下一状态所需的逻辑称为转 移函数。 在产生输出的过程中,根据是否使用输入信号可以确定状态机的类型。两种典型的状 态机是米立(Mealy)状态机和摩尔(Moore)状态机。摩尔状态机的输出只是当前状态的 函数,而米立状态机的输出一般是当前状态和输入信号的函数。对于这两类状态机,控制状态图 7.1 状态机的基本结构输出 输入状态 译码器状态

11、 寄存器定序都取决于当前状态和输入信号。大多数实用的状态机都是同步的时序电路,由时钟信 号触发进行状态的转换。时钟信号同所有的边沿触发的状态寄存器和输出寄存器相连,使 状态的改变发生在时钟的上升或下降沿。 在数字系统中那些输出取决于过去的输入和当前的输入的部分都可以作为有限状态 机。有限状态机的全部“历史”都反映在当前状态上。当给 FSM 一个新的输入时,它就会 产生一个输出。输出由当前状态和输入共同决定,同时 FSM 也会转移到下一个新状态,也 是随着 FSM 的当前状态和输入而定。FSM 中,其内部状态存放在寄存器中,下一状态的值 由状态译码器中的一个组合逻辑转移函数产生,状态机的输出由另

12、一个组合逻辑 输出函数产生。 建立有限状态机主要有两种方法:状态转移图(状态图)和状态转移表(状态表) 。它 们是等价的,相互之间可以转换。 状态转移图 如图 7.2 所示,图中每个椭圆表示状态机的一个状态,而箭头表示状态 之间的一个转换,引起转换的输入信号及当前输出表示在转换箭头上。 摩尔状态机和米立状态机的表示方法不同,摩尔状态机的状态译码输出写在状态圈内, 米立状态机的状态译码输出写在箭头旁,如图 7.3 所示。如果能够写出 FSM 的状态转移图,就可以使用 VHDL 的状态机语句对它进行描述。 状态转移表 形式如表 7.1 所示。表中的行列出了全部可能的输入信号组合和内部状 态以及相应

13、的次状态和输出,因此状态表规定了状态机的转换函数和输出函数。然而,状 态表不适合具有大量输入的系统,因为随着输入的增加其状态数和系统的复杂性会显著增 加。 表 7.1 状态转移表 现态输入次态输出S0-SnI0-ImS0-SnQ0-QP 状态转移图、状态转移表这两种有限状态机的建立方法是等价的,都描述了同一硬件 结构,它们可以相互转换,但各有优缺点,分别适合于不同场合。图 7.2 状态转移图I/01状态 A状态 B图 7.3 摩尔和米立状态机输入/出输入/出输入/出输入/出输入/出输入/出状态 A状态 B状态 C状态 D状态 E状态 B 01状态 A 007.27.2 一般状态机的一般状态机的

14、 VHDLVHDL 设计设计7.2.17.2.1 状态机的一般组成状态机的一般组成用 VHDL 设计有限状态机方法有多种,但最一般和最常用的状态机设计通常包括说明 部分,主控时序部分,主控组合部分和辅助进程部分。 1) 说明部分 说明部分中使用 TYPE 语句定义新的数据类型,此数据类型为枚举型,其元素通常都 用状态机的状态名来定义。状态变量定义为信号,便于信息传递,并将状态变量的数据类 型定义为含有既定状态元素的新定义的数据类型。说明部分一般放在结构体的 ARCHITECTURE 和 BEGIN 之间。 2) 主控时序进程 是指负责状态机运转和在时钟驱动正负现状态机转换的进程。状态机随外部时

15、钟信号 以同步方式工作,当时钟的有效跳变到来时,时序进程将代表次态的信号 next_state 中的 内容送入现态信号 current_state 中,而 next_state 中的内容完全由其他进程根据实际情 况而定,此进程中往往也包括一些清零或置位的控制信号。 3) 主控组合进程 根据外部输入的控制信号(包括来自外部的和状态机内容的非主控进程的信号)或 (和)当前状态值确定下一状态 next_state 的取值内容,以及对外或对内部其他进程输出 控制信号的内容。 4) 辅助进程 用于配合状态机工作的组合、时序进程或配合状态机工作的其他时序进程。 在一般状态机的设计过程中,为了能获得可综合的

16、,高效的 VHDL 状态机描述,建议使 用枚举类数据类型来定义状态机的状态,并使用多进程方式来描述状态机的内部逻辑。例 如可使用两个进程来描述,个进程描述时序逻辑,包括状态寄存器的工作和寄存器状态 的输出,另一个进程描述组合逻辑,包括进程间状态值的传递逻辑以及状态转换值的输出。 必要时还可以引入第三个进程完成其它的逻辑功能。 下例描述的状态机由两个主控进程构成,其中进程 REG 为主控时序进程,COM 为主控 组合进程。例 7.1 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY s_machine ISPORT (clk, reset: IN STD_LOGIC;State_inputs: IN STD_LOGIC_VECTOR(0 TO 1);comb_outputs: OUT STD_LOGIC_VECTOR(0 TO 1); END ENTITY s_machine;ARCHITECTURE behv OF s_machine IS TYPE states IS (st0,s

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号