实验三序列信号发生器与序列信号检测器的设计 、实验目的:用VHDL语言实现序列信号发生器和检测器的设计, 并对其进行仿真和硬件测试。 、实验要求: 1、利用VHDL语言设计一个8位任意序列的序列发生器,编译定 义引脚并下载到实验箱中进行验证。 2、利用VHDL语言设计一个8位任意序列的序检测器,显示检测 值,编译定义引脚并下载到实验箱中进行验证 、实验步骤 1、利用ⅴHDL语言设计一个具有串行输出和并行输出的任意序列 的8位序列发生器,编译并生产可调用的模块 、调用步骤1产生的模块生成定层原理图文件,选用工作模式4。 输入CLK定义为按键7,串行输出DoUT定义为串行口输出, 观测按键7按下时串行口输出的发光二极管情况。 3、利用VHDL语言设计一个可以检测任意序列的序列检测器,检 测长度为8位码元,编译并生产可调用的模块 4、调用步骤1和步骤3产生的模块生成定层原理图文件,选用 工作模式5。输入时钟信号CLK定义为CLK2(1Hz),并行输 出信号DP[7..0]定义为PIo15~PIo8,检测码元输入 SETB[7..0]分别对应按键8~按键1,检测输出AB[3..0] 采用数码管1显示检测值,编译并下载到实验箱中进行验证
实验三 序列信号发生器与序列信号检测器的设计 一、实验目的:用 VHDL 语言实现序列信号发生器和检测器的设计, 并对其进行仿真和硬件测试。 二、实验要求: 1、利用 VHDL 语言设计一个 8 位任意序列的序列发生器,编译定 义引脚并下载到实验箱中进行验证。 2、利用 VHDL 语言设计一个 8 位任意序列的序检测器,显示检测 值,编译定义引脚并下载到实验箱中进行验证。 三、实验步骤: 1、利用 VHDL 语言设计一个具有串行输出和并行输出的任意序列 的 8 位序列发生器,编译并生产可调用的模块。 2、调用步骤 1 产生的模块生成定层原理图文件,选用工作模式 4。 输入 CLK 定义为按键 7,串行输出 DOUT 定义为串行口输出, 观测按键 7 按下时串行口输出的发光二极管情况。 3、利用 VHDL 语言设计一个可以检测任意序列的序列检测器,检 测长度为 8 位码元,编译并生产可调用的模块。 4、调用步骤 1 和步骤 3 产生的模块生成定层原理图文件,选用 工作模式 5。输入时钟信号 CLK 定义为 CLK2(1Hz),并行输 出信号 DP[7..0] 定义为 PIO15~PIO8 ,检测码元输入 SETB[7..0]分别对应按键 8~按键 1,检测输出 AB[3..0] 采用数码管 1 显示检测值,编译并下载到实验箱中进行验证
序列发生器参考程序 工工 BRARY工EEE; USE IEEE STD LOGIC 1164.ALL ENTITY DSM IS PORT( CLK: IN STD LOGIC; DP: OUT STD LOGIC VECTOR(7 dOWNTo 0)i DOUT: OUT STD LOGIC ) i END DSM: ARCHITECTURE A OF DSM IS SIGNAL ST: STD LOGIC VECTOR(7 DOWNTo 0)i SIGNAL M: INTEGER RANGE 0 To 7; BEGIN ST<="01110010"; DP<=STi PROCESS (CLK) BEGIN IF CLK EVENT AND CLK=1 THEN M<=M-1 END工F; END PROCESS DOUT<=ST(M)i END Ai
序列发生器参考程序: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DSM IS PORT( CLK: IN STD_LOGIC; DP:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT:OUT STD_LOGIC ); END DSM; ARCHITECTURE A OF DSM IS SIGNAL ST:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL M:INTEGER RANGE 0 TO 7; BEGIN ST<="01110010"; DP<=ST; PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN M<=M-1; END IF; END PROCESS; DOUT<=ST(M); END A;
序列监测器参考程序: L工 BRARY工EEE USE IEEE STD LOGIC 1164.All; ENTITY SCHK IS PORT( DIN, CLK: IN STD LOGICi SETB: IN STD LOGIC VECTOR (7 DOWNTo 0)i AB: OUT STD LOGIC VECTOR(3 DOWNTO 0)) END SCHK ARCHITECTURE A OF SCHK IS SIGNAL Q: INTEGER RANGE 0 to 8i BEGIN PROCESS(CLK) BEGIN IF CLK EVENT AND CLK=1 THEN CASE C工s WheN 0=> IF DIN=SETB (7)TheN Q IF DIN=SeTb(6) then Q IF DIN=SETB(5)Then Q IF DIN=SETB (4)then Q IF DIN=SETB(3)then Q IF DIN=SETB(2)then Q IF DIN=SETB(1)theN Q IF DIN=SETB(0)Then Q<=8 i ElSE Q <=0; END IFi WHEN OTHERS = Q<=0; END CASEi END工F; END PROCESSi PROCESS (Q)
序列监测器参考程序: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SCHK IS PORT( DIN,CLK: IN STD_LOGIC; SETB:IN STD_LOGIC_VECTOR(7 DOWNTO 0); AB:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END SCHK; ARCHITECTURE A OF SCHK IS SIGNAL Q:INTEGER RANGE 0 TO 8; BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN CASE Q IS WHEN 0=> IF DIN=SETB(7) THEN Q IF DIN=SETB(6) THEN Q IF DIN=SETB(5) THEN Q IF DIN=SETB(4) THEN Q IF DIN=SETB(3) THEN Q IF DIN=SETB(2) THEN Q IF DIN=SETB(1) THEN Q IF DIN=SETB(0) THEN Q Q<=0; END CASE; END IF; END PROCESS; PROCESS(Q)
BEGIN CASE C工s WHEN0=>ABABABABABABABABAB NUlLi END CASE; END PROCESSi END Ai
BEGIN CASE Q IS WHEN 0=> AB AB AB AB AB AB AB AB AB NULL; END CASE; END PROCESS; END A;