序列检测器的设计VHDL代码Quartus仿真

名称:序列检测器的设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

VHDL语言编写一个序列检测器,该序列检测器用于检测一组由二进制码组成的脉冲序列信号,当序列检测器连续收到这组串行二进制码后与检测器中预先设置的码(11100101)相同,则输出1,否则输出0。由于这种检测的关键在于正确码的收到必须是连续的,在检测过程中,任何一位不相等都将导致回到初始状态重新开始检测。

端口信息为:

clk:时钟输入端;din:待检测的数据输入端;clr:清零端

dout:数据输出端,输出1表示接收到了正确序列,输出0表示没接收到正确序列。

设计具体要求:

1)各模块采用文本方法编辑该序列检测器,语言采用VHDL语言,检查编辑并编译,仿真验证。

2)采用层次化文件设计该序列检测器,检查编辑并编译进行波形仿真,观察输出波形,验证是否满足设计要求。


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. 状态图

5. 仿真图


部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
--序列检测
ENTITY Sequence_detect IS
   PORT (
      clk          : IN STD_LOGIC;--时钟输入端
      din          : IN STD_LOGIC;--待检测的数据输入端
      clr          : IN STD_LOGIC;--清零端
      dout         : OUT STD_LOGIC--数据输出端
   );
END Sequence_detect;
ARCHITECTURE trans OF Sequence_detect IS
   type state_type is
      (
      s_idel       ,
      s_d1         ,
      s_d11        ,
      s_d111       ,
      s_d1110      ,
      s_d11100     ,
      s_d111001    ,
      s_d1110010   ,
      s_d11100101  
   );
   SIGNAL state :state_type;
BEGIN
   
   PROCESS (clk, clr)
   BEGIN
      IF (clr = '1') THEN
         state <= s_idel;
      ELSIF (clk'EVENT AND clk = '1') THEN
         CASE state IS
            WHEN s_idel =>--初始状态
               IF (din = '1') THEN
                  state <= s_d1;
               END IF;
            WHEN s_d1 =>--检测1
               IF (din = '1') THEN
                  state <= s_d11;
               ELSE
                  state <= s_idel;
               END IF;
            WHEN s_d11 =>--检测11
               IF (din = '1') THEN
                  state <= s_d111;
               ELSE
                  state <= s_idel;
               END IF;
            WHEN s_d111 =>--检测111
               IF (din = '1') THEN
                  state <= s_d111;
               ELSE
                  state <= s_d1110;
               END IF;

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 序列检测器的设计VHDL代码Quartus仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员