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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.

相关文档
最新文档