含异步清零和同步加载的十进制加法计数器的设计

2020-02-22 14:18

实验一 设计含异步复位和同步加载功能的加法计数器

一、实验目的

学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。

二、实验原理

在Quartus II 上对源程序进行编辑、编译、综合、适配、仿真。说明源程序各语句的作用,详细描述其功能特点,给出其所有信号的时序仿真波形。RST为异步清零信号,高电平有效;CLK是锁存信号;EN为计数使能信号,LOAD为加载控制信号,DATA为预置数。当时钟信号CLK、加载控制信号LOAD、复位信号RST或时钟使能信号EN中任一信号发生变化,都将启动进程语句PROCESS。此时如果RST为‘0’,将对计数器清零,即复位,这项操作是独立于CLK的,因而称异步。

三、实验仪器

(1)配套计算机及Quartus II 软件

四、实验步骤

(1)完成含异步清零和同步使能的加法计数器的VHDL描述,并对其进行波形仿真,确定结果正确。

五、 VHDL仿真实验

(1)建立文件夹E:\\alteral\\edashiyan\\che3-20,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。

图1 利用New Project Wizard创建工程CNT10

(2) 打开文本编辑。NEW→VHDL File→相应的输入源程序代码→存盘为CNT10.vhd.。

图2 选择编辑文件类型

源程序代码如下: LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS

PORT (CLK,EN,RST,LOAD: IN STD_LOGIC;

DATA: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT: OUT STD_LOGIC ); END;

ARCHITECTURE behav OF CNT10 IS BEGIN

PROCESS(CLK,RST,EN,LOAD)

VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

IF RST='0' THEN Q:=(OTHERS=>'0');

ELSIF CLK'EVENT AND CLK='1' THEN IF EN='1' THEN

IF (LOAD='0') THEN Q:=DATA;ELSE IF Q<9 THEN Q:=Q+1; ELSE Q:=(others=>'0'); END IF; END IF; END IF; END IF;

IF Q=\ ELSE COUT<='0'; END IF; DOUT<=Q;

END PROCESS; END behav;

(3)综合运行,检查设计是否正确。

图3 全程编译无错后的报告信息

(4)生成symbol。

图4 生成symbol

(5)建立波形编辑文件进行功能仿真,仿真结果如下图所示,在脉冲上升 沿出现时,只要满足RST=1,EN=1,计数器就开始计数。

图5 设置时钟CLK的周期

图6 仿真波形输出报告

(6)查看RTL电路。选择Tools->Netlist Viewers->RTL Viewers命令,即HDL的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:

图7 RTL电路图


含异步清零和同步加载的十进制加法计数器的设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2010年高考文科数学(湖南)卷含答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: