电子设计自动化技术(EDA)ppt课件.pptx
《电子设计自动化技术(EDA)ppt课件.pptx》由会员分享,可在线阅读,更多相关《电子设计自动化技术(EDA)ppt课件.pptx(79页珍藏版)》请在三一办公上搜索。
1、EDA技术与应用 中国地质大学 通信工程系,数字系统中状态机的设计,回忆计数器设计,设计一电路,包含基4计数器,和译码输出模块。计数器的输出(Present_value)从0到3循环;当计数值为2时,译码输出(DataOut)为“1”,否则输出“0”。,Clk,Present_valueQ(n),Next_valueQ(n+1),译码,DataOutZ(n),00/0,01/0,10/1,11/0,00/0,01/0,10/1,11/0,扩展一个输入端din,当din = 1时计数器递增计数;当din = 0时计数器递减计数。,再将计数器修改成一个状态转换器,状态为S0, S1, S2, S3
2、。每个状态的取值根据具体情况而定。比如S0 = 00, S1 = 11, S3 = 01, S4 = 10。,再将计数器修改成一个状态转换器,状态为S0, S1, S2, S3。每个状态的取值根据具体情况而定。比如S0 = 00, S1 = 11, S3 = 01, S4 = 10。,现在我们得到了一个比较通用的时序电路,这种电路统称为状态机(State Machine)。,状态机的分类:,moore型和mealy型,状态机的表示方法1,方法一:状态转换表,状态机的表示方法2,方法二:算法流程图,方法与软件程序的流程图类似,状态转换表和算法流程图都不适合复杂系统的设计,状态机的表示方法3,方法
3、三:状态转换图,这是最流行的表示方法,状态1,状态4,状态2,状态3,入,/出,入,入,入,/出,/出,/出,Moore,条件控制定序,直接控制定序,状态机的表示方法3,方法三:状态转换图,这是最流行的表示方法,状态1,状态4,状态2,状态3,入,/出,入,入,入,/出,/出,/出,/出,Mealy,条件控制定序,直接控制定序,为什么要使用状态机,一般有限状态机的设计, 有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。, 状态机的结构模式相对简单。, 状态机容易构成性能良好的同步时序逻辑模块。, 状态机的VHDL表述丰富多样。, 在高速运算和控制方面,状态机更有其巨大的优势。, 就可靠
4、性而言,状态机的优势也是十分明显的。,有限状态机的VHDL设计,用户自定义数据类型定义语句,TYPE语句用法如下:TYPE 数据类型名 IS 数据类型定义 OF 基本数据类型 ;或TYPE 数据类型名 IS 数据类型定义 ;,以下列出了两种不同的定义方式:TYPE myarray IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ;TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ;,有限状态机的VHDL设计,用户自定义数据类型定义语句,TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ;,SIGNAL
5、 present_state,next_state : m_state ;,一般有限状态机的设计实现,有限状态机的VHDL设计,1. 说明部分,2. 主控时序进程,一般状态机结构框图工作示意图,ARCHITECTURE .IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST; .,主控时序进程,主控组合进程,3. 主控组合进程,一般有限状态机的设计实现,主控组合进程的任务是根据外部输入的控制信号(包括来自状态机外部的信号和来自状态机内部其它非主控的组合或时序进程的信号),或(和)当前状态的状态值确定下
6、一状态(next_state)的取向,即next_state的取值内容,以及确定对外输出或对内部其它组合或时序进程输出控制信号的内容。,4. 辅助进程,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 s_machine;ARCHITECTURE behv OF s_machi
7、ne 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 AND clkEVENT THEN current_state = next_state; END IF; END PROCESS; COM:PROCESS(current_state, state_Inputs),有限状态机的VHDL设计实例,BEGIN CASE
8、 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 behv;,接上页,思考:moore?ormealy?,状态机的工作时序图,一般有限状态机的设计,状态机的应用设计,例子:设计一个二进制序列检测器,当检测到10110序列时,就输出1(一个时钟周期的脉冲)。其他情况下输出0。 规
9、定检测到一次之后,检测器复位到最初始的状态,重新从头检测。如下所示:,输入:01101101101100,输出:00000001000001,状态转换图设计(Moore),1,0,1,1,0,S0/0,S1/0,S2/0,S3/0,S4/0,S5/1,Reset,1,1,0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,s1,s2,s3,s4,s5,s0,问题1:如何保证状态机在初始时状态为s0?,问题2:在状态机跑飞,即脱离有效状态(s0s5)时,如何使状态机能恢复工作,Sx/0,波形,波形如下图所示,问题:如果需要将输出脉冲往前推一个时钟周期,该如何修改设计?,1,0,1,1,0
10、,1,0,1,1,0,s1,s2,s3,s4,s5,s0,输入,时钟,输出,当前状态,发现当当前壮态为s4,并且输入为0时,输出为1。,状态转换图设计(Mealy),S0,S1,S2,S3,S4,S5,Reset,1,0,0,1,1,0,1,0,0,1,0,1,sX,/0,/0,/0,/0,/0,/0,/0,/0,/0,/1,/0,/0,1,0,1,1,0,1,0,1,1,0,s1,s2,s3,s4,s5,s0,/0,0/1,s0,练习:用状态机设计序列检测器(1101001),在通信系统中可以有什么用途?,用VHDL设计状态机,AD574A采样控制状态机, VHDL综合器易于优化, 易构成性
11、能良好的时序逻辑模块, 结构模式简单、层次分明、易读易懂、易排错, 运行模式类似于CPU,易于进行顺序控制,利用同步时序和全局时钟线可实现高速FSM, 高可靠性,非法状态易控制,为什么要使用状态机?,AD574控制方法,现在我们来讨论AD574A 的CE、12/n8、nCS、R/nC和A0 对其工作状态的控制过程。在CE=1、nCS=0 同时满足时,AD574A 才会正常工作,在AD574 处于工作状态时,当R/nC=0 时A/D 转换,当R/nC=1 时进行数据读出。12/n8和A0 端用来控制启动转换的方式和数据输出格式。A0=0时,启动的是按完整12 位数据方式进行的。当A0=1 时,按
12、8 位A/D 转换方式进行。当R/nC=1,也即当AD574A 处于数据状态时,A0 和12/n8控制数据输出状态的格式。当12/n8=1 时,数据以12 位并行输出,当12/n8=0 时,数据以8 位分两次输出。而当A0=0 时,输出转换数据的高8 位,A0=1 时输出A/D 转换数据的低4 位,这四位占一个字节的高半字节,低半字节补零。其控制逻辑真值表见表1。,Moore型有限状态机的设计,三进程有限状态机,CE nCS R/nC 12/n8 A0工 作 状 态0XXXX禁止X1XXX禁止100X0启动12位转换100X1启动8位转换1011X12位并行输出有效10100高8位并行输出有效
13、10101低4位加上尾随4个0有效,AD574逻辑控制真值表(X表示任意),三进程有限状态机,AD574工作时序,STATUS:AD574芯片的一个输出引脚,标志芯片的忙或闲的状态,在转换进行时,它为高电平,转换结束时变低电平。,8051与AD574的接口电路,三进程有限状态机,AD574工作时序,三进程有限状态机,采样状态机结构框图,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;-状
14、态机时钟CLK,AD574状态信号STATUS LOCK0 : 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
15、_LOGIC_VECTOR(11 DOWNTO 0); SIGNAL LOCK : STD_LOGIC; BEGIN K12X8 = 1; LOCK0 = LOCK ; COM1: PROCESS(current_state,STATUS) -决定转换状态的进程 接下页,三进程有限状态机,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;L
16、OCK=0;-其它情况返回初始态 接下页,接上页,END CASE ; END PROCESS COM2 ; REG: PROCESS (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;,接上页,三进程
17、有限状态机,AD574采样状态机工作时序,单进程Moore型有限状态机,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 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 :
18、 ST_TYPE ; BEGIN PROCESS(CLK,RST) BEGIN IF RST =1 THEN C_ST = ST0 ; Q= 0000 ; ELSIF CLKEVENT AND CLK=1 THEN 接下页,CASE 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;EN
19、D behav;,接上页,状态机综合后的RTL电路模块图,单进程Moore型有限状态机,单进程Moore型有限状态机,单进程状态机工作时序,单进程Moore型有限状态机,2进程状态机工作时序图,Mealy型有限状态机的设计,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 stat
20、es IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; BEGIN COMREG : PROCESS(CLK,RESET) -决定转换状态的进程 BEGIN IF RESET =1 THEN STX = ST0; ELSIF CLKEVENT AND CLK = 1 THEN,接下页,CASE STX IS WHEN st0 = IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN = 1 TH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子设计 自动化 技术 EDA ppt 课件

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