收藏 分销(赏)

实验三序列信号发生器与检测器设计.doc

上传人:可**** 文档编号:963186 上传时间:2024-04-09 格式:DOC 页数:6 大小:106.50KB 下载积分:10 金币
下载 相关 举报
实验三序列信号发生器与检测器设计.doc_第1页
第1页 / 共6页
实验三序列信号发生器与检测器设计.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
实验三 序列信号发生器与检测器设计 一、实验目的 1.学习一般有限状态机的设计; 2.实现串行序列的设计。 二、设计要求 1. 先设计0111010011011010序列信号发生器; 2. 再设计一个序列信号检测器,若系统检测到串行序列11010则输出为“1”,否则输出为“0”,并对其进行仿真和硬件测试。 三、实验设备 PC机,Quartueⅱ软件,实验箱 四、实验原理 1、序列信号发生器 CNT 0000 0001 0010 0011 0100 0101 0110 0111 ZOUT 0 1 1 1 0 1 0 0 CNT 1000 1001 1010 1011 1100 1101 1110 1111 ZOUT 1 1 0 1 1 0 1 0 复位信号CLRN。当CLRN=0时,使CNT=0000,当CLRN=1时,不影响程序运行,每来一个CLK脉冲CNT加一。 2、序列信号检测器 状态转移图: 五、实验步骤 1、信号发生器 1) 建立工作库文件夹,输入设计项目VHDL代码,如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY XLSIGNAL16_1 IS PORT( CLK,CLRN:IN STD_LOGIC; ZOUT:OUT STD_LOGIC); END XLSIGNAL16_1; ARCHITECTURE one OF XLSIGNAL16_1 IS SIGNAL CNT:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL ZREG:STD_LOGIC; BEGIN PROCESS(CLK,CLRN) BEGIN IF(CLRN='0')THEN CNT<="0000";ELSE IF(CLK'EVENT AND CLK='1')THEN CNT<=CNT+'1'; END IF; END IF; END PROCESS; PROCESS(CNT) BEGIN CASE CNT IS WHEN"0000"=>ZREG<='1'; WHEN"0001"=>ZREG<='1'; WHEN"0010"=>ZREG<='1'; WHEN"0011"=>ZREG<='0'; WHEN"0100"=>ZREG<='0'; WHEN"0101"=>ZREG<='1'; WHEN"0110"=>ZREG<='0'; WHEN"0111"=>ZREG<='1'; WHEN"1000"=>ZREG<='0'; WHEN"1001"=>ZREG<='1'; WHEN"1010"=>ZREG<='0'; WHEN"1011"=>ZREG<='0'; WHEN"1100"=>ZREG<='1'; WHEN"1101"=>ZREG<='0'; WHEN"1110"=>ZREG<='1'; WHEN"1111"=>ZREG<='1'; WHEN OTHERS=>ZREG<='0'; END CASE; END PROCESS; ZOUT<=ZREG; END one; 2)对其进行波形仿真,如下图: 3)将其转换成可调用元件如图: 2、信号检测器 1)建立工作库文件夹,输入设计项目VHDL代码,如下: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SCHK IS   PORT(DIN, CLK, CLR  : IN STD_LOGIC;         ss : OUT STD_LOGIC_VECTOR END SCHK; ARCHITECTURE behav OF SCHK IS     SIGNAL Q : INTEGER RANGE 0 TO 5 ;     SIGNAL D : STD_LOGIC_VECTOR(5 DOWNTO 0);    BEGIN     D <= "10010"  ;   PROCESS( CLK, CLR )   BEGIN   IF CLR = '1' THEN    Q <= 0 ;   ELSIF  CLK'EVENT AND CLK='1' THEN   CASE Q IS   WHEN 0=>  IF DIN = D(4) THEN Q <= 1 ; ELSE Q <= 0 ; END IF ;   WHEN 1=>  IF DIN = D(3) THEN Q <= 2 ; ELSE Q <= 1 ; END IF ;   WHEN 2=>  IF DIN = D(2) THEN Q <= 3 ; ELSE Q <= 1 ; END IF ;   WHEN 3=>  IF DIN = D(1) THEN Q <= 4 ; ELSE Q <= 0 ; END IF ;   WHEN 4=>  IF DIN = D(0) THEN Q <= 5 ; ELSE Q <= 1 ; END IF ;    WHEN OTHERS =>  Q <= 0 ;   END CASE ;     END IF ;   END PROCESS ;   PROCESS( Q )                                   BEGIN       IF Q = 5  THEN  ss <= "1" ;           ELSE              ss <= "0" ;           END IF ;   END PROCESS ; END behav ; 3)将其转换成可调用元件如图: 3.序列信号检测器顶层文件 1)调用序列信号发生器和序列信号检测器元件,建立工作库文件夹,输入设计项目原理图如下图: 2)对总体进行波形仿真,如下图: 4.管脚邦定 六、实验心得 1.首先用VHDL语言设计序列信号发生器和序列信号检测器模块。 2 、为了使设计简化,顶层文件采用原理图法,直接将两个模块连接起来。 3、作检测器时要先画出其状态转移图,否则很容易出错。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服