有限状态机设计.ppt
《有限状态机设计.ppt》由会员分享,可在线阅读,更多相关《有限状态机设计.ppt(71页珍藏版)》请在三一办公上搜索。
1、EDA技术实用教程,第9章 有限状态机设计,设计实例,在时分通信系统中,设计一个巴克码识别器,当串行数据流中出现1110010(七位巴克码)时,输出识别信号,保证时分通信系统中的帧同步。,设计要求,状态分析:,根据设计要求,电路输入端S_IN输入为随机串行数据流,七位巴克码组为1110010,为此可以选择S0,S1,S2,S3,S4,S5,S6共七个状态。当电路处于状态S6时如果接收到的数据流出现一个0时状态转向S0,同时FD输出为1,通信系统同步单元通过信号FD提取帧同步信号。,原始状态图,原始状态表:,简化后状态表:,简化后状态图,程序代码:LIBRARY IEEE;USE IEEE.ST
2、D_LOGIC_1164.ALL;ENTITY CHK2 ISPORT(CLK,RESET:IN STD_LOGIC;S_IN:IN STD_LOGIC;FD:OUT STD_LOGIC);END CHK2;ARCHITECTURE a OF CHK2 ISTYPE STATE_TYPE IS(S0,S1,S2,S3,S4,S5,S6);SIGNAL state:STATE_TYPE;BEGINPROCESS(CLK,RESET)BEGINIF RESET=1 THENstate FD FD=0;IF S_IN=1 THENstate=S2;ELSE STATE=S0;END IF;接下页,接
3、上页 WHEN S2=FD FD FD FD IF S_IN=0 THENstate=S0;FD=1;ELSE STATE=S2;END IF;END CASE;END IF;END PROCESS;END a;,9.1 一般有限状态机的设计,9.1.1 用户自定义数据类型定义语句,TYPE语句用法如下:TYPE 数据类型名 IS 数据类型定义 OF 基本数据类型;或TYPE 数据类型名 IS 数据类型定义;,以下列出了两种不同的定义方式:TYPE st1 IS ARRAY(0 TO 15)OF STD_LOGIC;TYPE week IS(sun,mon,tue,wed,thu,fri,sa
4、t);,9.1 一般有限状态机的设计,9.1.1 用户自定义数据类型定义语句,TYPE m_state IS(st0,st1,st2,st3,st4,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;,9.1 一般有限状态机的设计,9.1.1 用户自定义数据类型定义语句,子类型SUBTYPE的语句格式如下:SUBTYPE 子类型名 IS 基本数据类型 RANGE 约束范围
5、;,SUBTYPE digits IS INTEGER RANGE 0 to 9;,9.1.2 为什么要使用状态机,9.1 一般有限状态机的设计,有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。,状态机的结构模式相对简单。,状态机容易构成性能良好的同步时序逻辑模块。,状态机的VHDL表述丰富多样。,在高速运算和控制方面,状态机更有其巨大的优势。,就可靠性而言,状态机的优势也是十分明显的。,9.1.3 一般有限状态机的设计,9.1 一般有限状态机的设计,1.说明部分,2.主控时序进程,图9-1 一般状态机结构框图工作示意图,ARCHITECTURE.IS TYPE FSM_ST IS(s
6、0,s1,s2,s3);SIGNAL current_state,next_state:FSM_ST;.,3.主控组合进程,9.1.3 一般有限状态机的设计,控组合进程的任务是根据外部输入的控制信号(包括来自状态机外部的信号和来自状态机内部其它非主控的组合或时序进程的信号),或(和)当前状态的状态值确定下一状态(next_state)的取向,即next_state的取值内容,以及确定对外输出或对内部其它组合或时序进程输出控制信号的内容。,4.辅助进程,【例9-1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT(
7、clk,reset:IN STD_LOGIC;state_inputs:IN STD_LOGIC_VECTOR(0 TO 1);comb_outputs:OUT INTEGER RANGE 0 TO 15);END s_machine;ARCHITECTURE behv OF s_machine IS TYPE FSM_ST IS(s0,s1,s2,s3);SIGNAL current_state,next_state:FSM_ST;BEGIN REG:PROCESS(reset,clk)BEGIN IF reset=1 THEN current_state=s0;ELSIF clk=1 AN
8、D clkEVENT THEN current_state=next_state;END IF;END PROCESS;COM:PROCESS(current_state,state_Inputs)接下页,9.1.3 一般有限状态机的设计,BEGIN CASE current_state IS WHEN s0=comb_outputs comb_outputs comb_outputs comb_outputs=14;IF state_inputs=11 THEN next_state=s3;ELSE next_state=s0;END IF;END case;END PROCESS;END
9、behv;,接上页,图9-2 例9-1状态机的工作时序图,9.1.3 一般有限状态机的设计,4.辅助进程,用VHDL设计状态机,AD574A采样控制状态机,VHDL综合器易于优化,易构成性能良好的时序逻辑模块,结构模式简单、层次分明、易读易懂、易排错,运行模式类似于CPU,易于进行顺序控制,利用同步时序和全局时钟线可实现高速FSM,高可靠性,非法状态易控制,为什么要使用状态机?,9.2 Moore型有限状态机的设计,9.2.1 三进程有限状态机,CECS RC K12/8 A0工 作 状 态0XXXX禁止X1XXX禁止100X0启动12位转换100X1启动8位转换1011X12位并行输出有效1
10、0100高8位并行输出有效10101低4位加上尾随4个0有效,表9-1 AD574逻辑控制真值表(X表示任意),9.2.1 三进程有限状态机,图9-3 AD574工作时序,9.2.1 三进程有限状态机,图9-4 AD574工作时序,9.2.1 三进程有限状态机,图9-5 采样状态机结构框图,【例9-2】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574 IS PORT(D:IN STD_LOGIC_VECTOR(11 DOWNTO 0);CLK,STATUS:IN STD_LOGIC;-状态机时钟CLK,AD574状态信号STATUS L
11、OCK0:OUT STD_LOGIC;-内部锁存信号LOCK的测试信号 CS,A0,RC,K12X8:OUT STD_LOGIC;-AD574控制信号 Q:OUT STD_LOGIC_VECTOR(11 DOWNTO 0);-锁存数据输出END AD574;ARCHITECTURE behav OF AD574 ISTYPE states IS(st0,st1,st2,st3,st4);SIGNAL current_state,next_state:states:=st0;SIGNAL REGL:STD_LOGIC_VECTOR(11 DOWNTO 0);SIGNAL LOCK:STD_LOG
12、IC;BEGIN K12X8=1;LOCK0=LOCK;COM1:PROCESS(current_state,STATUS)-决定转换状态的进程 接下页,9.2.1 三进程有限状态机,BEGIN CASE current_state IS WHEN st0=next_state next_state IF(STATUS=1)THEN next_state next_state next_state next_state CS CS CS CS CSCS=1;A0=1;RC=1;LOCK=0;-其它情况返回初始态 接下页,接上页,END CASE;END PROCESS COM2;REG:PRO
13、CESS(CLK)-时序进程 BEGIN IF(CLKEVENT AND CLK=1)THEN current_state=next_state;END IF;END PROCESS REG;LATCH1:PROCESS(LOCK)-数据锁存器进程 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL=D;END IF;END PROCESS;Q=REGL;END behav;,接上页,9.2.1 三进程有限状态机,图9-6 AD574采样状态机工作时序,9.2.1 三进程有限状态机,【例9-3】COM:PROCESS(current_state,STATUS)BEG
14、IN CASE current_state IS WHEN st0=next_state next_state IF(STATUS=1)THEN next_state next_state next_state next_state=st0;END CASE;END PROCESS COM;,PROCESSREG时序进程,PROCESSCOM组合进程,PROCESSLATCH锁存器,current_state,next_state,LOCK,状态机FSM,FPGA/CPLD,CLK,CS A0 RC K12/8 STATUSD11.0,AD574,Q11.0,模拟信号输入,采样数据输出,LIB
15、RARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574 IS PORT(D:IN STD_LOGIC_VECTOR(11 DOWNTO 0);CLK,STATUS:IN STD_LOGIC;CS,A0,RC,K12X8:OUT STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(11 DOWNTO 0);END AD574;ARCHITECTURE behav OF AD574 ISTYPE states IS(st0,st1,st2,st3,st4);SIGNAL current_state,next_state:states;SI
16、GNAL REGL:STD_LOGIC_VECTOR(11 DOWNTO 0);SIGNAL LOCK:STD_LOGIC;BEGIN COM:PROCESS(current_state,STATUS)BEGIN CASE current_state IS WHEN st0=CS CS CS=0;A0=0;RC=0;LOCK=0;IF(STATUS=1)THEN next_state=st2;ELSE next_state=st3;,END IF;WHEN st3=CS CS next_state=st0;END CASE;END PROCESS COM;REG:PROCESS(CLK)BEG
17、IN IF(CLKEVENT AND CLK=1)THEN current_state=next_state;END IF;END PROCESS REG;LATCH:PROCESS(LOCK)BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL=D;END IF;END PROCESS;Q=REGL;END behav;K12X8=1;,状态机VHDL源程序,状态机RTL电路图,状态机工作时序图,状态2:等待,9.2.2 单进程Moore型有限状态机,【例9-4】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOOR
18、E1 IS PORT(DATAIN:IN 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=ST0;Q=0000;ELSIF CLKEVENT AND CLK=1 THEN 接下页,CA
19、SE C_ST IS WHEN ST0=IF DATAIN=10 THEN C_ST IF DATAIN=11 THEN C_ST IF DATAIN=01 THEN C_ST IF DATAIN=00 THEN C_ST IF DATAIN=11 THEN C_ST C_ST=ST0;END CASE;END IF;END PROCESS;END behav;,接上页,图9-7 例9-4状态机综合后的RTL电路模块图,9.2.2 单进程Moore型有限状态机,9.2.2 单进程Moore型有限状态机,图9-8 例9-4单进程状态机工作时序,9.2.2 单进程Moore型有限状态机,图9-9
20、对应于例9-4的2进程状态机工作时序图,9.3 Mealy型有限状态机的设计,【例9-5】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 ISPORT(CLK,DATAIN,RESET:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);END MEALY1;ARCHITECTURE behav OF MEALY1 IS TYPE states IS(st0,st1,st2,st3,st4);SIGNAL STX:states;BEGIN COMREG:PROCESS(CLK,RESET)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有限状态机 设计

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