实验8:4位二进制74163计数器的设计 湖南大学数字逻辑
中秋节简介-准确的近义词
实验八
4位二进制74163计数器的设计
一、实验目的
熟悉QuartusⅡ仿真软件的基本操作,并用VHDL语言设计一个4位二进制74163计数
器。
二、实验内容
用VHDL语言设计由边沿触发式D触发器构成的74x163四位二进制计数
器,并
进行仿真与分析
三、实验原理
文字分析:4位同步二进制加法计数
器的工作原理是指当时钟信号clk的上升沿
到来时,且复位信号clr低电平有效时,就把计数器的状
态清0。
在clr复位信号无效(即此时高电平有效)的前提下,当clk的上升沿到来时,
如果计数器原态是15,计数器回到0态,否则计数器的状态将加1
逻辑框图:
逻辑功能表
四、实验方法与步骤
实验方法:
采用基于FPGA进行数字逻辑电路设计的方法。
采用的软件工具是QuartusII软件仿真平台,采用的硬件平台是Altera
EPF10K20TI144_4
的FPGA试验箱。
实验步骤:
1、
编写源代码。打开QuartusⅡ软件平台,点击File中得New建立一个文件。编写的文件
名与
实体名一致,点击FileSave as以“.vhd”为扩展名存盘文件。VHDL设计源代码如下:
2、按照实验箱上FPGA的芯片名更改编程芯片的设置。操作是点击Ass
ignDevice,选取芯片
的类型。建议选“Altera的EPF10K20TI144_4”
3、编译与调试。确定源代码文件为当前工程文件,点击Complier进行文件编译。编译结果显示正确,即编译成功。
4、波形仿真及验证。在编译成功后,点击Waveform开始设计波形。点击“insert
the node”,
按照程序所述插入A,B,C,D,clk,clR,LD,ENP,ENT,Q
A,QB,QC,QD,RCO14个节点
(A,B,C,D,clk,clR,LD,ENP,ENT
为输入节点,QA,QB,QC,QD,RCO为输出节点)。根据逻辑功能表
设置输入节点的波形,完
成相应功能,点击保存按钮保存。
然后进行功能仿真,选择菜
单Processing->Ge
nerate Functional Netlist命令产生功能仿真网表,选择菜单
Assign
ments-->Setting,在右侧的Simulation
mode下拉列表中选择Functional,完
成设置;选择菜单中的
Processing->Start Simulation启动功能仿真,查看仿真波
形图。
5、时序仿真。
首先进行全编译,编译成功后,
选择菜单Assignments-
>Settings命令,可以选择时序仿
真或功能,。
6、FPGA芯片编程及验证。 <
br>(1)分配管脚:assignment—>Pins在Location中选择合适的输入输出管脚并进
行编译。
(2)下载验证:Tools->Programmer进入下载窗口Hardware
Setup
—>ByteBlaster->Start->OK
(3)初始化电路,根据设置好的管脚连接实验电路板,完成数据测试。
五、实验结果与分析
1、 编译过程
a) 编译过程、调试结果
b)
结果分析及结论
文件编译结果正确,可继续进行下一步。
2、 功能仿真
a)功能仿真过程及仿真结果
c) 结果分析及结论
如上图所示 1,在clk处于上升沿时,clr设置为0,LDN,ENP,ENT为任意状态,进行同步清零状态,<
br>所以qabcd的值为0000。
2,将abcd置数为0001,clk处于上升沿时,LD
N为0,CLR为1,使能端ENP,ENT为任意状
态,进行同步置数。则QABCD的结果为000
1。
3,clk处于任意状态,CLR,LDN为1时,使能端ENP为0,ENT为1.保持,由上
图可看出QABCD
继续保持为0001.
4,clk处于任意状态,CLR,LDN为1时
,使能端ENP为任意值,ENT为1.保持,且RCO=0,由
上图可看出QABCD继续保持为为0
.
5,clk处于上升沿时,LDN为1,CLR为1,使能端ENP,ENT都为1,开始计数。则
QABCD
的结果为从0001开始计数。加到15时重新计数。
3、 时序仿真
a) 时序仿真过程及仿真结果
b) 结果分析及结论
由图示可知,清零时有时序延迟。属正常现象。
4、
Programming芯片编程
a) 芯片编程过程
管脚分配:
b) 编程芯片FPGA验证结果
c)结果分析与结论
第一张图为置数和保持,输出信号为0001;
第2,3,4张图都为计数过程中抓拍下来的图。计数到1111后清零,再重新计数。
六、实验结论
1,实验的结论
74163二进制计数器,根据逻辑
功能表设置输入节点的信号,然后根据仿真结果可知实验成
功。先置数为0001,然后保持,再进行计
数,一直加到15后清零。即从0000一直加到1111
后再重新计数,实验结果成功,
2,实验的心得
这是我做的最认真的一次实验了,本来是拍了一段计数的视频的,但是由于本
人的技术问题,
没法在word中插入视频。实验过程中通过74163的逻辑功能表的编译对计数器的
原理有了
进一步的认识。功能仿真通过对照逻辑功能表已经没有太大的问题,这次对我来说比较有难度的部分是不太会分配管脚,虽然看上去和容易,但是在不是很了解原理的情况下再去做下
载就有点
不知所云。现在对下载的过程也算比较熟悉了。所以通过这几次实验学到了不仅功
能仿真要做正确,下载
时分配管脚也要尽力做好。通过8次实验,对数字实验设计过程已经
比较熟悉了,对quatus软件的
操作也比较熟悉了,受益匪浅。