EDA技术与VHDL(实验)-实验9 序列检测器的设计.docVIP

  • 44
  • 0
  • 约1.74千字
  • 约 3页
  • 2021-10-31 发布于湖北
  • 举报

EDA技术与VHDL(实验)-实验9 序列检测器的设计.doc

PAGE PAGE 3 实验9 序列检测器的设计 一、实验目的 学习较复杂的数字系统设计方法。 二、 实验条件 1、PC机一台。 2、开发软件:Max+plusⅡ。 3、实验设备:GW48-CK EDA实验开发系统。 4、选用芯片:ACEX系列EP1K30TC144-3。 三、实验原理:序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,这在数字通信领域有广泛的应用。今要求设计一个8位的序列检测器,在检测过程中,任何一位不相等都将回到初始状态重新开始检测;当一串待检测的串行数据进入检测器后,若此数在每一位的连续检测中都与预置的密码数相同,则输出“A”,否则仍然输出“B”。 四、实验内容 1、参照图1进行序列检测器的设计,并编写相关VHDL程序。 图1 8位序列检测器逻辑图 2、硬件逻辑验证。选择实验电路结构图NO.8,由5.2节的实验电路结构图NO.8和图6.3确定引脚的锁定。待检测串行序列数输入DIN接PIO10(左移,最高位在前),清零信号CLR接PIO8,工作时钟CLK接PIO9,预置位密码D[7..0]接PIO7~PIO0,指示输出AB[3..0]接PIO39~PIO36(显示于数码管6)。 四、实验报告 根据以上的要求,将实验项目设计,仿真和验证结果写入实验报告。 五、参考资料 1、序列检测器参考程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY CHK IS PORT(DIN:IN STD_LOGIC; --串行输入数据位 CLK,CLR:IN STD_LOGIC; --工作时钟/复位信号 D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); --8位待检测预置数 AB:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); --检测结果输出 END ENTITY CHK; ARCHITECTURE ART OF CHK IS SIGNAL Q :INTEGER RANGE 0 TO 8; BEGIN PROCESS ( CLK,CLR) IS BEGIN IF CLR= 1 THEN Q=0; ELSIF CLKEVENT AND CLK= 1 THEN --时钟到来时,判断并处理当前输入的位 CASE Q IS WHEN 0 = IF DIN =D(7) THEN Q= 1 ;ELSE Q=0;END IF; WHEN 1 = IF DIN =D(6) THEN Q= 2 ;ELSE Q=0;END IF; WHEN 2 = IF DIN =D(5) THEN Q= 3 ;ELSE Q=0;END IF; WHEN 3= IF DIN =D(4) THEN Q= 4 ;ELSE Q=0;END IF; WHEN 4 = IF DIN =D(3) THEN Q= 5 ;ELSE Q=0;END IF; WHEN 5 = IF DIN =D(2) THEN Q= 6 ;ELSE Q=0;END IF; WHEN 6 = IF DIN =D(1) THEN Q= 7 ;ELSE Q=0;END IF; WHEN 7 = IF DIN =D(0) THEN Q= 8 ;ELSE Q=0;END IF; WHEN OTHERS = Q=0; END CASE; END IF ; END PROCESS; PROCESS(Q) IS --检测结果判断输出 BEGIN IF Q= 8 THEN AB= 1010; --序列数检测正确,输出“A” ELSE AB= 1011; --序列数检测错误,输出“B” END IF ; END PROCESS; END ARCHITECTURE ART; 2、管脚设定 。 图2 参考管脚设置图

文档评论(0)

1亿VIP精品文档

相关文档