实验八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建立一个文件。编写的文件名与实体名一致,点击File/Save as以“.vhd”为扩展名存盘文件。VHDL设计源代码如下:
2、按照实验箱上FPGA的芯片名更改编程芯片的设置。操作是点击Assign/Device,选取芯片的类型。建议选“Altera的EPF10K20TI144_4”
3、编译与调试。确定源代码文件为当前工程文件,点击Complier进行文件编译。编译结果显示正确,即编译成功。
4、波形仿真及验证。在编译成功后,点击Waveform开始设计波形。点击“insert the node”,按照程序所述插入A,B,C,D,clk,clR,LD,ENP,ENT,QA,QB,QC,QD,RCO14个节点(A,B,C,D,clk,clR,LD,ENP,ENT为输入节点,QA,QB,QC,QD,RCO为输出节点)。根据逻辑功能表设置输入节点的波形,完成相应功能,点击保存按钮保存。然后进行功能仿真,选择菜单Processing->Generate Functional Netlist命令产生功能仿真网表,选择菜单Assignments-->Setting,在右侧的Simulation mode下拉列表中选择Functional,完成设置;选择菜单中的Processing->Start Simulation启动功能仿真,查看仿真波形图。
5、时序仿真。
首先进行全编译,编译成功后,选择菜单Assignments->Settings命令,可以选择时序仿真或功能,。
6、FPGA芯片编程及验证。
(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为任意状态,进行同步清零状态,所以qabcd的值为0000。
2,将abcd置数为0001,clk处于上升沿时,LDN为0,CLR为1,使能端ENP,ENT为任意状态,进行同步置数。则QABCD的结果为0001。字符串常量长度计算方法
3,clk处于任意状态,CLR,LDN为1时,使能端ENP为0,ENT为1.保持,由上图可看出QABCD 继续保持为0001.
4,clk处于任意状态,CLR,LDN为1时,使能端ENP为任意值,ENT为1.保持,且RCO=0,由上图可看出QABCD继续保持为0001.RCO为0.
5,clk处于上升沿时,LDN为1,CLR为1,使能端ENP,ENT都为1,开始计数。则QABCD 的结果为从0001开始计数。加到15时重新计数。
3、时序仿真
a)时序仿真过程及仿真结果
b)结果分析及结论
由图示可知,清零时有时序延迟。属正常现象。
4、Programming芯片编程
a)芯片编程过程
管脚分配:
b)编程芯片FPGA验证结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论