Moore型有限状态机的设计
MooreMooreMooreMoore型有限状型有限状型有限状型有限状态机的设计态机的设计态机的设计态机的设计EDA技术实用教程1.1 多进程有限状态机 Moore型有限状态机的设计 图7-3 ADC0809工作时序 1.1 多进程有限状态机 Moore型有限状态机的设计 图7-4 控制ADC0809采样状态图 1.1 多进程有限状态机 图7-5 采样状态机结构框图【例7-2】LIBRARY IEEE;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADCINT IS PORT(D :IN STD_LOGIC_VECTOR(7 DOWNTO 0);CLK,EOC:IN STD_LOGIC;ALE,START,OE,ADDA,LOCK0 :OUT STD_LOGIC;Q :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);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;-转换后数据输出锁存时钟信号 BEGIN ADDA=1;-当ADDA=0,模拟信号进入0809通道0;当ADDA=1,则进入通道1Q=REGL;LOCK0 ALE=0;START=0;LOCK=0;OE=0;next_state ALE=1;START=1;LOCK=0;OE=0;next_state ALE=0;START=0;LOCK=0;OE=0;IF(EOC=1)THEN next_state=st3;-EOC=1表明转换结束 ELSE next_state ALE=0;START=0;LOCK=0;OE=1;next_state ALE=0;START=0;LOCK=1;OE=1;next_state 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将当前状态值带出此进程:REGLATCH1:PROCESS(LOCK)-此进程中,在LOCK的上升沿,将转换好的数据锁入 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL next_state next_state IF(EOC=1)THEN next_state=st3;ELSE next_state next_state next_state next_state ALE=0;START=0;LOCK=0;OEALE=1;START=1;LOCK=0;OEALE=0;START=0;LOCK=0;OEALE=0;START=0;LOCK=0;OEALE=0;START=0;LOCK=1;OE ALE=0;START=0;LOCK=0;END CASE;END PROCESS COM2;1.1 三进程有限状态机三进程有限状态机1.2 单进程Moore型有限状态机 Moore型有限状态机的设计【例7-4】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:ST_TYPE;接上页BEGIN PROCESS(CLK,RST)BEGIN IF RST=1 THEN C_ST=ST0;Q IF DATAIN=10 THEN C_ST=ST1;ELSE C_ST=ST0;END IF;Q IF DATAIN=11 THEN C_ST=ST2;ELSE C_ST=ST1;END IF;Q IF DATAIN=01 THEN C_ST=ST3;ELSE C_ST=ST0;END IF;Q IF DATAIN=00 THEN C_ST=ST4;ELSE C_ST=ST2;END IF;Q IF DATAIN=11 THEN C_ST=ST0;ELSE C_ST=ST3;END IF;Q C_ST=ST0;END CASE;END IF;END PROCESS;END behav;1.2 单进程Moore型有限状态机 Moore型有限状态机的设计 图7-7 例7-4状态机综合后的RTL电路模块 1.2 单进程Moore型有限状态机 Moore型有限状态机的设计 图7-8 例7-4单进程状态机工作时序 1.2 单进程Moore型有限状态机 Moore型有限状态机的设计 图7-9 对应于例7-4的2进程状态机工作时序图 谢谢观看!谢谢观看!谢谢观看!谢谢观看!EDA技术实用教程