加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

含异步清0和同步使能的4位加法计数器(1)

(2010-01-10 15:08:38)
标签:

vhdl语言

锁存器

加法计数器

教育

1一、实验目的:

学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL技术。

二、原理说明:

图2.1是一含计数使能、异步复位和计数值并行预置功能4位加法计数器,例2.1是其VHDL描述。由图2-1所示,

 4位锁存器;

rst是异步清0信号,高电平有效;

clk是锁存信号;

D[3..0]是4位数据输入端。

ENA是使能信号,当ENA为'1'时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为'0'时将"0000"加载于锁存器。

三、实验内容:

1.    建CNT4B的工程(project)

在QUARTUSII软件下创建一工程,工程名为CNT4B,芯片名为EP1C3T144,选择FPGA目标器件,根据DE2的平台情况,选择cyclone II系列的EP2C35F672C6,注意工程路径不要放到安装路径;

2.    设计half_adder的VHDL模块

新建VHDL语言文件,输入如下半加器VHDL语言源程序,并存盘为CNT4B.vhd;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT4B IS

  PORT (CLK : IN STD_LOGIC;

        RST : IN STD_LOGIC;

        ENA : IN STD_LOGIC; 

CLK_1,RST_1,ENA_1 : OUT STD_LOGIC;  --for the test    

OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

        COUT : OUT STD_LOGIC);

END CNT4B;

ARCHITECTURE behav OF CNT4B IS

   SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);

 BEGIN

PROCESS ( CLK, RST, ENA)

        BEGIN

         IF RST = '0' THEN 

              CQI <= "0000" ;

              OUTY <= "0000" ;

              COUT <='0' ;

           ELSIF CLK'EVENT AND CLK = '1' THEN

             IF ENA = '1' THEN  CQI <= CQI + 1;                  

                 COUT <= CQI(0) AND CQI(1) AND CQI(2) AND CQI(3);

             END IF;

         END IF;

            OUTY <= CQI ;           

        END PROCESS P_REG1 ;

        CLK_1 <= CLK;

       RST_1 <= RST;

       ENA_1 <= ENA;

END  behav;

3.   编辑测试用波形文件

4.    进行仿真

(1)设置仿真器进行功能仿真:http://s9/bmiddle/6364d55bx7cca27688f98&690

(2)设置仿真器进行时序仿真: http://s3/bmiddle/6364d55bx7cca27b4ded2&690

 

5.    锁引脚

(1)由assignments->assignment editor,打开引脚锁定对话框,按下表进行锁定http://s4/bmiddle/6364d55bx7cca28012fe3&690

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有