eda 序列检测器 vhdl
实验内容
设计一个序列检测器,要求检测的序列长度为 8 位,实验中用拨挡 开关的 K1~K8 来作为外部二进制码流的输入,在 FPGA 内部则是逐个比较。同时用按 键模块的 S1 来作为一个启动检测信号,每按下 S1 一次,检测器检测一次,如果 K1~ K8 输入的序列与 VHDL 设计时期望的序列一致,则认为检测到一个正确的序列,否则 如果有一个不同,则认为没有检测到正确的序列。另外为了便于观察,序列检测结果用 一个 LED 显示,本实验中用 LED 模块的 LED1_8 来显示,如果检测到正确的序列,则 LED 亮起,否则 LED 熄灭;用 LED1_1~LED1_4 来指示错误码的个数。错误的个数以 二进制显示。另外就是序列检测时钟信号的输入,本实验选择时钟模块的 100Hz 信号
代码
下面展示一些 内联代码片
。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
--------------------------------------------------------------------
entity exp2 is
port( Clk : in std_logic; --时钟输入
K : in std_logic_vector(7 downto 0); --序列输入
Start : in std_logic; --输入:启动检测