• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

Moore状态机和序列检测器设计VHDL代码Quartus仿真

10/11 08:30
269
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2411141QQ1422.doc

共1个文件

名称: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

  • 2-2411141QQ1422.doc
    下载

相关推荐