名称:Moore状态机和序列检测器设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
Moore状态机和序列检测器
Moore状态机(要求状态至少为5个,即s0、s1、s2、s3、s4等)
输出只和当前状态有关而与输入无关,则称为摩尔(Moore)状态机;
序列信号检测器设计(10101010)
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
序列检测设计文档.doc
1.工程文件
2.程序文件
3.程序编译
4.状态图
RTL图
5.仿真图
1.工程文件
2.程序文件
3.程序编译
RTL图
4.仿真图
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --Moore状态机(要求状态至少为5个,即s0、s1、s2、s3、s4等) ENTITY Moore IS PORT ( clk : IN STD_LOGIC;--时钟 reset : IN STD_LOGIC;--复位 start : IN STD_LOGIC;--开始 data : OUT STD_LOGIC--输出 ); END Moore; ARCHITECTURE behave OF Moore IS TYPE state_type is (s0,s1,s2,s3,s4);--状态为5个,即s0、s1、s2、s3、s4 SIGNAL state : state_type := s0; BEGIN --状态机 PROCESS (clk, reset) BEGIN IF (reset = '1') THEN--复位 state <= s0; ELSIF (clk'EVENT AND clk = '1') THEN CASE state IS WHEN s0 => IF (start = '1') THEN state <= s1;--状态转移 ELSE state IF (start = '1') THEN state <= s2;--状态转移 ELSE state IF (start = '1') THEN state <= s3;--状态转移 ELSE state IF (start = '1') THEN state <= s4;--状态转移 ELSE state state END CASE; END IF; END PROCESS;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1364
阅读全文
368