异步清零和同步时钟使能的4位加法计数器 实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
异步清零和同步时钟使能的4位加法计数器
一、实验目的:
学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
二、实验原理
本试验中所要设计的计数器,由4位带异步清零的加法计数器和一个4位锁存器组成。其中,rst是异步清零信号,高电平有效;clk是计数时钟,同时也是锁存信号;ENA为计数器输出使能控制。当ENA为‘1’时,加法计数器的输出值加载于锁存器的数据端,;当ENA为‘0’时锁存器输出为高阻态。当计数器输出“1111”时,进位信号COUT为“1”。
三、实验内容
1)画出该计数器的实体框图0
2)用VHDL语言完成上述计数器的行为级设计。
------------------------------------------------------------------------------------------------------- 程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT4 IS
PORT (RST,CLK,ENA:IN STD_LOGIC;
COUT: OUT STD_LOGIC;
OUTY :OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END CNT4;
ARCHITECTURE behv OF CNT4 IS
BEGIN
PROCESS (RST,ENA,CLK)
VARIABLE CQI :STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST='1' THEN CQI :=(OTHERS =>'0');
ELSIF CLK'EVENT AND CLK='1' THEN
IF ENA ='1' THEN
IF CQI < 15 THEN CQI:=CQI+1;
ELSE CQI :=(OTHERS =>'0');
END IF;
END IF;
END IF;
IF CQI =15 THEN COUT<='1';
ELSE COUT <='0';
END IF;
OUTY <=CQI;
END PROCESS;
END behv;
3)用QuartusII对上述设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。
--------------------------------------------------------------------------------------------------
仿真波形:
引脚锁定:
信号旧试验箱新试验箱No.5
管脚号连接的器件管脚号连接的器件clk 43 Clk1 153 CLK2
rst 35 开关2 234 键2
ena 30 开关1 233 键1
Outy(3) 29 LED12 1 LED1
Outy(2) 28 LED11 2 LED2
Outy(1) 27 LED10 3 LED3
Outy(0) 25 LED9 4 LED4
cout 23 LED7 6 LED6
实验结果
RST拨到高电平时,计数器清0,拨到低电平时可以计数。ENA使能端为高电平时计数器工作,为低电平时置数。当计数器工作时,数码管依次显示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,满位时LED灯闪亮一下,然后数码管自动清0.