 
         
         
         
         
        版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章有限状态机的设计主要内容主要内容状态机的概述状态机的概述 概念、优点、分类概念、优点、分类MOOREMOORE(摩尔)型状态机(摩尔)型状态机MEALYMEALY(米利)型状态机(米利)型状态机状态编码状态编码非法状态非法状态一、什么是状态机?一、什么是状态机?u先看一个例子先看一个例子设计一个六进制约翰逊计数器设计一个六进制约翰逊计数器什么叫做约翰逊计数器?什么叫做约翰逊计数器? 一般的二进制计数器或十进制计数器,由于在每次计数时常有不止一位触发器翻转,以至于发生竞争冒险现象,造成误译动作.为了消除这种干扰,采用每次仅有一位触发器反每次仅有一位触发器反转转的计数器,称为约翰逊约翰逊计数
2、器计数器一、什么是状态机?(续一、什么是状态机?(续1 1)library ieee;use ieee.std_logic_1164.all;entity jh_cnt isport(clk,reset : in std_logic; q : out std_logic_vector(3 downto 0);end;architecture one of jh_cnt istype state is (s0,s1,s2,s3,s4,s5);signal current_state, next_state :state;beginreg:process(clk,reset)beginif res
3、et=1 then current_state=s0;elsif clkevent and clk=1 then current_stateq=0000;next_stateq=0001;next_stateq=0011;next_stateq=0111;next_stateq=0110;next_stateq=0100;next_state=s0;end case;end process;end;主主控控组组合合进进程程纯组合电路,决定纯组合电路,决定每一状态下的输出每一状态下的输出和下一状态的具体和下一状态的具体取值取值一、什么是状态机?(续一、什么是状态机?(续3 3)u就理论而言,任何
4、一个时序模型的电路系统都可以归结为就理论而言,任何一个时序模型的电路系统都可以归结为一个状态机。一个状态机。u把该电路系统分为有限个状态。在任意时刻,只能处于有把该电路系统分为有限个状态。在任意时刻,只能处于有限状态中的一个,在接受到一个输入事件时,状态机产生限状态中的一个,在接受到一个输入事件时,状态机产生一个输出,同时伴随着状态的转移。一个输出,同时伴随着状态的转移。u有限状态机有限状态机(FSM,Finite State Machine)是是一种基本的、简单的、重要的形式化技术。是数字逻辑的一种基本的、简单的、重要的形式化技术。是数字逻辑的另一种表示方法与一种设计思想。另一种表示方法与一
5、种设计思想。VHDL程序设计的程序设计的FSM有如下优点有如下优点:设计方案相对固定,程序层次分明,结构清晰,特别是可以定义为符号化枚举类型的状态,使VHDL综合器对状态机具有很大的优化功能。 容易构成性能良好的同步时序模块,容易消除电路中的毛刺现象。由纯硬件组成,工作方式是根据控制信号按照预先设定的状态进行顺序运行,使其运行速度和可靠性较好。 二、状态机的分类二、状态机的分类按照不同的分类方法有不同类型的状态机按照不同的分类方法有不同类型的状态机u按状态机的信号输出方式分按状态机的信号输出方式分MOORE型状态机型状态机MEALY型状态机型状态机输出由当前状态所决定输出由当前状态所决定输出由
6、当前状态和输入共同决定输出由当前状态和输入共同决定二、状态机的分类(续二、状态机的分类(续1 1)u按结构分按结构分单进程状态机(一段式)单进程状态机(一段式)多进程状态机(两段式、三段式)多进程状态机(两段式、三段式)主控时序进程主控时序进程主控组合进程主控组合进程决定下一状态的具体取值决定下一状态的具体取值每一个状态的输出每一个状态的输出二、状态机的分类(续二、状态机的分类(续2 2)u按状态的表达方式上分按状态的表达方式上分符号化状态机符号化状态机 以文字符号代表每一个状态,在实际电路中是以二进制组合来表示,由综合器根据优化情况来确定编码确定状态编码的状态机确定状态编码的状态机 在定义状
7、态时,就人为的将状态的编码确定下来,可以采用的编码形式有: 状态位直接输出型编码、顺序码、格雷码、一位热码等例:CONSTANT s0 : std_logic_vector(1downtown 0):=“00”;CONSTANT s1 : std_logic_vector(1 downtown 0):=“01”;CONSTANT s2 : std_logic_vector(1 downtown 0):=“10”;二、状态机的分类(续二、状态机的分类(续3 3)u按时钟分按时钟分同步输出状态机同步输出状态机 由时钟信号控制异步输出状态机异步输出状态机 没有经过时钟而直接输出 一般情况下,速度快于
8、同步状态机,仅仅档状态机的性能要求高时,才选择三、三、MOOREMOORE型状态机型状态机输出仅和状态有关,因此输出仅和状态有关,因此状状态机的输出信号就写在表示态机的输出信号就写在表示状态的圆圈之中。状态的圆圈之中。状态转移图状态转移图例例1:实现下图所示状态机设计:实现下图所示状态机设计三、三、MOOREMOORE型状态机(续型状态机(续1 1)entity d2moore isport(clk,a,reset:in std_logic; q:out std_logic_vector(3 downto 0);end;p0:process(reset,clk) begin if reset=
9、1 then current_state=st0; elsif clkevent and clk=1 then current_stateqqqq if a=1 then next_state=st1; else next_state if a=0 then next_state=st2; else next_state if a=1 then next_state=st3; else next_state if a=0 then next_state=st0; else next_state=st3; end if; end case; end process; end;决决定定下下一一状状
10、态态的的具具体体取取值值三段式、三段式、MOORE型状态机型状态机返回三、三、MOOREMOORE型状态机(续型状态机(续3 3)u由软件自动生成状态转移图由软件自动生成状态转移图TOOLSNETLIST VIEWERS三、三、MOOREMOORE型状态机(续型状态机(续4 4)三、三、MOOREMOORE型状态机(续型状态机(续5 5)u波形仿真结果波形仿真结果异步复位异步复位三、三、MOOREMOORE型状态机(续型状态机(续6 6)architecture one of d1moore istype stype is(st0,st1,st2,st3);signal state : sty
11、pe;beginp0:process(reset,clk) begin if reset=1 then stateq=0000; if a=1 then state=st1; else stateq=1001; if a=0 then state=st2; else stateq=1100; if a=1 then state=st3; else stateq=1100; if a=1 then state=st3; else stateq=1111; if a=0 then state=st0; else state=st3; end if; end case; end if; end pr
12、ocess; end;返回返回1三、三、MOOREMOORE型状态机(续型状态机(续7 7)单进程单进程MOORE状态机状态机多进程多进程MOORE状态机状态机next_state=st1current_state=st1q=“1001”q=“0000”state=st1;示例示例三、三、MOOREMOORE型状态机(续型状态机(续8 8)单进程单进程MOORE状态机状态机多进程多进程MOORE状态机状态机毛刺毛刺三、三、MOOREMOORE型状态机(续型状态机(续9 9)u总结单进程状态机的特点总结单进程状态机的特点输出端得到的信号值要比多进程晚一个时钟周期输出端得到的信号值要比多进程晚一个
13、时钟周期能够减少输出信号波形的毛刺现象能够减少输出信号波形的毛刺现象四、四、MEALYMEALY型状态机型状态机例例2:实现下图所示状态机设计:实现下图所示状态机设计输出由当前状态和输入信输出由当前状态和输入信号决定,所以号决定,所以输出信号写输出信号写在箭头转移处在箭头转移处四、四、MEALYMEALY型状态机(续型状态机(续1 1)architecture one of d2mealy istype stype is (st0,st1,st2,st3); signal state:stype; begin reg:process(reset,clk) begin if reset=1 th
14、en stateif a=1 then stateif a=0 then stateif a=1 then stateif a=0 then stateif a=1 then q=1001; else qif a=0 then q=1100; else qif a=1 then q=1111; else qif a=0 then q=0000; else q=1111;end if; end case;end process;end;根据根据状态状态和输和输入信入信号控号控制输制输出出输出信号输出信号q由当由当前状态和输入信前状态和输入信号共同决定,与号共同决定,与时钟无关时钟无关返回四、四、
15、MEALYMEALY型状态机(续型状态机(续3 3)MEALY型状态机MOORE型状态机示例示例四、四、MEALYMEALY型状态机(续型状态机(续4 4)u总结总结MEALY型状态机和型状态机和MOORE型状态机的特点型状态机的特点状态转化状态转化输出信号输出信号与时钟信号的关系与时钟信号的关系MOOREMEALY由由输入输入决定决定由由输入输入决定决定由由当前状当前状态态决定决定由由当前状当前状态和输入态和输入决定决定与时钟信号与时钟信号同步同步不依赖于时钟不依赖于时钟,只,只要输入变化,输出要输入变化,输出能够立即变化能够立即变化五、状态编码五、状态编码u为了满足一些特殊需要,可直接将各
16、状态用具体的二进制为了满足一些特殊需要,可直接将各状态用具体的二进制数进行定义,即状态机的直接编码。数进行定义,即状态机的直接编码。状态位直接输出型编码状态位直接输出型编码顺序编码顺序编码格雷码(格雷码(Gray)编码)编码一位热码(一位热码(one-hot)编码)编码五、状态编码(续五、状态编码(续1 1)1、状态为直接输出型编码、状态为直接输出型编码u直接把状态机的状态编码作为输出信号(直接把状态机的状态编码作为输出信号(output=stateoutput=state),),是状态机的一种特殊类型。是状态机的一种特殊类型。u例例1 1:思考:此状态机属于什思考:此状态机属于什么类型?么类
17、型?五、状态编码(续五、状态编码(续2 2)library ieee;use ieee.std_logic_1164.all;entity mo is port(clk,a,reset : in std_logic; q : out std_logic_vector(1 downto 0);end;architecture one of mo is signal state :std_logic_vector(1 downto 0); constant s0:std_logic_vector(1 downto 0):=00; constant s1:std_logic_vector(1 dow
18、nto 0):=10; constant s2:std_logic_vector(1 downto 0):=11; constant s3:std_logic_vector(1 downto 0):=01;begin状态编码状态编码五、状态编码(续五、状态编码(续3 3) process(clk,reset) begin if reset=1 then stateif a=1 then stateif a=0 then stateif a=1 then stateif a=0 then state=s0;end if; end case; end if; end process; qnext_statenext_statenext_statenext_state=st0; end case;alarm=(st0 and (st1 or st2 or st3 or st4 or s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年设施工程师《设施工程施工管理》备考题库及答案解析
- 2025年切配考试卷及答案
- 证券期货基金业从业人员资格证券投资试题(附答案)
- 脑瘫康复护理的题库及答案解析
- 2023年一级建造师之一建工程法规模拟题库及答案下载
- 2025年实验室检验质量控制与结果分析模拟考试试题及答案解析
- 2025年PHR人力资源专业资格认证考试《劳动法规》备考试题及答案解析
- 2025年高级心脏外科医师备考题库及答案解析
- 2025年教师资格考试《教育法规与教学技能》备考题库及答案解析
- 2025年生态保护工程师职业资格考试《生态系统保护与修复技术》备考题库及答案解析
- 湿疹患者的护理查房
- 2024品质工程预制构件质量提升技术和管理指南
- 2024年青岛市市属事业单位遴选考试真题
- 第11章 作业24 实验:金属丝电阻率的测量-物理人教版必修第三册
- 《登泰山记》课件
- 2024年宜昌市教育系统事业单位人才引进考试真题
- 2024年乳品评鉴师理论考试复习题库(含答案)
- 城市道路日常养护作业服务投标文件(技术方案)
- lululemon品牌洞察报告
- 基于RFID技术的煤矿机电设备运行监测系统研究
- 第八届全国职工职业技能大赛(焊工)辽宁选拔赛试题库-下(判断题)
 
            
评论
0/150
提交评论