状态机FSM设计.ppt
《状态机FSM设计.ppt》由会员分享,可在线阅读,更多相关《状态机FSM设计.ppt(37页珍藏版)》请在三一办公上搜索。
1、状态机(FSM)设计,1,宛辽炽茨驰薛挺涩诵赃屈和猾畏久目驻蚂拦桨拐蒂闰辽陪盏椎归躯迭镇颁状态机FSM设计状态机FSM设计,FSM定义,Finite state machine,表示有限个状态及其在这些状态直接的转移和动作等行为的一种数学模型状态存储过去的信息输出取决于过去输入部分和当前输入部分的时序逻辑电路状态机中必须包括寄存器,2,匆层秋松舵沥堰疑柿诉阑借镶杆疵该湃猫绣雁把卜写征炽回读伙芳贼确茧状态机FSM设计状态机FSM设计,状态机(State Machine)是一类很重要的时序电路,是很多数字电路的核心部件,是大型电子设计的基础。状态机相当于一个控制器,它将一项功能的完成分解为若干步,
2、每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功能的过程。状态机有摩尔(Moore)型和米立(Mealy)型两种。Moore型状态机的输出信号只与当前状态有关;Mealy型状态机的输出信号不仅与当前状态有关,还与输入信号有关。,3,魔萌冯腮凝术躬重谓厩耻烦摧友轩宠负玩绦徒陈巢伺醛骄纯吁挑蛹挥荧粗状态机FSM设计状态机FSM设计,为什么要使用状态机?,4,怎塌镜雍僻间啤腻表沸需咏骑胰复例寡浑宿太榴雾渠襟现抹遮铜芭恳舅猜状态机FSM设计状态机FSM设计,1.1 数据类型定义语句,TYPE m_state IS(st0,st1,st2,st3,st4
3、,st5);SIGNAL present_state,next_state:m_state;,TYPE BOOLEAN IS(FALSE,TRUE);,TYPE my_logic IS(1,Z,U,0);SIGNAL s1:my_logic;s1=Z;,SUBTYPE 子类型名 IS 基本数据类型 RANGE 约束范围;,SUBTYPE digits IS INTEGER RANGE 0 to 9;,1 VHDL一般状态机,5,世盲啼蹦厂颤拽陶凝奢炭曹委暇翰锡锨斗募锭努醉砰爹曙懊腥世火褐珍傣状态机FSM设计状态机FSM设计,1.2 一般有限状态机的设计,1.说明部分,ARCHITECTURE.
4、ISTYPE FSM_ST IS(s0,s1,s2,s3);SIGNAL current_state,next_state:FSM_ST;.,6,绩坟晕贝颜粗匠场帮扇杜睹雾粥辟淀哀盘窃辈享殴绩专凸篇斥硒皂血拿范状态机FSM设计状态机FSM设计,【例1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT(clk,reset:IN STD_LOGIC;state_inputs:IN STD_LOGIC_VECTOR(0 TO 1);comb_outputs:OUT INTEGER RANGE 0 TO 15);END
5、s_machine;ARCHITECTURE behv OF s_machine IS TYPE FSM_ST IS(s0,s1,s2,s3);-数据类型定义,状态符号化 SIGNAL current_state,next_state:FSM_ST;-将现态和次态定义为新的数据类型BEGINREG:PROCESS(reset,clk)-主控时序进程BEGIN IF reset=1 THEN current_state=s0;-检测异步复位信号 ELSIF clk=1 AND clkEVENT THEN current_state=next_state;END IF;END PROCESS;,7
6、,良坪受捞兴闪仰编序臻保途稼砰眺嗜删眩腻莲雪价睬场伟晦燎菲聘芝齿腕状态机FSM设计状态机FSM设计,2.主控时序进程负责状态机运转和在时钟驱动下负责状态转换的过程。,一般状态机结构框图,3.主控组合进程根据外部输入的控制信号,和当前状态的状态值确定下一状态的取值及对外输出值。,4.辅助进程,8,系桃尝订另扎瞳忽脑滓散椎瞪潞闻贝饺扬酥澡安港梅适抓庞刹龟刮哭鹏讥状态机FSM设计状态机FSM设计,COM:PROCESS(current_state,state_Inputs)-主控组合进程 BEGIN CASE current_state IS WHEN s0=comb_outputs comb_ou
7、tputs comb_outputs comb_outputs=14;IF state_inputs=11 THEN next_state=s3;ELSE next_state=s0;END IF;END case;END PROCESS;END behv;,9,箱染蝗跟煞潘下汪危讳椅瓢伐却逗脯冶谚陕吨炎云呻罪托友荣方妒刀孝下状态机FSM设计状态机FSM设计,状态机的工作时序,打开QuartusII状态图观察器,状态图,10,鄙芹琵呵毅蛹钳呐蹭逻库墓仔浅根雾险敬该剧雇术挑獭早丢努掷跃叁喀拂状态机FSM设计状态机FSM设计,状态机的结构示意图,11,吱茫暇躲句厉臂篇凶煌限秽扦货兔静绘哲裤冠扑皖胎
8、唤窝缝箱到蓄伶盎帧状态机FSM设计状态机FSM设计,2 Moore状态机设计,2.1 多进程状态机设计,ADC0809工作时序,12,镜山索酞具钥运钟威档对乐禽阎何羌缅挛俐蕊楔连许柯阴埃垫鸯效踏抄洋状态机FSM设计状态机FSM设计,控制ADC0809采样状态图,13,糙巡姿垫炯扩椿伍何堂弥电赃世回梧怪辈妆磕喂蜀芥逃鉴乌捞啃漏唤须玛状态机FSM设计状态机FSM设计,采样状态机结构框图,14,佩岩怪熄纯鹊约腊汁奥挟宏酚条缨泣序假颖荤滇末冶潜尸洁惟制忙解氧筏状态机FSM设计状态机FSM设计,【例2】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADC
9、INT IS PORT(D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);-来自0809转换好的8位数据CLK:IN STD_LOGIC;-状态机工作时钟EOC:IN STD_LOGIC;-转换状态指示,低电平表示正在转换ALE:OUT STD_LOGIC;-8个模拟信号通道地址锁存信号START:OUT STD_LOGIC;-转换开始信号OE:OUT STD_LOGIC;-数据输出3态控制信号ADDA:OUT STD_LOGIC;-信号通道最低位控制信号LOCK0:OUT STD_LOGIC;-观察数据锁存时钟Q:OUT STD_LOGIC_VECTOR(7 DOWNTO
10、0);-8位数据输出END ADCINT;ARCHITECTURE behav OF ADCINT ISTYPE states IS(st0,st1,st2,st3,st4);-定义各状态子类型 SIGNAL current_state,next_state:states:=st0;SIGNAL REGL:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL LOCK:STD_LOGIC;-转换后数据输出锁存时钟信号,15,污昆组弘鸦脯砂浴沼龟汪镐喻达胸臃奶蕉卧葛言严茵尉盗尉势简棱鼎耸指状态机FSM设计状态机FSM设计,BEGINADDA ALEALE ALE ALE ALE
11、 next_state=st0;END CASE;END PROCESS COM;REG:PROCESS(CLK)BEGIN IF(CLKEVENT AND CLK=1)THEN current_state=next_state;END IF;END PROCESS REG;-由信号current_state将当前状态值带出此进程:REG LATCH1:PROCESS(LOCK)-此进程中,在LOCK的上升沿,将转换好的数据锁入 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL=D;END IF;END PROCESS LATCH1;END behav;,16,魁
12、缺砚蛊侥毡蹭靴俄掏沿篇短效慨肚秦呆棺檬绰旨颅秀血泽拖离姥奥影俺状态机FSM设计状态机FSM设计,【例3】例2中的进程COM也可用COM 1和COM 2代替COM1:PROCESS(current_state,EOC)BEGIN CASE current_state IS WHEN st0=next_state next_state IF(EOC=1)THEN next_state next_state next_state next_state ALEALEALEALEALE ALE=0;START=0;LOCK=0;END CASE;END PROCESS COM2;,17,敢翘塞凶脊疚然桑
13、诗讣购施肪勉片迄鹃缠怕呆豢仆跌番誉涕浙柱倚夯毛俺状态机FSM设计状态机FSM设计,ADC0809采样状态机工作时序,18,巳达搞眉袄镑檀止德阎离稗鞋长稠堪幻毋辛园那钨衰罐泞董凰析劳蔼伤覆状态机FSM设计状态机FSM设计,2 Moore状态机设计,2.2 单进程Moore状态机设计,状态机综合后的部分主要RTL电路模块(Synplify综合),19,震嚷凉陵逻病逼珠尤莽使羽球焕届纽钢署馏富颇粟胯印母复之培珠沃肢螺状态机FSM设计状态机FSM设计,【例4】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 IS PORT(DATAIN:IN
14、 STD_LOGIC_VECTOR(1 DOWNTO 0);CLK,RST:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END MOORE1;ARCHITECTURE behav OF MOORE1 IS TYPE ST_TYPE IS(ST0,ST1,ST2,ST3,ST4);SIGNAL C_ST:ST_TYPE;BEGIN PROCESS(CLK,RST)BEGIN IF RST=1 THEN C_ST IF DATAIN=10 THEN C_ST IF DATAIN=11 THEN C_ST IF DATAIN=01 THEN C_S
15、T IF DATAIN=00 THEN C_ST IF DATAIN=11 THEN C_ST C_ST=ST0;END CASE;END IF;END PROCESS;END behav;,20,怠兴同舰反幕呛骂缀穴瓤肠饼愚崔妓预媚秩号圆扮筛翅践青幻彪早黎贯栽状态机FSM设计状态机FSM设计,单进程状态机工作时序,21,鹰驹熄艺笆度剂岭映奖草吩邹麓跋兜惶邑佑佣并曙奋弥价婴藉路翼篇绒埔状态机FSM设计状态机FSM设计,对应于例4的二进程状态机工作时序图,22,机雕嘛粤猾偿卓韭铬优全釉踪台朱扇颅鸥蜜次逃偷扇挂麓鱼伟员藏绎达拘状态机FSM设计状态机FSM设计,3 Mealy状态机设计,例5状态机工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 状态机 FSM 设计

链接地址:https://www.31ppt.com/p-4725199.html