当前位置:文档之家› 异步清零和同步时钟使能的4位加法计数器 实验报告

异步清零和同步时钟使能的4位加法计数器 实验报告

异步清零和同步时钟使能的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.。

相关主题