EDA 第6章 有限状态机设计.pptVIP

  • 2
  • 0
  • 约2.02万字
  • 约 85页
  • 2017-08-19 发布于河南
  • 举报
EDA 第6章 有限状态机设计

第6章; 第6章 有限状态机设计;6.1 概述;6.1.1 关于状态机;(4)从状态编码方式分:;6.1.2 状态机的特点;(4)与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂,在排错、修改和模块移植方面也有其独到的特点。;(6)就可靠性而言,状态机的优势也是十分明显的。;6.1.3 状态机的基本结构和功能;状态机的两种基本操作:;6.2 一般有限状态机的设计;6.2.1 一般有限状态机的组成;2.时序进程;4.辅助进程;6.2.2 设计实例;REG:PROCESS (reset, clk) --时序逻辑进程 BEGIN IF reset=1 THEN --异步复位 current_state=st0; ELSIF(clk=1AND clkEVENT) THEN current_state=next_state; --当检测到时钟上升沿时转换至下一状态 END IF; END PROCESS; --由current_state将当前状态值带出此进程,进入进程COM;COM:PROCESS (current_state, state_inputs) --组合逻辑进程 BEGIN CASE current_state IS --确定当前状态的状态值 WHEN st0=comb_outputs=00; --初始态译码输出 IF state_inputs=00 THEN next_state=st0; --根据外部的状态控制输入“00”,在下一时钟后,进程REG的状态维持为st0 ELSE next_state=st1; --否则,在下一时钟后,进程REG的状态将为st1 END IF; ; WHEN st1=comb_outputs=01; --对应st1的译码输出“01” IF state_inputs=00 THEN next_state=st1; --根据外部的状态控制输入“00”在下一时钟后,进程REG的状态将维持为st1 ELSE next_state=st2; --否则,在下一时钟后,进程reg的状态将为st2 END IF;;WHEN st3=comb_outputs=11; IF state_inputs=11 THEN next_state=st3; ELSE next_state=st0; END IF; END CASE; END PROCESS; --由信号next_state将下一状态值带出此进程,进入进程reg END behave;;st0; 6.3 Moore型状态机的设计;6.3 Moore型状态机的设计;6.3.1 多进程Moore型有限状态机;[5]Pin6(CE)——使能端。;表6-1 AD574逻辑控制真值表(X表示任意值);对AD574初始化;PROCESS REG 时序进程;;ARCHITECTURE behav OF AD574 IS TYPE 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_LOGIC; BEGIN K12X8 = 1; LOCK

文档评论(0)

1亿VIP精品文档

相关文档