4位二进制计数器实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理
实验报告
院系:
专业:
班级:
学号:
姓名:
指导老师:
2014年11月20日
实验一 4位二进制计数器实验
一、实验环境
1. Windows 2000 或 Windows XP
2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台,排线若干。
二、实验目的
1、熟悉VHDL 语言的编写。
2、验证计数器的计数功能。
三、实验要求
本实验要求设计一个4位二进制计数器。要求在时钟脉冲的作用下,完成计数功能,能在输出端看到0-9,A-F 的数据显示。(其次要求下载到实验版实现显示)
四、实验原理
计数器是一种用来实现计数功能的时序部件,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS 触发器、T 触发器、D 触发器及JK 触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。
计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等,其最基本的分类如下:
计数器的种类⎪⎪⎪⎪⎪⎪⎩
⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧进制计数器十进制计数器二进制计数器进制可逆计数器减法计数器
加法计数器功能异步计数器同步计数器结构N 、、、321
下面对同步二进制加法计数器做一些介绍。
同步计数器中,所有触发器的CP 端是相连的,CP 的每一个触发沿都会使所有的触发器状态更新。因此不能使用T′触发器。应控制触发器的输入端,即将
触发器接成T 触发器。只有当低位向高位进位时(即低位全1时再加1),令高位触发器的T=1,触发器翻转,计数加1。
例如由JK 触发器组成的4位同步二进制加法计数器,令其用下降沿触发。下面分析它的工作原理。
①输出方程
n n n n Q Q Q Q CQ 0123=
②驱动方程
⎪⎪⎩⎪⎪⎨⎧========n n n n n n Q Q Q K J Q Q K J Q K J K J 0
12330
122011001 ③状态方程
本实验中要求用VHDL 语言设计同步4位二进制计数器,令其上升沿触发。
五、实验步骤
(一)顶层VHDL 文件设计
1、创建工程和编辑设计文件
(1)创建一个工程
(2)输入源程序。
a 、新建一个VHDL 项目文件。
打开QuartusII ,选择菜单“File ”→“New ”,在New 窗中的“ Design Files ”中选择编译文件的语言类型,选“VHDL File ”。
b 、然后在VHDL 文本编译窗中键入VHDL 程序。VHDL 语言的程序代码如下: LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY test1 IS
PORT ( CLK:IN STD_LOGIC;
CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END test1;
ARCHITECTURE HEHA V OF test1 IS
BEGIN
PROCESS(CLK)
V ARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF CLK'EVENT AND CLK='1' THEN
CQI := CQI+1;
END IF;
CQ<=CQI;
END PROCESS;
END HEHA V;
其中,CLK是时钟信号,CQ是4位数据输出端。每当检测到CLK出现一个上升沿时,计数器就自加1并输出结果。
c、键入程序后,点击保存,选择保存名:test。
2、编译文件
3、波形仿真:观察仿真结果,对比输入与输出之间的逻辑关系是否符合电路的逻辑功能。
4位二进制计数器相应的时序波形图
波形分析:
如图所示,时钟信号clk每经过一个下降沿,计数器输出加1,达到计数器的效果。当计数器输出达到1111(2)即为十进制数15(10)时,时钟下一个下降沿输出变为0,如此形成四位二进制计数器。
六、实验总结
本次实验让我初步了解了使用VHDL语言进行FPGA设计的过程,并且利用了DE2-115开发板验证了四位二进制计数器设计的正确性,是一次非常有意义的上机实践。