使用VHDL实现序列检测器,带仿真。
序列检测器的原理是通过状态机实现对某一个特定序列进行检测,以达到序列检测的目的,序列的长度可以自定义,序列长度决定状态机的长度。
本设计包括,序列产生模块、序列检测模块、数码管显示模块。
状态机代码设计如下:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
use IEEE.std_logic_arith.all;
entity xulie is
port(
CLK: in STD_LOGIC;
Din: in STD_LOGIC;
CLR : in STD_LOGIC;
xulie_data:in STD_LOGIC_VECTOR(7 DOWNTO 0);
counter1:out STD_LOGIC_VECTOR(3 DOWNTO 0);
counter2:out STD_LOGIC_VECTOR(3 DOWNTO 0);
counter3:out STD_LOGIC_VECTOR(3 DOWNTO 0);
AB : out STD_LOGIC_VECTOR(3 downto 0)
);
end xulie;
architecture BEHAV of xulie is
signal Q : inTEGER range 0 to 8;
signal D : STD_LOG