📄 cpld
字号:
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<= "0000" ;
ELSIF CLK'EVENT AND CLK='1' THEN
CASE C_ST IS
WHEN ST0 => IF DATAIN ="10" THEN C_ST <= ST1 ;
ELSE C_ST <= ST0 ; END IF;
Q <= "1001" ;
WHEN ST1 => IF DATAIN ="11" THEN C_ST <= ST2 ;
ELSE C_ST <= ST1 ;END IF;
Q <= "0101" ;
WHEN ST2 => IF DATAIN ="01" THEN C_ST <= ST3 ;
ELSE C_ST <= ST0 ;END IF;
Q <= "1100" ;
WHEN ST3 => IF DATAIN ="00" THEN C_ST <= ST4 ;
ELSE C_ST <= ST2 ;END IF;
Q <= "0010" ;
WHEN ST4 => IF DATAIN ="11" THEN C_ST <= ST0 ;
ELSE C_ST <= ST3 ;END IF;
Q <= "1001" ;
WHEN OTHERS => C_ST <= ST0;
END CASE;
END IF;
END PROCESS;
END behav;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -