《基于quartus2的mealy机类型控制adc0809采样的状态机》由会员分享,可在线阅读,更多相关《基于quartus2的mealy机类型控制adc0809采样的状态机(2页珍藏版)》请在金锄头文库上搜索。
1、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADC0809 IS PORT (D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK,RST : IN STD_LOGIC; EOC :IN STD_LOGIC; ALE : OUT STD_LOGIC; START,OE : OUT STD_LOGIC; ADDA,LOCK_T:OUT STD_LOGIC; Q :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ADC0809; -跟moore型一样;ARCHITECTURE BEHAV OF A
2、DC0809 ISTYPE STATES IS(S0,S1,S2,S3,S4);SIGNAL PST : STATES ; -跟moore型不同,因为是由输入信号eoc控制状态转变,所以SIGNAL REGL : STD_LOGIC_VECTOR(7 DOWNTO 0); 只需一个pst状态信号; SIGNAL LOCK : STD_LOGIC;BEGINADDA=0; LOCK_T=LOCK;REGCOM:PROCESS(CLK,RST,PST,EOC)BEGIN -regcom进程是一个时序与组合混合型进程;IF RST=1 THEN PST IF EOC=1 THEN PST=S1; E
3、LSE PST IF EOC=0 THEN PST=S2; ELSE PST IF EOC=1 THEN PST=S3; ELSE PST IF EOC=1 THEN PST=S4; ELSE PST IF EOC=1 THEN PST=S0; ELSE PST PSTALE=0;START=0;OE=0;LOCKALE=1;START=1;OE=0;LOCKALE=0;START=0;OE=0;LOCKALE=0;START=0;OE=1;LOCKALE=0;START=0;OE=1;LOCKALE=0;START=0;OE=0;LOCK=0; END CASE; END PROCESS COM; LATCH1: PROCESS (LOCK) BEGIN -锁存器进程latch1; IF LOCK=1 AND LOCKEVENT THEN REGL=D;END IF; END PROCESS LATCH1; Q=REGL; END BEHAV; -编译成功;-附仿真截图